Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2288 → Rev 2289

/MKLiveView/v1.0/MainWindow.xaml.cs
File deleted
/MKLiveView/v1.0/App.config
File deleted
\ No newline at end of file
/MKLiveView/v1.0/MKLiveView.csproj
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Windows/System.Data.SQLite.DLL
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/MySql.Data.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/Mono.Security.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/System.Data.SQLite.Linq.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/Mono.Data.Sqlite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/System.Data.SQLite.Linq.xml
File deleted
/MKLiveView/v1.0/References/Windows/NET4/Npgsql.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/x64/System.Data.SQLite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/x64/System.Data.SQLite.xml
File deleted
/MKLiveView/v1.0/References/Windows/NET4/System.Data.SQLite.EF6.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/System.Data.SQLite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/MySql.Data.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/Mono.Security.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/System.Data.SQLite.Linq.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/System.Data.SQLite.EF6.xml
File deleted
/MKLiveView/v1.0/References/Windows/NET4/Mono.Data.Sqlite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/NET4/System.Data.SQLite.xml
File deleted
/MKLiveView/v1.0/References/Windows/System.Data.SQLite.XML
File deleted
/MKLiveView/v1.0/References/Windows/System.Data.SQLite.Linq.xml
File deleted
/MKLiveView/v1.0/References/Windows/Npgsql.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/x64/System.Data.SQLite.DLL
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Windows/x64/System.Data.SQLite.XML
File deleted
/MKLiveView/v1.0/References/Etc/Microsoft.Maps.MapControl.WPF.xml
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Etc/AvalonDock.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Etc/DotSpatial.Projections.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Etc/AvalonDock.Themes.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Etc/AvalonDock.xml
File deleted
/MKLiveView/v1.0/References/Etc/DotSpatial.Projections.xml
File deleted
/MKLiveView/v1.0/References/Etc/Microsoft.Maps.MapControl.WPF.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Silverlight/Microsoft.Maps.MapControl.xml
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Silverlight/Microsoft.Maps.MapControl.Common.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Silverlight/Microsoft.Maps.MapControl.Common.xml
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Silverlight/Microsoft.Maps.MapControl.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/locate.js
File deleted
/MKLiveView/v1.0/References/Web/LeafletJS/leaflet.css
File deleted
/MKLiveView/v1.0/References/Web/LeafletJS/images/spinner.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/images/layers.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/images/marker-icon@2x.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/images/locate.svg
File deleted
/MKLiveView/v1.0/References/Web/LeafletJS/images/locate_active.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/images/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/images/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/images/locate.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/Web/LeafletJS/proj4leaflet.js
File deleted
/MKLiveView/v1.0/References/Web/LeafletJS/leaflet.js
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Web/LeafletJS/proj4js-compressed.js
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Web/LeafletJS/locate-ie.css
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Web/LeafletJS/mobile.css
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/Web/LeafletJS/leaflet-ie.css
File deleted
/MKLiveView/v1.0/References/Web/LeafletJS/locate.css
File deleted
\ No newline at end of file
/MKLiveView/v1.0/References/CompactFramework/System.Data.SQLite.xml
File deleted
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.Windows.Forms.XML
File deleted
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.xml
File deleted
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.Configuration.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/System.Data.SqlClient.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/System.Data.SqlServerCe.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/SQLite.Interop.084.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.Drawing.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/System.Data.SQLite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.Configuration.xml
File deleted
/MKLiveView/v1.0/References/CompactFramework/System.Data.SqlClient.xml
File deleted
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.Windows.Forms.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/References/CompactFramework/OpenNETCF.Drawing.xml
File deleted
/MKLiveView/v1.0/App.xaml
File deleted
/MKLiveView/v1.0/MKLiveView.sln
File deleted
/MKLiveView/v1.0/App.xaml.cs
File deleted
/MKLiveView/v1.0/SerialPortCtrl.xaml
File deleted
/MKLiveView/v1.0/MainWindow.xaml
File deleted
/MKLiveView/v1.0/Voice/CriticalBattery.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Voice/LowBattery.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/flighttime.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Tacho.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/WiFi.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Data_W.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Fullscreen.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/WiFi_G.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/RC.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/FromCopterToPc.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/FromPcToCopter.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Satellite1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/height.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Home1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/EarthMag_R.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Altitude.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Consumption.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Data_G.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/WiFi_R.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/RestoreScreen.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Blitz.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/WiFi_W.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/RC1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Satellite.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/EarthMag.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/height1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Images/Data_R.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Properties/AssemblyInfo.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/Properties/VersionInfo.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/Properties/Resources.resx
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/Properties/Resources.Designer.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Core.csproj
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapSurferTerrainProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetOsmProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapQuestSatteliteProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapQuestProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenSeaMapHybridProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapQuestHybridProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenCycleLandscapeMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenCycleTransportMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapSurferProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenCycleMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreet4UMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Yandex/YandexMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Yandex/YandexHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Yandex/YandexSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Terrain_Base_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Shaded_Relief_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Topo_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_Imagery_World_2D_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_ShadedRelief_World_2D_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_Topo_US_2D_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Street_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_StreetMap_World_2D_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Physical_MapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechTuristMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechHistoryMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Etc/LatviaMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Etc/TurkeyMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Etc/SwedenMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Etc/MapBenderWMSProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Etc/SpainMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Etc/WikiMapiaMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Etc/CloudMadeMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechHistoryMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechTuristWinterMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechGeographicMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechTuristMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleTerrainMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/Korea/GoogleKoreaSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/Korea/GoogleKoreaMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/Korea/GoogleKoreaHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaTerrainMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviTerrainMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaOrtoFotoOldMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaOrtoFotoMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaTOP50.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaHybridOldMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/Lithuania3dMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaReliefMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Bing/BingMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Bing/BingHybridMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Bing/BingSatelliteMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Yahoo/YahooMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Yahoo/YahooHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/Yahoo/YahooSatelliteMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/NearMap/NearSatelliteMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/NearMap/NearMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/NearMap/NearHybridMapProvider.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.MapProviders/GMapProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/TileMatrix.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/LoadTask.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/Cache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/FastReaderWriterLock.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/Stuff.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/CacheQueueItem.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/RawTile.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/Core.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/SocksHttpWebRequest.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/ProxySocket.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/SocksHandler.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/ProxyException.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/AuthNone.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/AuthMethod.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/Socks4Handler.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/Socks5Handler.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/IAsyncProxyResult.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/AuthUserPass.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/TileHttpHost.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/DrawTile.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/Tile.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/FastResourceLock.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/PureImage.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Internals/KiberTileCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/MercatorProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/SWEREF99_TMProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/MapsLTProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/MapsLVProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/MapyCZProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/PlateCarreeProjectionPergo.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/MercatorProjectionYandex.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/PlateCarreeProjectionDarbAe.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/PlateCarreeProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.Projections/MapsLTReliefProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/bin/Release/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/bin/Debug/GMap.NET.Core.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/bin/Debug/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.CacheProviders/MSSQLPureImageCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.CacheProviders/SQLitePureImageCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.CacheProviders/PostgreSQLPureImageCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.CacheProviders/MySQLPureImageCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.CacheProviders/MSSQLCEPureImageCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET.CacheProviders/MemoryCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/DirectionsProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/MapType.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/GSize.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/MouseWheelZoomType.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/RenderMode.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/LanguageType.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/GpsLog.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/PointLatLng.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/MapRoute.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/Delegates.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/gpx.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/Placemark.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/RectLatLng.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/Extensions.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/GPoint.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/Interface.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/StatusCodes.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/ZipStorer.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/Singleton.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/PureImageCache.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/RoutingProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/GRect.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/AccessMode.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/GMaps.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/PureProjection.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/GeocodingProvider.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/GDirections.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/GMap.NET/SizeLatLng.cs
File deleted
/MKLiveView/v1.0/GMap.NET.Core/sn.snk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/System.Data.SQLite.x64.NET4.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/System.Data.SQLite.x86.NET2.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/red-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/yellow-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/System.Data.SQLite.x86.NET4.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/mm_20_red.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/mm_20_yellow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/drag_cross_67_16.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/blue-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/mm_20_shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/mm_20_blue.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/marker.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/green-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/System.Data.SQLite.x64.NET2.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/shadow50.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/Resources/mm_20_green.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Release/GMap.NET.Core.csproj.GenerateResource.Cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Release/GMap.NET.Core.csproj.FileListAbsolute.txt
File deleted
/MKLiveView/v1.0/GMap.NET.Core/obj/Release/GMap.NET.Properties.Resources.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Release/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/GMap.NET.Core.csprojResolveAssemblyReference.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/GMap.NET.Core.csproj.GenerateResource.Cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/GMap.NET.Core.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/GMap.NET.Core.csproj.FileListAbsolute.txt
File deleted
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/GMap.NET.Properties.Resources.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.Core/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/sn.snk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.csproj.FileListAbsolute.txt
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation_MarkupCompile.cache
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.g.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation/TilePrefetcher.g.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation/TilePrefetcher.baml
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation/TilePrefetcher.g.i.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation_MarkupCompile.i.cache
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.g.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/TilePrefetcher.g.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/CustomMarkers/CustomMarkerCopter.g.i.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/TilePrefetcher.baml
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/GMapCustomMarkers/CustomMarkerCopter.g.i.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/TilePrefetcher.g.i.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation_MarkupCompile.i.cache
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.csproj.FileListAbsolute.txt
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation_MarkupCompile.cache
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/Properties/AssemblyInfo.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation.csproj
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/TilePrefetcher.xaml
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapRoute.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/TilePrefetcher.xaml.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapControl.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapMarker.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapImage.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapPolygon.cs
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/Release/GMap.NET.WindowsPresentation.XML
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/Release/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/Release/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/x86/Release/GMap.NET.WindowsPresentation.XML
File deleted
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.WindowsPresentation.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.Core.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/ArtificialHorizon/Heading1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/ArtificialHorizon/ArtificialHorizon.xaml.cs
File deleted
/MKLiveView/v1.0/ArtificialHorizon/wings.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/ArtificialHorizon/Scale.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/ArtificialHorizon/Home.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/ArtificialHorizon/horizon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/ArtificialHorizon/ArtificialHorizon.xaml
File deleted
/MKLiveView/v1.0/ArtificialHorizon/Heading.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/MK.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/MKLiveView.csproj.user
File deleted
\ No newline at end of file
/MKLiveView/v1.0/FlightControllerMessage.cs
File deleted
/MKLiveView/v1.0/Waypoints.cs
File deleted
/MKLiveView/v1.0/Properties/Resources.resx
File deleted
\ No newline at end of file
/MKLiveView/v1.0/Properties/Resources.Designer.cs
File deleted
/MKLiveView/v1.0/Properties/Settings.settings
File deleted
\ No newline at end of file
/MKLiveView/v1.0/Properties/AssemblyInfo.cs
File deleted
/MKLiveView/v1.0/Properties/Settings.Designer.cs
File deleted
/MKLiveView/v1.0/SerialPortCtrl.xaml.cs
File deleted
/MKLiveView/v1.0/GMapCustomMarkers/copter.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMapCustomMarkers/Copter1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMapCustomMarkers/Copter_Shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMapCustomMarkers/CustomMarkerHome.xaml
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMapCustomMarkers/CustomMarkerCopter.xaml
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMapCustomMarkers/CustomMarkerHome.xaml.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/GMapCustomMarkers/home.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMapCustomMarkers/home1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/GMapCustomMarkers/CustomMarkerCopter.xaml.cs
File deleted
\ No newline at end of file
/MKLiveView/v1.0/Source/App.config
0,0 → 1,6
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
/MKLiveView/v1.0/Source/App.xaml
0,0 → 1,9
<Application x:Class="MKLiveView.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MKLiveView"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
/MKLiveView/v1.0/Source/App.xaml.cs
0,0 → 1,17
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
 
namespace MKLiveView
{
/// <summary>
/// Interaktionslogik für "App.xaml"
/// </summary>
public partial class App : Application
{
}
}
/MKLiveView/v1.0/Source/ArtificialHorizon/ArtificialHorizon.xaml
0,0 → 1,68
<UserControl x:Class="MKLiveView.ArtificialHorizon.ArtificialHorizon"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:MKLiveView.ArtificialHorizon"
mc:Ignorable="d" Height="240" Width="240"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Grid>
<Image Margin="0,0,0,0">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup>
<DrawingGroup>
<DrawingGroup>
<DrawingGroup.Transform>
<TransformGroup>
<RotateTransform x:Name="RollAngle" Angle="{Binding Roll, UpdateSourceTrigger=PropertyChanged}" CenterX="120" CenterY="120" />
<TranslateTransform x:Name="PitchAngle" Y="{Binding Pitch, UpdateSourceTrigger=PropertyChanged}" />
</TransformGroup>
</DrawingGroup.Transform>
 
<ImageDrawing ImageSource="horizon.png" Rect="0,0,240,240" />
</DrawingGroup>
 
<DrawingGroup.ClipGeometry>
<EllipseGeometry Center="120,120" RadiusX="60" RadiusY="60">
</EllipseGeometry>
</DrawingGroup.ClipGeometry>
</DrawingGroup>
 
<DrawingGroup>
<ImageDrawing ImageSource="Scale.png" Rect="0,0,240,240" />
<ImageDrawing ImageSource="Wings.png" Rect="0,0,240,240" />
</DrawingGroup>
<DrawingGroup>
<DrawingGroup>
<ImageDrawing ImageSource="Home.png" Rect="0,0,240,240" />
 
<DrawingGroup.Transform>
<TransformGroup>
<RotateTransform x:Name="RotateHome" Angle="0" CenterX="120" CenterY="120" />
</TransformGroup>
</DrawingGroup.Transform>
</DrawingGroup>
<DrawingGroup>
<ImageDrawing ImageSource="Heading1.png" Rect="0,0,240,240" />
 
<DrawingGroup.Transform>
<TransformGroup>
<RotateTransform x:Name="Rotate" Angle="0" CenterX="120" CenterY="120" />
</TransformGroup>
</DrawingGroup.Transform>
</DrawingGroup>
 
</DrawingGroup>
<DrawingGroup.ClipGeometry>
<EllipseGeometry Center="120,120" RadiusX="120" RadiusY="120">
</EllipseGeometry>
</DrawingGroup.ClipGeometry>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Grid>
</UserControl>
/MKLiveView/v1.0/Source/ArtificialHorizon/ArtificialHorizon.xaml.cs
0,0 → 1,95
///============================================================================
/// MKLiveView
/// Copyright © 2016 Steph
///
///This file is part of MKLiveView.
///
///MKLiveView is free software: you can redistribute it and/or modify
///it under the terms of the GNU General Public License as published by
///the Free Software Foundation, either version 3 of the License, or
///(at your option) any later version.
///
///MKLiveView is distributed in the hope that it will be useful,
///but WITHOUT ANY WARRANTY; without even the implied warranty of
///MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
///GNU General Public License for more details.
///
///You should have received a copy of the GNU General Public License
///along with cssRcon. If not, see <http://www.gnu.org/licenses/>.
///
///============================================================================
///Credits:
///
/// The code of the artificial horizon is an idea of 'Anders' and was discussed here:
/// http://stackoverflow.com/questions/6161351/creating-an-advanced-hud
///
///============================================================================
/// DISCLAIMER
/// ===========
///
/// I created this software with my best knowledge and belief.
///
/// IN NO EVENT, UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING,
/// SHALL I, OR ANY PERSON BE LIABLE FOR ANY LOSS, EXPENSE OR DAMAGE,
/// OF ANY TYPE OR NATURE ARISING OUT OF THE USE OF,
/// OR INABILITY TO USE THIS SOFTWARE OR PROGRAM,
/// INCLUDING, BUT NOT LIMITED TO, CLAIMS, SUITS OR CAUSES OF ACTION
/// INVOLVING ALLEGED INFRINGEMENT OF COPYRIGHTS,
/// PATENTS, TRADEMARKS, TRADE SECRETS, OR UNFAIR COMPETITION.
///
/// This means: use it & have fun (but @ Your own risk...)
/// ===========================================================================
 
using System.Windows.Controls;
 
namespace MKLiveView.ArtificialHorizon
{
/// <summary>
/// Interaktionslogik für ArtificialHorizon.xaml
/// </summary>
public partial class ArtificialHorizon : UserControl
{
double roll = 0;
double pitch = 0;
public ArtificialHorizon()
{
InitializeComponent();
}
 
public double Roll
{
set
{
roll = -value;
RollAngle.Angle = roll;
}
get
{
return -roll;
}
}
 
public double Pitch
{
set
{
pitch = -value * (double)60 / (double)90;
PitchAngle.Y = pitch;
}
get
{
return -pitch * 90 / 60;
}
}
public double rotate
{
set { Rotate.Angle = value; }
get { return Rotate.Angle; }
}
public double rotateHome
{
set { RotateHome.Angle = value; }
get { return RotateHome.Angle; }
}
}
}
/MKLiveView/v1.0/Source/ArtificialHorizon/Heading.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/ArtificialHorizon/Heading1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/ArtificialHorizon/Home.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/ArtificialHorizon/Scale.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/ArtificialHorizon/horizon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/ArtificialHorizon/wings.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/FlightControllerMessage.cs
0,0 → 1,156
///============================================================================
/// This file is part of MIKROKOPTER SERIAL CONTROL TUTORIAL.
/// by JOHN C. MACDONALD at Ira A. Fulton College of Engineering and Technology
/// (http://hdl.lib.byu.edu/1877/2747)
/// (http://hdl.lib.byu.edu/1877/2748)
///============================================================================
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
 
namespace MKLiveView
{
static class FlightControllerMessage
{
public static byte[] CreateMessage(char commandId, byte address)
{
return CreateMessage(commandId, address, new byte[0]);
}
 
public static byte[] CreateMessage(char commandId, byte address, byte[] data)
{
List<byte> result = new List<byte>();
//Encoding.ASCII.GetBytes(command);
// add header
result.Add(Convert.ToByte('#'));
result.Add((byte)(Convert.ToByte('a') + address));
result.Add(Convert.ToByte(commandId));
 
// add data
result.AddRange(Encode64(data));
// add footer
result.AddRange(getCRCBytes(result.ToArray()));
result.Add(Convert.ToByte('\r'));
 
return result.ToArray();
}
 
public static void ParseMessage(byte[] message, out char commandId, out byte address, out byte[] data)
{
// Debug.Assert(message.Length >= 6);
if (message.Length >= 6)
{
// header
// '#' == message[0]
byte[] Data = new byte[message.Length - 3];
Array.Copy(message, 0, Data, 0, message.Length - 3);
byte[] crcData = getCRCBytes(Data);
 
if (crcData.Length == 2 && crcData[0] == message[message.Length - 3] && crcData[1] == message[message.Length - 2])
{
 
commandId = Convert.ToChar(message[2]);
address = (byte)(message[1] - Convert.ToByte('a'));
 
// data
data = Decode64(message, 3, message.Length - 6);
}
else
{
commandId = '\0';
address = 255;
data = null;
}
}
else
{
commandId = '\0';
address = 0;
data = null;
}
// footer
// CRC1 == message[message.Length - 3]
// CRC2 == message[message.Length - 2]
// '\r' == message[message.Length - 1]
}
 
public static byte[] Encode64(byte[] data)
{
List<byte> encodedData = new List<byte>();
 
byte a,b,c;
int index = 0;
byte k = Convert.ToByte('=');
 
while (index < data.Length)
{
if (index < data.Length) a = data[index++]; else a = 0;
if (index < data.Length) b = data[index++]; else b = 0;
if (index < data.Length) c = data[index++]; else c = 0;
 
encodedData.Add((byte)(k + (a >> 2)));
encodedData.Add((byte)(k + (((a & 0x03) << 4) | ((b & 0xf0) >> 4))));
encodedData.Add((byte)(k + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6))));
encodedData.Add((byte)(k + ( c & 0x3f)));
}
 
return encodedData.ToArray();
}
 
public static byte[] Decode64(byte[] data, int startIndex, int count)
{
// data should be in chunks of 4 right?
// Debug.Assert(count % 4 == 0);
 
List<byte> decodedData = new List<byte>();
 
byte k = Convert.ToByte('=');
byte a,b,c,d;
byte x,y,z;
int index = startIndex;
 
while (index <= count + startIndex - 4)
{
a = (byte)(data[index++] - k);
b = (byte)(data[index++] - k);
c = (byte)(data[index++] - k);
d = (byte)(data[index++] - k);
 
x = (byte)((a << 2) | (b >> 4));
y = (byte)(((b & 0x0f) << 4) | (c >> 2));
z = (byte)(((c & 0x03) << 6) | d);
 
decodedData.Add(x);
decodedData.Add(y);
decodedData.Add(z);
}
 
return decodedData.ToArray();
}
 
 
// cyclic redundancy check (CRC) or polynomial code checksum used to verify message
// it is an insecure hash function designed to detect accidental changes to raw computer data (wikipedia)
private static byte[] getCRCBytes(byte[] data)
{
byte[] crcBytes = new byte[2];
 
uint tmpCRC = 0;
for(int i = 0; i < data.Length ;i++)
{
tmpCRC += data[i];
}
tmpCRC %= 4096;
crcBytes[0] = (byte)(Convert.ToByte('=') + tmpCRC / 64);
crcBytes[1] = (byte)(Convert.ToByte('=') + tmpCRC % 64);
 
return crcBytes;
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/AccessMode.cs
0,0 → 1,24

namespace GMap.NET
{
/// <summary>
/// tile access mode
/// </summary>
public enum AccessMode
{
/// <summary>
/// access only server
/// </summary>
ServerOnly,
 
/// <summary>
/// access first server and caches localy
/// </summary>
ServerAndCache,
 
/// <summary>
/// access only cache
/// </summary>
CacheOnly,
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/Delegates.cs
0,0 → 1,20

namespace GMap.NET
{
using GMap.NET.MapProviders;
 
public delegate void PositionChanged(PointLatLng point);
 
public delegate void TileLoadComplete(long ElapsedMilliseconds);
public delegate void TileLoadStart();
 
public delegate void TileCacheComplete();
public delegate void TileCacheStart();
public delegate void TileCacheProgress(int tilesLeft);
 
public delegate void MapDrag();
public delegate void MapZoomChanged();
public delegate void MapTypeChanged(GMapProvider type);
 
public delegate void EmptyTileError(int zoom, GPoint pos);
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/DirectionsProvider.cs
0,0 → 1,47

namespace GMap.NET
{
using System.Collections.Generic;
 
/// <summary>
/// directions interface
/// </summary>
interface DirectionsProvider
{
DirectionsStatusCode GetDirections(out GDirections direction, PointLatLng start, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric);
 
DirectionsStatusCode GetDirections(out GDirections direction, string start, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric);
 
/// <summary>
/// service may provide more than one route alternative in the response
/// </summary>
/// <param name="status"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
IEnumerable<GDirections> GetDirections(out DirectionsStatusCode status, string start, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric);
 
/// <summary>
/// service may provide more than one route alternative in the response
/// </summary>
/// <param name="status"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
IEnumerable<GDirections> GetDirections(out DirectionsStatusCode status, PointLatLng start, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric);
 
DirectionsStatusCode GetDirections(out GDirections direction, PointLatLng start, IEnumerable<PointLatLng> wayPoints, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric);
 
DirectionsStatusCode GetDirections(out GDirections direction, string start, IEnumerable<string> wayPoints, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric);
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/Extensions.cs
0,0 → 1,92

namespace GMap.NET
{
using System;
using System.Runtime.Serialization;
using System.Diagnostics;
 
public static class Extensions
{
/// <summary>
/// Retrieves a value from the SerializationInfo of the given type.
/// </summary>
/// <typeparam name="T">The Type that we are attempting to de-serialize.</typeparam>
/// <param name="info">The SerializationInfo.</param>
/// <param name="key">The key of the value we wish to retrieve.</param>
/// <returns>The value if found, otherwise null.</returns>
public static T GetValue<T>(SerializationInfo info, string key) where T : class
{
try
{
// Return the value from the SerializationInfo, casting it to type T.
return info.GetValue(key, typeof(T)) as T;
}
catch(Exception ex)
{
Debug.WriteLine("Extensions.GetValue: " + ex.Message);
return null;
}
}
 
/// <summary>
/// Retrieves a value from the SerializationInfo of the given type.
/// </summary>
/// <typeparam name="T">The Type that we are attempting to de-serialize.</typeparam>
/// <param name="info">The SerializationInfo.</param>
/// <param name="key">The key of the value we wish to retrieve.</param>
/// <param name="defaultValue">The default value if the de-serialized value was null.</param>
/// <returns>The value if found, otherwise the default value.</returns>
public static T GetValue<T>(SerializationInfo info, string key, T defaultValue) where T : class
{
T deserializedValue = GetValue<T>(info, key);
if(deserializedValue != null)
{
return deserializedValue;
}
 
return defaultValue;
}
 
/// <summary>
/// Retrieves a value from the SerializationInfo of the given type for structs.
/// </summary>
/// <typeparam name="T">The Type that we are attempting to de-serialize.</typeparam>
/// <param name="info">The SerializationInfo.</param>
/// <param name="key">The key of the value we wish to retrieve.</param>
/// <param name="defaultValue">The default value if the de-serialized value was null.</param>
/// <returns>The value if found, otherwise the default value.</returns>
public static T GetStruct<T>(SerializationInfo info, string key, T defaultValue) where T : struct
{
try
{
return (T)info.GetValue(key, typeof(T));
}
catch(Exception ex)
{
Debug.WriteLine("Extensions.GetStruct: " + ex.Message);
return defaultValue;
}
}
 
/// <summary>
/// Retrieves a value from the SerializationInfo of the given type for structs.
/// </summary>
/// <typeparam name="T">The Type that we are attempting to de-serialize.</typeparam>
/// <param name="info">The SerializationInfo.</param>
/// <param name="key">The key of the value we wish to retrieve.</param>
/// <param name="defaultValue">The default value if the de-serialized value was null.</param>
/// <returns>The value if found, otherwise the default value.</returns>
public static Nullable<T> GetStruct<T>(SerializationInfo info, string key, Nullable<T> defaultValue) where T : struct
{
try
{
return (Nullable<T>)info.GetValue(key, typeof(Nullable<T>));
}
catch(Exception ex)
{
Debug.WriteLine("Extensions.GetStruct: " + ex.Message);
return defaultValue;
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/GDirections.cs
0,0 → 1,121

namespace GMap.NET
{
using System.Collections.Generic;
 
public class GDirections
{
/// <summary>
/// contains a short textual description for the route, suitable for naming and disambiguating the route from alternatives.
/// </summary>
public string Summary;
 
/// <summary>
/// contains a human-readable representation of the duration.
/// </summary>
public string Duration;
 
/// <summary>
/// contains a value of the duration.
/// </summary>
public uint DurationValue;
 
/// <summary>
/// contains a human-readable representation of the distance, displayed in units as used at the origin
/// (or as overridden within the units parameter in the request), in the language specified in the request.
/// (For example, miles and feet will be used for any origin within the United States.)
/// </summary>
public string Distance;
 
/// <summary>
/// contains a value of the distance.
/// </summary>
public uint DistanceValue;
 
/// <summary>
/// contains the latitude/longitude coordinates of the origin of this leg. Because the Directions API
/// calculates directions between locations by using the nearest transportation option (usually a road)
/// at the start and end points, start_location may be different than the provided origin of this leg if,
/// for example, a road is not near the origin.
/// </summary>
public PointLatLng StartLocation;
 
/// <summary>
/// contains the latitude/longitude coordinates of the given destination of this leg. Because the Directions
/// API calculates directions between locations by using the nearest transportation option (usually a road)
/// at the start and end points, end_location may be different than the provided destination of this leg if,
/// for example, a road is not near the destination.
/// </summary>
public PointLatLng EndLocation;
 
/// <summary>
/// contains the human-readable address (typically a street address) reflecting the start_location of this leg.
/// </summary>
public string StartAddress;
 
/// <summary>
/// contains the human-readable address (typically a street address) reflecting the end_location of this leg.
/// </summary>
public string EndAddress;
 
/// <summary>
/// contains the copyrights text to be displayed for this route. You must handle and display this information yourself.
/// </summary>
public string Copyrights;
 
/// <summary>
/// contains an array of steps denoting information about each separate step of the leg of the journey.
/// </summary>
public List<GDirectionStep> Steps;
 
/// <summary>
/// contains all points of the route
/// </summary>
public List<PointLatLng> Route;
 
public override string ToString()
{
return Summary + " | " + Distance + " | " + Duration;
}
}
 
public struct GDirectionStep
{
public string TravelMode;
 
/// <summary>
/// contains the location of the starting point of this step, as a single set of lat and lng fields.
/// </summary>
public PointLatLng StartLocation;
 
/// <summary>
/// contains the location of the ending point of this step, as a single set of lat and lng fields.
/// </summary>
public PointLatLng EndLocation;
 
/// <summary>
/// contains the typical time required to perform the step, until the next step. This field may be undefined if the duration is unknown.
/// </summary>
public string Duration;
 
/// <summary>
/// contains the distance covered by this step until the next step. This field may be undefined if the distance is unknown.
/// </summary>
public string Distance;
 
/// <summary>
/// contains formatted instructions for this step, presented as an HTML text string.
/// </summary>
public string HtmlInstructions;
 
/// <summary>
/// points of the step
/// </summary>
public List<PointLatLng> Points;
 
public override string ToString()
{
return TravelMode + " | " + Distance + " | " + Duration + " | " + HtmlInstructions;
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/GMaps.cs
0,0 → 1,849

namespace GMap.NET
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Xml;
using System.Xml.Serialization;
using GMap.NET.CacheProviders;
using GMap.NET.Internals;
using GMap.NET.MapProviders;
using System.Reflection;
 
#if PocketPC
using OpenNETCF.ComponentModel;
using OpenNETCF.Threading;
using Thread=OpenNETCF.Threading.Thread2;
#endif
 
/// <summary>
/// maps manager
/// </summary>
public class GMaps : Singleton<GMaps>
{
/// <summary>
/// tile access mode
/// </summary>
public AccessMode Mode = AccessMode.ServerAndCache;
 
/// <summary>
/// is map ussing cache for routing
/// </summary>
public bool UseRouteCache = true;
 
/// <summary>
/// is map using cache for geocoder
/// </summary>
public bool UseGeocoderCache = true;
 
/// <summary>
/// is map using cache for directions
/// </summary>
public bool UseDirectionsCache = true;
 
/// <summary>
/// is map using cache for placemarks
/// </summary>
public bool UsePlacemarkCache = true;
 
/// <summary>
/// is map ussing cache for other url
/// </summary>
public bool UseUrlCache = true;
 
/// <summary>
/// is map using memory cache for tiles
/// </summary>
public bool UseMemoryCache = true;
 
/// <summary>
/// primary cache provider, by default: ultra fast SQLite!
/// </summary>
public PureImageCache PrimaryCache
{
get
{
return Cache.Instance.ImageCache;
}
set
{
Cache.Instance.ImageCache = value;
}
}
 
/// <summary>
/// secondary cache provider, by default: none,
/// use it if you have server in your local network
/// </summary>
public PureImageCache SecondaryCache
{
get
{
return Cache.Instance.ImageCacheSecond;
}
set
{
Cache.Instance.ImageCacheSecond = value;
}
}
 
/// <summary>
/// MemoryCache provider
/// </summary>
public readonly MemoryCache MemoryCache = new MemoryCache();
 
/// <summary>
/// load tiles in random sequence
/// </summary>
public bool ShuffleTilesOnLoad = false;
 
/// <summary>
/// tile queue to cache
/// </summary>
readonly Queue<CacheQueueItem> tileCacheQueue = new Queue<CacheQueueItem>();
 
bool? isRunningOnMono;
 
/// <summary>
/// return true if running on mono
/// </summary>
/// <returns></returns>
public bool IsRunningOnMono
{
get
{
if(!isRunningOnMono.HasValue)
{
try
{
isRunningOnMono = (Type.GetType("Mono.Runtime") != null);
return isRunningOnMono.Value;
}
catch
{
}
}
else
{
return isRunningOnMono.Value;
}
return false;
}
}
 
/// <summary>
/// cache worker
/// </summary>
Thread CacheEngine;
 
internal readonly AutoResetEvent WaitForCache = new AutoResetEvent(false);
 
#if !PocketPC
static GMaps()
{
if (GMapProvider.TileImageProxy == null)
{
try
{
AppDomain d = AppDomain.CurrentDomain;
var AssembliesLoaded = d.GetAssemblies();
 
Assembly l = null;
 
foreach (var a in AssembliesLoaded)
{
if (a.FullName.Contains("GMap.NET.WindowsForms") || a.FullName.Contains("GMap.NET.WindowsPresentation"))
{
l = a;
break;
}
}
 
if (l == null)
{
var jj = Assembly.GetExecutingAssembly().Location;
var hh = Path.GetDirectoryName(jj);
var f1 = hh + Path.DirectorySeparatorChar + "GMap.NET.WindowsForms.dll";
var f2 = hh + Path.DirectorySeparatorChar + "GMap.NET.WindowsPresentation.dll";
if (File.Exists(f1))
{
l = Assembly.LoadFile(f1);
}
else if (File.Exists(f2))
{
l = Assembly.LoadFile(f2);
}
}
 
if (l != null)
{
Type t = null;
 
if (l.FullName.Contains("GMap.NET.WindowsForms"))
{
t = l.GetType("GMap.NET.WindowsForms.GMapImageProxy");
}
else if (l.FullName.Contains("GMap.NET.WindowsPresentation"))
{
t = l.GetType("GMap.NET.WindowsPresentation.GMapImageProxy");
}
 
if (t != null)
{
t.InvokeMember("Enable", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static | BindingFlags.InvokeMethod, null, null, null);
}
}
}
catch (Exception ex)
{
Debug.WriteLine("GMaps, try set TileImageProxy failed: " + ex.Message);
}
}
}
#endif
 
public GMaps()
{
#region singleton check
if(Instance != null)
{
throw (new Exception("You have tried to create a new singleton class where you should have instanced it. Replace your \"new class()\" with \"class.Instance\""));
}
#endregion
 
ServicePointManager.DefaultConnectionLimit = 5;
}
 
#if !PocketPC
/// <summary>
/// triggers dynamic sqlite loading,
/// call this before you use sqlite for other reasons than caching maps
/// </summary>
public void SQLitePing()
{
#if SQLite
#if !MONO
SQLitePureImageCache.Ping();
#endif
#endif
}
#endif
 
#region -- Stuff --
 
#if !PocketPC
 
/// <summary>
/// exports current map cache to GMDB file
/// if file exsist only new records will be added
/// otherwise file will be created and all data exported
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public bool ExportToGMDB(string file)
{
#if SQLite
if(PrimaryCache is SQLitePureImageCache)
{
StringBuilder db = new StringBuilder((PrimaryCache as SQLitePureImageCache).GtileCache);
db.AppendFormat(CultureInfo.InvariantCulture, "{0}{1}Data.gmdb", GMapProvider.LanguageStr, Path.DirectorySeparatorChar);
 
return SQLitePureImageCache.ExportMapDataToDB(db.ToString(), file);
}
#endif
return false;
}
 
/// <summary>
/// imports GMDB file to current map cache
/// only new records will be added
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public bool ImportFromGMDB(string file)
{
#if SQLite
if(PrimaryCache is GMap.NET.CacheProviders.SQLitePureImageCache)
{
StringBuilder db = new StringBuilder((PrimaryCache as SQLitePureImageCache).GtileCache);
db.AppendFormat(CultureInfo.InvariantCulture, "{0}{1}Data.gmdb", GMapProvider.LanguageStr, Path.DirectorySeparatorChar);
 
return SQLitePureImageCache.ExportMapDataToDB(file, db.ToString());
}
#endif
return false;
}
 
#if SQLite
 
/// <summary>
/// optimizes map database, *.gmdb
/// </summary>
/// <param name="file">database file name or null to optimize current user db</param>
/// <returns></returns>
public bool OptimizeMapDb(string file)
{
if(PrimaryCache is GMap.NET.CacheProviders.SQLitePureImageCache)
{
if(string.IsNullOrEmpty(file))
{
StringBuilder db = new StringBuilder((PrimaryCache as SQLitePureImageCache).GtileCache);
db.AppendFormat(CultureInfo.InvariantCulture, "{0}{1}Data.gmdb", GMapProvider.LanguageStr, Path.DirectorySeparatorChar);
 
return SQLitePureImageCache.VacuumDb(db.ToString());
}
else
{
return SQLitePureImageCache.VacuumDb(file);
}
}
 
return false;
}
#endif
 
#endif
 
/// <summary>
/// enqueueens tile to cache
/// </summary>
/// <param name="task"></param>
void EnqueueCacheTask(CacheQueueItem task)
{
lock(tileCacheQueue)
{
if(!tileCacheQueue.Contains(task))
{
Debug.WriteLine("EnqueueCacheTask: " + task);
 
tileCacheQueue.Enqueue(task);
 
if(CacheEngine != null && CacheEngine.IsAlive)
{
WaitForCache.Set();
}
#if PocketPC
else if(CacheEngine == null || CacheEngine.State == ThreadState.Stopped || CacheEngine.State == ThreadState.Unstarted)
#else
else if(CacheEngine == null || CacheEngine.ThreadState == System.Threading.ThreadState.Stopped || CacheEngine.ThreadState == System.Threading.ThreadState.Unstarted)
#endif
{
CacheEngine = null;
CacheEngine = new Thread(new ThreadStart(CacheEngineLoop));
CacheEngine.Name = "CacheEngine";
CacheEngine.IsBackground = false;
CacheEngine.Priority = ThreadPriority.Lowest;
 
abortCacheLoop = false;
CacheEngine.Start();
}
}
}
}
 
volatile bool abortCacheLoop = false;
internal volatile bool noMapInstances = false;
 
public TileCacheComplete OnTileCacheComplete;
public TileCacheStart OnTileCacheStart;
public TileCacheProgress OnTileCacheProgress;
 
/// <summary>
/// immediately stops background tile caching, call it if you want fast exit the process
/// </summary>
public void CancelTileCaching()
{
Debug.WriteLine("CancelTileCaching...");
 
abortCacheLoop = true;
lock(tileCacheQueue)
{
tileCacheQueue.Clear();
WaitForCache.Set();
}
}
 
int readingCache = 0;
volatile bool cacheOnIdleRead = true;
 
/// <summary>
/// delays writing tiles to cache while performing reads
/// </summary>
public bool CacheOnIdleRead
{
get
{
return cacheOnIdleRead;
}
set
{
cacheOnIdleRead = value;
}
}
 
volatile bool boostCacheEngine = false;
 
/// <summary>
/// disables delay between saving tiles into database/cache
/// </summary>
public bool BoostCacheEngine
{
get
{
return boostCacheEngine;
}
set
{
boostCacheEngine = value;
}
}
 
/// <summary>
/// live for cache ;}
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void CacheEngineLoop()
{
Debug.WriteLine("CacheEngine: start");
int left = 0;
 
if(OnTileCacheStart != null)
{
OnTileCacheStart();
}
 
bool startEvent = false;
 
while(!abortCacheLoop)
{
try
{
CacheQueueItem? task = null;
 
lock(tileCacheQueue)
{
left = tileCacheQueue.Count;
if(left > 0)
{
task = tileCacheQueue.Dequeue();
}
}
 
if(task.HasValue)
{
if(startEvent)
{
startEvent = false;
 
if(OnTileCacheStart != null)
{
OnTileCacheStart();
}
}
 
if(OnTileCacheProgress != null)
{
OnTileCacheProgress(left);
}
 
#region -- save --
// check if stream wasn't disposed somehow
if(task.Value.Img != null)
{
Debug.WriteLine("CacheEngine[" + left + "]: storing tile " + task.Value + ", " + task.Value.Img.Length / 1024 + "kB...");
 
if((task.Value.CacheType & CacheUsage.First) == CacheUsage.First && PrimaryCache != null)
{
if(cacheOnIdleRead)
{
while(Interlocked.Decrement(ref readingCache) > 0)
{
Thread.Sleep(1000);
}
}
PrimaryCache.PutImageToCache(task.Value.Img, task.Value.Tile.Type, task.Value.Tile.Pos, task.Value.Tile.Zoom);
}
 
if((task.Value.CacheType & CacheUsage.Second) == CacheUsage.Second && SecondaryCache != null)
{
if(cacheOnIdleRead)
{
while(Interlocked.Decrement(ref readingCache) > 0)
{
Thread.Sleep(1000);
}
}
SecondaryCache.PutImageToCache(task.Value.Img, task.Value.Tile.Type, task.Value.Tile.Pos, task.Value.Tile.Zoom);
}
 
task.Value.Clear();
 
if(!boostCacheEngine)
{
#if PocketPC
Thread.Sleep(3333);
#else
Thread.Sleep(333);
#endif
}
}
else
{
Debug.WriteLine("CacheEngineLoop: skip, tile disposed to early -> " + task.Value);
}
task = null;
#endregion
}
else
{
if(!startEvent)
{
startEvent = true;
 
if(OnTileCacheComplete != null)
{
OnTileCacheComplete();
}
}
 
if(abortCacheLoop || noMapInstances || !WaitForCache.WaitOne(33333, false) || noMapInstances)
{
break;
}
}
}
#if !PocketPC
catch(AbandonedMutexException)
{
break;
}
#endif
catch(Exception ex)
{
Debug.WriteLine("CacheEngineLoop: " + ex.ToString());
}
}
Debug.WriteLine("CacheEngine: stop");
 
if(!startEvent)
{
if(OnTileCacheComplete != null)
{
OnTileCacheComplete();
}
}
}
 
class StringWriterExt : StringWriter
{
public StringWriterExt(IFormatProvider info)
: base(info)
{
 
}
 
public override Encoding Encoding
{
get
{
return Encoding.UTF8;
}
}
}
 
public string SerializeGPX(gpxType targetInstance)
{
string retVal = string.Empty;
using(StringWriterExt writer = new StringWriterExt(CultureInfo.InvariantCulture))
{
XmlSerializer serializer = new XmlSerializer(targetInstance.GetType());
serializer.Serialize(writer, targetInstance);
retVal = writer.ToString();
}
return retVal;
}
 
public gpxType DeserializeGPX(string objectXml)
{
gpxType retVal = null;
 
using(StringReader stringReader = new StringReader(objectXml))
{
XmlTextReader xmlReader = new XmlTextReader(stringReader);
 
XmlSerializer serializer = new XmlSerializer(typeof(gpxType));
retVal = serializer.Deserialize(xmlReader) as gpxType;
 
xmlReader.Close();
}
return retVal;
}
 
/// <summary>
/// exports gps data to gpx file
/// </summary>
/// <param name="log">gps data</param>
/// <param name="gpxFile">file to export</param>
/// <returns>true if success</returns>
public bool ExportGPX(IEnumerable<List<GpsLog>> log, string gpxFile)
{
try
{
gpxType gpx = new gpxType();
{
gpx.creator = "GMap.NET - http://greatmaps.codeplex.com";
gpx.trk = new trkType[1];
gpx.trk[0] = new trkType();
}
 
var sessions = new List<List<GpsLog>>(log);
gpx.trk[0].trkseg = new trksegType[sessions.Count];
 
int sesid = 0;
 
foreach(var session in sessions)
{
trksegType seg = new trksegType();
{
seg.trkpt = new wptType[session.Count];
}
gpx.trk[0].trkseg[sesid++] = seg;
 
for(int i = 0; i < session.Count; i++)
{
var point = session[i];
 
wptType t = new wptType();
{
#region -- set values --
t.lat = new decimal(point.Position.Lat);
t.lon = new decimal(point.Position.Lng);
 
t.time = point.TimeUTC;
t.timeSpecified = true;
 
if(point.FixType != FixType.Unknown)
{
t.fix = (point.FixType == FixType.XyD ? fixType.Item2d : fixType.Item3d);
t.fixSpecified = true;
}
 
if(point.SeaLevelAltitude.HasValue)
{
t.ele = new decimal(point.SeaLevelAltitude.Value);
t.eleSpecified = true;
}
 
if(point.EllipsoidAltitude.HasValue)
{
t.geoidheight = new decimal(point.EllipsoidAltitude.Value);
t.geoidheightSpecified = true;
}
 
if(point.VerticalDilutionOfPrecision.HasValue)
{
t.vdopSpecified = true;
t.vdop = new decimal(point.VerticalDilutionOfPrecision.Value);
}
 
if(point.HorizontalDilutionOfPrecision.HasValue)
{
t.hdopSpecified = true;
t.hdop = new decimal(point.HorizontalDilutionOfPrecision.Value);
}
 
if(point.PositionDilutionOfPrecision.HasValue)
{
t.pdopSpecified = true;
t.pdop = new decimal(point.PositionDilutionOfPrecision.Value);
}
 
if(point.SatelliteCount.HasValue)
{
t.sat = point.SatelliteCount.Value.ToString();
}
#endregion
}
seg.trkpt[i] = t;
}
}
sessions.Clear();
 
#if !PocketPC
File.WriteAllText(gpxFile, SerializeGPX(gpx), Encoding.UTF8);
#else
using(StreamWriter w = File.CreateText(gpxFile))
{
w.Write(SerializeGPX(gpx));
w.Close();
}
#endif
}
catch(Exception ex)
{
Debug.WriteLine("ExportGPX: " + ex.ToString());
return false;
}
return true;
}
 
#endregion
 
/// <summary>
/// gets image from tile server
/// </summary>
/// <param name="provider"></param>
/// <param name="pos"></param>
/// <param name="zoom"></param>
/// <returns></returns>
public PureImage GetImageFrom(GMapProvider provider, GPoint pos, int zoom, out Exception result)
{
PureImage ret = null;
result = null;
 
try
{
var rtile = new RawTile(provider.DbId, pos, zoom);
 
// let't check memmory first
if(UseMemoryCache)
{
var m = MemoryCache.GetTileFromMemoryCache(rtile);
if(m != null)
{
if(GMapProvider.TileImageProxy != null)
{
ret = GMapProvider.TileImageProxy.FromArray(m);
if(ret == null)
{
#if DEBUG
Debug.WriteLine("Image disposed in MemoryCache o.O, should never happen ;} " + new RawTile(provider.DbId, pos, zoom));
if(Debugger.IsAttached)
{
Debugger.Break();
}
#endif
m = null;
}
}
}
}
 
if(ret == null)
{
if(Mode != AccessMode.ServerOnly && !provider.BypassCache)
{
if(PrimaryCache != null)
{
// hold writer for 5s
if(cacheOnIdleRead)
{
Interlocked.Exchange(ref readingCache, 5);
}
 
ret = PrimaryCache.GetImageFromCache(provider.DbId, pos, zoom);
if(ret != null)
{
if(UseMemoryCache)
{
MemoryCache.AddTileToMemoryCache(rtile, ret.Data.GetBuffer());
}
return ret;
}
}
 
if(SecondaryCache != null)
{
// hold writer for 5s
if(cacheOnIdleRead)
{
Interlocked.Exchange(ref readingCache, 5);
}
 
ret = SecondaryCache.GetImageFromCache(provider.DbId, pos, zoom);
if(ret != null)
{
if(UseMemoryCache)
{
MemoryCache.AddTileToMemoryCache(rtile, ret.Data.GetBuffer());
}
EnqueueCacheTask(new CacheQueueItem(rtile, ret.Data.GetBuffer(), CacheUsage.First));
return ret;
}
}
}
 
if(Mode != AccessMode.CacheOnly)
{
ret = provider.GetTileImage(pos, zoom);
{
// Enqueue Cache
if(ret != null)
{
if(UseMemoryCache)
{
MemoryCache.AddTileToMemoryCache(rtile, ret.Data.GetBuffer());
}
 
if (Mode != AccessMode.ServerOnly && !provider.BypassCache)
{
EnqueueCacheTask(new CacheQueueItem(rtile, ret.Data.GetBuffer(), CacheUsage.Both));
}
}
}
}
else
{
result = noDataException;
}
}
}
catch(Exception ex)
{
result = ex;
ret = null;
Debug.WriteLine("GetImageFrom: " + ex.ToString());
}
 
return ret;
}
 
readonly Exception noDataException = new Exception("No data in local tile cache...");
 
#if !PocketPC
TileHttpHost host;
 
/// <summary>
/// turns on tile host
/// </summary>
/// <param name="port"></param>
public void EnableTileHost(int port)
{
if(host == null)
{
host = new TileHttpHost();
}
host.Start(port);
}
 
/// <summary>
/// turns off tile host
/// </summary>
/// <param name="port"></param>
public void DisableTileHost()
{
if (host != null)
{
host.Stop();
}
}
#endif
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/GPoint.cs
0,0 → 1,160
 
namespace GMap.NET
{
using System.Globalization;
using System;
using System.Collections.Generic;
 
/// <summary>
/// the point ;}
/// </summary>
[Serializable]
public struct GPoint
{
public static readonly GPoint Empty = new GPoint();
 
private long x;
private long y;
 
public GPoint(long x, long y)
{
this.x = x;
this.y = y;
}
 
public GPoint(GSize sz)
{
this.x = sz.Width;
this.y = sz.Height;
}
 
//public GPoint(int dw)
//{
// this.x = (short) LOWORD(dw);
// this.y = (short) HIWORD(dw);
//}
 
public bool IsEmpty
{
get
{
return x == 0 && y == 0;
}
}
 
public long X
{
get
{
return x;
}
set
{
x = value;
}
}
 
public long Y
{
get
{
return y;
}
set
{
y = value;
}
}
 
public static explicit operator GSize(GPoint p)
{
return new GSize(p.X, p.Y);
}
 
public static GPoint operator+(GPoint pt, GSize sz)
{
return Add(pt, sz);
}
 
public static GPoint operator-(GPoint pt, GSize sz)
{
return Subtract(pt, sz);
}
 
public static bool operator==(GPoint left, GPoint right)
{
return left.X == right.X && left.Y == right.Y;
}
 
public static bool operator!=(GPoint left, GPoint right)
{
return !(left == right);
}
 
public static GPoint Add(GPoint pt, GSize sz)
{
return new GPoint(pt.X + sz.Width, pt.Y + sz.Height);
}
 
public static GPoint Subtract(GPoint pt, GSize sz)
{
return new GPoint(pt.X - sz.Width, pt.Y - sz.Height);
}
 
public override bool Equals(object obj)
{
if(!(obj is GPoint))
return false;
GPoint comp = (GPoint) obj;
return comp.X == this.X && comp.Y == this.Y;
}
 
public override int GetHashCode()
{
return (int)(x ^ y);
}
 
public void Offset(long dx, long dy)
{
X += dx;
Y += dy;
}
 
public void Offset(GPoint p)
{
Offset(p.X, p.Y);
}
public void OffsetNegative(GPoint p)
{
Offset(-p.X, -p.Y);
}
 
public override string ToString()
{
return "{X=" + X.ToString(CultureInfo.CurrentCulture) + ",Y=" + Y.ToString(CultureInfo.CurrentCulture) + "}";
}
 
//private static int HIWORD(int n)
//{
// return (n >> 16) & 0xffff;
//}
 
//private static int LOWORD(int n)
//{
// return n & 0xffff;
//}
}
 
internal class GPointComparer : IEqualityComparer<GPoint>
{
public bool Equals(GPoint x, GPoint y)
{
return x.X == y.X && x.Y == y.Y;
}
 
public int GetHashCode(GPoint obj)
{
return obj.GetHashCode();
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/GRect.cs
0,0 → 1,324
 
namespace GMap.NET
{
using System;
using System.Globalization;
 
/// <summary>
/// the rect
/// </summary>
public struct GRect
{
public static readonly GRect Empty = new GRect();
 
private long x;
private long y;
private long width;
private long height;
 
public GRect(long x, long y, long width, long height)
{
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
 
public GRect(GPoint location, GSize size)
{
this.x = location.X;
this.y = location.Y;
this.width = size.Width;
this.height = size.Height;
}
 
public static GRect FromLTRB(int left, int top, int right, int bottom)
{
return new GRect(left,
top,
right - left,
bottom - top);
}
 
public GPoint Location
{
get
{
return new GPoint(X, Y);
}
set
{
X = value.X;
Y = value.Y;
}
}
 
public GPoint RightBottom
{
get
{
return new GPoint(Right, Bottom);
}
}
 
public GPoint RightTop
{
get
{
return new GPoint(Right, Top);
}
}
 
public GPoint LeftBottom
{
get
{
return new GPoint(Left, Bottom);
}
}
 
public GSize Size
{
get
{
return new GSize(Width, Height);
}
set
{
this.Width = value.Width;
this.Height = value.Height;
}
}
 
public long X
{
get
{
return x;
}
set
{
x = value;
}
}
 
public long Y
{
get
{
return y;
}
set
{
y = value;
}
}
 
public long Width
{
get
{
return width;
}
set
{
width = value;
}
}
 
public long Height
{
get
{
return height;
}
set
{
height = value;
}
}
 
public long Left
{
get
{
return X;
}
}
 
public long Top
{
get
{
return Y;
}
}
 
public long Right
{
get
{
return X + Width;
}
}
 
public long Bottom
{
get
{
return Y + Height;
}
}
 
public bool IsEmpty
{
get
{
return height == 0 && width == 0 && x == 0 && y == 0;
}
}
 
public override bool Equals(object obj)
{
if(!(obj is GRect))
return false;
 
GRect comp = (GRect) obj;
 
return (comp.X == this.X) &&
(comp.Y == this.Y) &&
(comp.Width == this.Width) &&
(comp.Height == this.Height);
}
 
public static bool operator==(GRect left, GRect right)
{
return (left.X == right.X
&& left.Y == right.Y
&& left.Width == right.Width
&& left.Height == right.Height);
}
 
public static bool operator!=(GRect left, GRect right)
{
return !(left == right);
}
 
public bool Contains(long x, long y)
{
return this.X <= x &&
x < this.X + this.Width &&
this.Y <= y &&
y < this.Y + this.Height;
}
 
public bool Contains(GPoint pt)
{
return Contains(pt.X, pt.Y);
}
 
public bool Contains(GRect rect)
{
return (this.X <= rect.X) &&
((rect.X + rect.Width) <= (this.X + this.Width)) &&
(this.Y <= rect.Y) &&
((rect.Y + rect.Height) <= (this.Y + this.Height));
}
 
public override int GetHashCode()
{
if(this.IsEmpty)
{
return 0;
}
return (int)(((this.X ^ ((this.Y << 13) | (this.Y >> 0x13))) ^ ((this.Width << 0x1a) | (this.Width >> 6))) ^ ((this.Height << 7) | (this.Height >> 0x19)));
}
 
public void Inflate(long width, long height)
{
this.X -= width;
this.Y -= height;
this.Width += 2*width;
this.Height += 2*height;
}
 
public void Inflate(GSize size)
{
Inflate(size.Width, size.Height);
}
 
public static GRect Inflate(GRect rect, long x, long y)
{
GRect r = rect;
r.Inflate(x, y);
return r;
}
 
public void Intersect(GRect rect)
{
GRect result = GRect.Intersect(rect, this);
 
this.X = result.X;
this.Y = result.Y;
this.Width = result.Width;
this.Height = result.Height;
}
 
public static GRect Intersect(GRect a, GRect b)
{
long x1 = Math.Max(a.X, b.X);
long x2 = Math.Min(a.X + a.Width, b.X + b.Width);
long y1 = Math.Max(a.Y, b.Y);
long y2 = Math.Min(a.Y + a.Height, b.Y + b.Height);
 
if(x2 >= x1
&& y2 >= y1)
{
 
return new GRect(x1, y1, x2 - x1, y2 - y1);
}
return GRect.Empty;
}
 
public bool IntersectsWith(GRect rect)
{
return (rect.X < this.X + this.Width) &&
(this.X < (rect.X + rect.Width)) &&
(rect.Y < this.Y + this.Height) &&
(this.Y < rect.Y + rect.Height);
}
 
public static GRect Union(GRect a, GRect b)
{
long x1 = Math.Min(a.X, b.X);
long x2 = Math.Max(a.X + a.Width, b.X + b.Width);
long y1 = Math.Min(a.Y, b.Y);
long y2 = Math.Max(a.Y + a.Height, b.Y + b.Height);
 
return new GRect(x1, y1, x2 - x1, y2 - y1);
}
 
public void Offset(GPoint pos)
{
Offset(pos.X, pos.Y);
}
 
public void OffsetNegative(GPoint pos)
{
Offset(-pos.X, -pos.Y);
}
 
public void Offset(long x, long y)
{
this.X += x;
this.Y += y;
}
 
public override string ToString()
{
return "{X=" + X.ToString(CultureInfo.CurrentCulture) + ",Y=" + Y.ToString(CultureInfo.CurrentCulture) +
",Width=" + Width.ToString(CultureInfo.CurrentCulture) +
",Height=" + Height.ToString(CultureInfo.CurrentCulture) + "}";
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/GSize.cs
0,0 → 1,121
 
namespace GMap.NET
{
using System.Globalization;
 
/// <summary>
/// the size
/// </summary>
public struct GSize
{
public static readonly GSize Empty = new GSize();
 
private long width;
private long height;
 
public GSize(GPoint pt)
{
width = pt.X;
height = pt.Y;
}
 
public GSize(long width, long height)
{
this.width = width;
this.height = height;
}
 
public static GSize operator +(GSize sz1, GSize sz2)
{
return Add(sz1, sz2);
}
 
public static GSize operator -(GSize sz1, GSize sz2)
{
return Subtract(sz1, sz2);
}
 
public static bool operator ==(GSize sz1, GSize sz2)
{
return sz1.Width == sz2.Width && sz1.Height == sz2.Height;
}
 
public static bool operator !=(GSize sz1, GSize sz2)
{
return !(sz1 == sz2);
}
 
public static explicit operator GPoint(GSize size)
{
return new GPoint(size.Width, size.Height);
}
 
public bool IsEmpty
{
get
{
return width == 0 && height == 0;
}
}
 
public long Width
{
get
{
return width;
}
set
{
width = value;
}
}
 
public long Height
{
get
{
return height;
}
set
{
height = value;
}
}
 
public static GSize Add(GSize sz1, GSize sz2)
{
return new GSize(sz1.Width + sz2.Width, sz1.Height + sz2.Height);
}
 
public static GSize Subtract(GSize sz1, GSize sz2)
{
return new GSize(sz1.Width - sz2.Width, sz1.Height - sz2.Height);
}
 
public override bool Equals(object obj)
{
if(!(obj is GSize))
return false;
 
GSize comp = (GSize)obj;
// Note value types can't have derived classes, so we don't need to
//
return (comp.width == this.width) &&
(comp.height == this.height);
}
 
public override int GetHashCode()
{
if(this.IsEmpty)
{
return 0;
}
return (Width.GetHashCode() ^ Height.GetHashCode());
}
 
public override string ToString()
{
return "{Width=" + width.ToString(CultureInfo.CurrentCulture) + ", Height=" + height.ToString(CultureInfo.CurrentCulture) + "}";
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/GeocodingProvider.cs
0,0 → 1,25

namespace GMap.NET
{
using System.Collections.Generic;
 
/// <summary>
/// geocoding interface
/// </summary>
public interface GeocodingProvider
{
GeoCoderStatusCode GetPoints(string keywords, out List<PointLatLng> pointList);
 
PointLatLng? GetPoint(string keywords, out GeoCoderStatusCode status);
 
GeoCoderStatusCode GetPoints(Placemark placemark, out List<PointLatLng> pointList);
 
PointLatLng? GetPoint(Placemark placemark, out GeoCoderStatusCode status);
 
// ...
 
GeoCoderStatusCode GetPlacemarks(PointLatLng location, out List<Placemark> placemarkList);
 
Placemark ? GetPlacemark(PointLatLng location, out GeoCoderStatusCode status);
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/GpsLog.cs
0,0 → 1,49

namespace GMap.NET
{
using System;
 
public struct GpsLog
{
public DateTime TimeUTC;
public long SessionCounter;
public double? Delta;
public double? Speed;
public double? SeaLevelAltitude;
public double? EllipsoidAltitude;
public short? SatellitesInView;
public short? SatelliteCount;
public PointLatLng Position;
public double? PositionDilutionOfPrecision;
public double? HorizontalDilutionOfPrecision;
public double? VerticalDilutionOfPrecision;
public FixQuality FixQuality;
public FixType FixType;
public FixSelection FixSelection;
 
public override string ToString()
{
return string.Format("{0}: {1}", SessionCounter, TimeUTC);
}
}
 
public enum FixQuality : int
{
Unknown=0,
Gps,
DGps
}
public enum FixType : int
{
Unknown=0,
XyD,
XyzD
}
 
public enum FixSelection : int
{
Unknown=0,
Auto,
Manual
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/Interface.cs
0,0 → 1,72

namespace GMap.NET
{
using GMap.NET.MapProviders;
 
public interface Interface
{
PointLatLng Position
{
get;
set;
}
 
GPoint PositionPixel
{
get;
}
 
string CacheLocation
{
get;
set;
}
 
bool IsDragging
{
get;
}
 
RectLatLng ViewArea
{
get;
}
 
GMapProvider MapProvider
{
get;
set;
}
 
bool CanDragMap
{
get;
set;
}
 
RenderMode RenderMode
{
get;
}
 
// events
event PositionChanged OnPositionChanged;
event TileLoadComplete OnTileLoadComplete;
event TileLoadStart OnTileLoadStart;
event MapDrag OnMapDrag;
event MapZoomChanged OnMapZoomChanged;
event MapTypeChanged OnMapTypeChanged;
 
void ReloadMap();
 
PointLatLng FromLocalToLatLng(int x, int y);
GPoint FromLatLngToLocal(PointLatLng point);
 
#if !PocketPC
#if SQLite
bool ShowExportDialog();
bool ShowImportDialog();
#endif
#endif
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/LanguageType.cs
0,0 → 1,179

namespace GMap.NET
{
using System.ComponentModel;
 
/// <summary>
/// This enum contains all possible languages for the Google maps.
/// You can find latest information about supported languages in the:
/// http://tinyurl.com/yh4va36 <- http://spreadsheets.server.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1
/// </summary>
public enum LanguageType
{
[Description("ar")]
Arabic,
 
[Description("bg")]
Bulgarian,
 
[Description("bn")]
Bengali,
 
[Description("ca")]
Catalan,
 
[Description("cs")]
Czech,
 
[Description("da")]
Danish,
 
[Description("de")]
German,
 
[Description("el")]
Greek,
 
[Description("en")]
English,
 
[Description("en-AU")]
EnglishAustralian,
 
[Description("en-GB")]
EnglishGreatBritain,
 
[Description("es")]
Spanish,
 
[Description("eu")]
Basque,
 
[Description("fa")]
FARSI,
 
[Description("fi")]
Finnish,
 
[Description("fil")]
Filipino,
 
[Description("fr")]
French,
 
[Description("gl")]
Galician,
 
[Description("gu")]
Gujarati,
[Description("hi")]
Hindi,
 
[Description("hr")]
Croatian,
 
[Description("hu")]
Hungarian,
 
[Description("id")]
Indonesian,
 
[Description("it")]
Italian,
 
[Description("iw")]
Hebrew,
 
[Description("ja")]
Japanese,
 
[Description("kn")]
Kannada,
 
[Description("ko")]
Korean,
 
[Description("lt")]
Lithuanian,
 
[Description("lv")]
Latvian,
 
[Description("ml")]
Malayalam,
 
[Description("mr")]
Marathi,
 
[Description("nl")]
Dutch,
 
[Description("nn")]
NorwegianNynorsk,
 
[Description("no")]
Norwegian,
 
[Description("or")]
Oriya,
 
[Description("pl")]
Polish,
 
[Description("pt")]
Portuguese,
 
[Description("pt-BR")]
PortugueseBrazil,
 
[Description("pt-PT")]
PortuguesePortugal,
 
[Description("rm")]
Romansch,
[Description("ro")]
Romanian,
 
[Description("ru")]
Russian,
 
[Description("sk")]
Slovak,
 
[Description("sl")]
Slovenian,
 
[Description("sr")]
Serbian,
 
[Description("sv")]
Swedish,
 
[Description("tl")]
TAGALOG,
 
[Description("ta")]
Tamil,
 
[Description("te")]
Telugu,
 
[Description("th")]
Thai,
 
[Description("tr")]
Turkish,
 
[Description("uk")]
Ukrainian,
 
[Description("vi")]
Vietnamese,
 
[Description("zh-CN")]
ChineseSimplified,
 
[Description("zh-TW")]
ChineseTraditional,
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/MapRoute.cs
0,0 → 1,160

namespace GMap.NET
{
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using GMap.NET.MapProviders;
 
/// <summary>
/// represents route of map
/// </summary>
[Serializable]
#if !PocketPC
public class MapRoute : ISerializable, IDeserializationCallback
#else
public class MapRoute
#endif
{
/// <summary>
/// points of route
/// </summary>
public readonly List<PointLatLng> Points = new List<PointLatLng>();
 
/// <summary>
/// route info
/// </summary>
public string Name;
 
/// <summary>
/// custom object
/// </summary>
public object Tag;
 
/// <summary>
/// route start point
/// </summary>
public PointLatLng? From
{
get
{
if(Points.Count > 0)
{
return Points[0];
}
 
return null;
}
}
 
/// <summary>
/// route end point
/// </summary>
public PointLatLng? To
{
get
{
if(Points.Count > 1)
{
return Points[Points.Count - 1];
}
 
return null;
}
}
 
public MapRoute(string name)
{
Name = name;
}
 
public MapRoute(IEnumerable<PointLatLng> points, string name)
{
Points.AddRange(points);
Name = name;
}
 
/// <summary>
/// route distance (in km)
/// </summary>
public double Distance
{
get
{
double distance = 0.0;
 
if(From.HasValue && To.HasValue)
{
for(int i = 1; i < Points.Count; i++)
{
distance += GMapProviders.EmptyProvider.Projection.GetDistance(Points[i - 1], Points[i]);
}
}
 
return distance;
}
}
 
/// <summary>
/// clears points and sets tag and name to null
/// </summary>
public void Clear()
{
Points.Clear();
Tag = null;
Name = null;
}
 
#if !PocketPC
#region ISerializable Members
 
// Temp store for de-serialization.
private PointLatLng[] deserializedPoints;
 
/// <summary>
/// Populates a <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with the data needed to serialize the target object.
/// </summary>
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
/// <param name="context">The destination (see <see cref="T:System.Runtime.Serialization.StreamingContext"/>) for this serialization.</param>
/// <exception cref="T:System.Security.SecurityException">
/// The caller does not have the required permission.
/// </exception>
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("Name", this.Name);
info.AddValue("Tag", this.Tag);
info.AddValue("Points", this.Points.ToArray());
}
 
/// <summary>
/// Initializes a new instance of the <see cref="MapRoute"/> class.
/// </summary>
/// <param name="info">The info.</param>
/// <param name="context">The context.</param>
protected MapRoute(SerializationInfo info, StreamingContext context)
{
this.Name = info.GetString("Name");
this.Tag = Extensions.GetValue<object>(info, "Tag", null);
this.deserializedPoints = Extensions.GetValue<PointLatLng[]>(info, "Points");
this.Points = new List<PointLatLng>();
}
 
#endregion
 
#region IDeserializationCallback Members
 
/// <summary>
/// Runs when the entire object graph has been de-serialized.
/// </summary>
/// <param name="sender">The object that initiated the callback. The functionality for this parameter is not currently implemented.</param>
public virtual void OnDeserialization(object sender)
{
// Accounts for the de-serialization being breadth first rather than depth first.
Points.AddRange(deserializedPoints);
Points.TrimExcess();
}
 
#endregion
#endif
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/MapType.cs
0,0 → 1,127

namespace GMap.NET
{
using System;
 
/// <summary>
/// types of great maps, legacy, not used anymore,
/// left for old ids
/// </summary>
public enum MapType
{
None = 0, // displays no map
 
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleMap = 1,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleSatellite = 4,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleLabels = 8,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleTerrain = 16,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleHybrid = 20,
 
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleMapChina = 22,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleSatelliteChina = 24,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleLabelsChina = 26,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleTerrainChina = 28,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleHybridChina = 29,
 
OpenStreetMap = 32, //
OpenStreetOsm = 33, //
OpenStreetMapSurfer = 34, //
OpenStreetMapSurferTerrain = 35, //
OpenSeaMapLabels = 36, //
OpenSeaMapHybrid = 37, //
OpenCycleMap = 38, //
 
YahooMap = 64,
YahooSatellite = 128,
YahooLabels = 256,
YahooHybrid = 333,
 
BingMap = 444,
BingMap_New = 455,
BingSatellite = 555,
BingHybrid = 666,
 
ArcGIS_StreetMap_World_2D = 777,
ArcGIS_Imagery_World_2D = 788,
ArcGIS_ShadedRelief_World_2D = 799,
ArcGIS_Topo_US_2D = 811,
 
#region -- use these numbers to clean up old stuff --
//ArcGIS_MapsLT_Map_Old= 877,
//ArcGIS_MapsLT_OrtoFoto_Old = 888,
//ArcGIS_MapsLT_Map_Labels_Old = 890,
//ArcGIS_MapsLT_Map_Hybrid_Old = 899,
//ArcGIS_MapsLT_Map=977,
//ArcGIS_MapsLT_OrtoFoto=988,
//ArcGIS_MapsLT_Map_Labels=990,
//ArcGIS_MapsLT_Map_Hybrid=999,
//ArcGIS_MapsLT_Map=978,
//ArcGIS_MapsLT_OrtoFoto=989,
//ArcGIS_MapsLT_Map_Labels=991,
//ArcGIS_MapsLT_Map_Hybrid=998,
#endregion
 
ArcGIS_World_Physical_Map = 822,
ArcGIS_World_Shaded_Relief = 833,
ArcGIS_World_Street_Map = 844,
ArcGIS_World_Terrain_Base = 855,
ArcGIS_World_Topo_Map = 866,
 
MapsLT_Map = 1000,
MapsLT_OrtoFoto = 1001,
MapsLT_Map_Labels = 1002,
MapsLT_Map_Hybrid = 1003,
MapsLT_Map_2_5D = 1004, // 2.5D only for zoom 10 & 11
MapsLT_OrtoFoto_2010 = 1101, // new but only partial coverage
MapsLT_Map_Hybrid_2010 = 1103, // --..--
 
KarteLV_Map = 1500,
 
PergoTurkeyMap = 2001,
SigPacSpainMap = 3001,
 
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleMapKorea = 4001,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleSatelliteKorea = 4002,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleLabelsKorea = 4003,
[Obsolete("check http://greatmaps.codeplex.com/discussions/252531", false)]
GoogleHybridKorea = 4005,
 
YandexMapRu = 5000,
YandexMapRuSatellite = 5001,
YandexMapRuLabels = 5002,
YandexMapRuHybrid = 5003,
 
MapBenderWMS = 6000,
 
MapyCZ_Map = 7000,
MapyCZ_MapTurist = 7001,
MapyCZ_Satellite = 7002,
MapyCZ_Labels = 7003,
MapyCZ_Hybrid = 7004,
MapyCZ_History = 7005,
MapyCZ_HistoryHybrid = 7006,
 
NearMap = 8000,
NearMapSatellite = 8001,
NearMapLabels = 8002,
NearMapHybrid = 8003,
 
OviMap = 9000,
OviMapSatellite = 9001,
OviMapHybrid = 9002,
OviMapTerrain = 9003,
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/MouseWheelZoomType.cs
0,0 → 1,25

namespace GMap.NET
{
/// <summary>
/// map zooming type
/// </summary>
public enum MouseWheelZoomType
{
/// <summary>
/// zooms map to current mouse position and makes it map center
/// </summary>
MousePositionAndCenter,
 
/// <summary>
/// zooms to current mouse position, but doesn't make it map center,
/// google/bing style ;}
/// </summary>
MousePositionWithoutCenter,
 
/// <summary>
/// zooms map to current view center
/// </summary>
ViewCenter,
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/Placemark.cs
0,0 → 1,63

namespace GMap.NET
{
/// <summary>
/// represents place info
/// </summary>
public struct Placemark
{
string address;
 
/// <summary>
/// the address
/// </summary>
public string Address
{
get
{
return address;
}
internal set
{
address = value;
}
}
 
/// <summary>
/// the accuracy of address
/// </summary>
public int Accuracy;
 
// parsed values from address
public string ThoroughfareName;
public string LocalityName;
public string PostalCodeNumber;
public string CountryName;
public string AdministrativeAreaName;
public string DistrictName;
public string SubAdministrativeAreaName;
public string Neighborhood;
public string StreetNumber;
 
public string CountryNameCode;
public string HouseNo;
 
internal Placemark(string address)
{
this.address = address;
 
Accuracy = 0;
HouseNo = string.Empty;
ThoroughfareName = string.Empty;
DistrictName = string.Empty;
LocalityName = string.Empty;
PostalCodeNumber = string.Empty;
CountryName = string.Empty;
CountryNameCode = string.Empty;
AdministrativeAreaName = string.Empty;
SubAdministrativeAreaName = string.Empty;
Neighborhood = string.Empty;
StreetNumber = string.Empty;
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/PointLatLng.cs
0,0 → 1,129

namespace GMap.NET
{
using System;
using System.Globalization;
 
/// <summary>
/// the point of coordinates
/// </summary>
[Serializable]
public struct PointLatLng
{
public static readonly PointLatLng Empty = new PointLatLng();
private double lat;
private double lng;
 
bool NotEmpty;
 
public PointLatLng(double lat, double lng)
{
this.lat = lat;
this.lng = lng;
NotEmpty = true;
}
 
/// <summary>
/// returns true if coordinates wasn't assigned
/// </summary>
public bool IsEmpty
{
get
{
return !NotEmpty;
}
}
 
public double Lat
{
get
{
return this.lat;
}
set
{
this.lat = value;
NotEmpty = true;
}
}
 
public double Lng
{
get
{
return this.lng;
}
set
{
this.lng = value;
NotEmpty = true;
}
}
 
public static PointLatLng operator +(PointLatLng pt, SizeLatLng sz)
{
return Add(pt, sz);
}
 
public static PointLatLng operator -(PointLatLng pt, SizeLatLng sz)
{
return Subtract(pt, sz);
}
 
public static SizeLatLng operator -(PointLatLng pt1, PointLatLng pt2)
{
return new SizeLatLng(pt1.Lat - pt2.Lat, pt2.Lng - pt1.Lng);
}
 
public static bool operator ==(PointLatLng left, PointLatLng right)
{
return ((left.Lng == right.Lng) && (left.Lat == right.Lat));
}
 
public static bool operator !=(PointLatLng left, PointLatLng right)
{
return !(left == right);
}
 
public static PointLatLng Add(PointLatLng pt, SizeLatLng sz)
{
return new PointLatLng(pt.Lat - sz.HeightLat, pt.Lng + sz.WidthLng);
}
 
public static PointLatLng Subtract(PointLatLng pt, SizeLatLng sz)
{
return new PointLatLng(pt.Lat + sz.HeightLat, pt.Lng - sz.WidthLng);
}
 
public override bool Equals(object obj)
{
if(!(obj is PointLatLng))
{
return false;
}
PointLatLng tf = (PointLatLng)obj;
return (((tf.Lng == this.Lng) && (tf.Lat == this.Lat)) && tf.GetType().Equals(base.GetType()));
}
 
public void Offset(PointLatLng pos)
{
this.Offset(pos.Lat, pos.Lng);
}
 
public void Offset(double lat, double lng)
{
this.Lng += lng;
this.Lat -= lat;
}
 
public override int GetHashCode()
{
return (this.Lng.GetHashCode() ^ this.Lat.GetHashCode());
}
 
public override string ToString()
{
return string.Format(CultureInfo.CurrentCulture, "{{Lat={0}, Lng={1}}}", this.Lat, this.Lng);
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/PureImageCache.cs
0,0 → 1,39

namespace GMap.NET
{
using System.IO;
using System;
 
/// <summary>
/// pure abstraction for image cache
/// </summary>
public interface PureImageCache
{
/// <summary>
/// puts image to db
/// </summary>
/// <param name="tile"></param>
/// <param name="type"></param>
/// <param name="pos"></param>
/// <param name="zoom"></param>
/// <returns></returns>
bool PutImageToCache(byte[] tile, int type, GPoint pos, int zoom);
 
/// <summary>
/// gets image from db
/// </summary>
/// <param name="type"></param>
/// <param name="pos"></param>
/// <param name="zoom"></param>
/// <returns></returns>
PureImage GetImageFromCache(int type, GPoint pos, int zoom);
 
/// <summary>
/// delete old tiles beyond a supplied date
/// </summary>
/// <param name="date">Tiles older than this will be deleted.</param>
/// <param name="type">provider dbid or null to use all providers</param>
/// <returns>The number of deleted tiles.</returns>
int DeleteOlderThan(DateTime date, int ? type);
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/PureProjection.cs
0,0 → 1,512

namespace GMap.NET
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
 
/// <summary>
/// defines projection
/// </summary>
public abstract class PureProjection
{
readonly List<Dictionary<PointLatLng, GPoint>> FromLatLngToPixelCache = new List<Dictionary<PointLatLng, GPoint>>(33);
readonly List<Dictionary<GPoint, PointLatLng>> FromPixelToLatLngCache = new List<Dictionary<GPoint, PointLatLng>>(33);
 
public PureProjection()
{
for(int i = 0; i < FromLatLngToPixelCache.Capacity; i++)
{
FromLatLngToPixelCache.Add(new Dictionary<PointLatLng, GPoint>());
FromPixelToLatLngCache.Add(new Dictionary<GPoint, PointLatLng>());
}
}
 
/// <summary>
/// size of tile
/// </summary>
public abstract GSize TileSize
{
get;
}
 
/// <summary>
/// Semi-major axis of ellipsoid, in meters
/// </summary>
public abstract double Axis
{
get;
}
 
/// <summary>
/// Flattening of ellipsoid
/// </summary>
public abstract double Flattening
{
get;
}
 
/// <summary>
/// get pixel coordinates from lat/lng
/// </summary>
/// <param name="lat"></param>
/// <param name="lng"></param>
/// <param name="zoom"></param>
/// <returns></returns>
public abstract GPoint FromLatLngToPixel(double lat, double lng, int zoom);
 
/// <summary>
/// gets lat/lng coordinates from pixel coordinates
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <param name="zoom"></param>
/// <returns></returns>
public abstract PointLatLng FromPixelToLatLng(long x, long y, int zoom);
 
public GPoint FromLatLngToPixel(PointLatLng p, int zoom)
{
return FromLatLngToPixel(p, zoom, false);
}
 
/// <summary>
/// get pixel coordinates from lat/lng
/// </summary>
/// <param name="p"></param>
/// <param name="zoom"></param>
/// <returns></returns>
public GPoint FromLatLngToPixel(PointLatLng p, int zoom, bool useCache)
{
if(useCache)
{
GPoint ret = GPoint.Empty;
if(!FromLatLngToPixelCache[zoom].TryGetValue(p, out ret))
{
ret = FromLatLngToPixel(p.Lat, p.Lng, zoom);
FromLatLngToPixelCache[zoom].Add(p, ret);
 
// for reverse cache
if(!FromPixelToLatLngCache[zoom].ContainsKey(ret))
{
FromPixelToLatLngCache[zoom].Add(ret, p);
}
 
Debug.WriteLine("FromLatLngToPixelCache[" + zoom + "] added " + p + " with " + ret);
}
return ret;
}
else
{
return FromLatLngToPixel(p.Lat, p.Lng, zoom);
}
}
 
public PointLatLng FromPixelToLatLng(GPoint p, int zoom)
{
return FromPixelToLatLng(p, zoom, false);
}
 
/// <summary>
/// gets lat/lng coordinates from pixel coordinates
/// </summary>
/// <param name="p"></param>
/// <param name="zoom"></param>
/// <returns></returns>
public PointLatLng FromPixelToLatLng(GPoint p, int zoom, bool useCache)
{
if(useCache)
{
PointLatLng ret = PointLatLng.Empty;
if(!FromPixelToLatLngCache[zoom].TryGetValue(p, out ret))
{
ret = FromPixelToLatLng(p.X, p.Y, zoom);
FromPixelToLatLngCache[zoom].Add(p, ret);
 
// for reverse cache
if(!FromLatLngToPixelCache[zoom].ContainsKey(ret))
{
FromLatLngToPixelCache[zoom].Add(ret, p);
}
 
Debug.WriteLine("FromPixelToLatLngCache[" + zoom + "] added " + p + " with " + ret);
}
return ret;
}
else
{
return FromPixelToLatLng(p.X, p.Y, zoom);
}
}
 
/// <summary>
/// gets tile coorddinate from pixel coordinates
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
public virtual GPoint FromPixelToTileXY(GPoint p)
{
return new GPoint((long)(p.X / TileSize.Width), (long)(p.Y / TileSize.Height));
}
 
/// <summary>
/// gets pixel coordinate from tile coordinate
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
public virtual GPoint FromTileXYToPixel(GPoint p)
{
return new GPoint((p.X * TileSize.Width), (p.Y * TileSize.Height));
}
 
/// <summary>
/// min. tile in tiles at custom zoom level
/// </summary>
/// <param name="zoom"></param>
/// <returns></returns>
public abstract GSize GetTileMatrixMinXY(int zoom);
 
/// <summary>
/// max. tile in tiles at custom zoom level
/// </summary>
/// <param name="zoom"></param>
/// <returns></returns>
public abstract GSize GetTileMatrixMaxXY(int zoom);
 
/// <summary>
/// gets matrix size in tiles
/// </summary>
/// <param name="zoom"></param>
/// <returns></returns>
public virtual GSize GetTileMatrixSizeXY(int zoom)
{
GSize sMin = GetTileMatrixMinXY(zoom);
GSize sMax = GetTileMatrixMaxXY(zoom);
 
return new GSize(sMax.Width - sMin.Width + 1, sMax.Height - sMin.Height + 1);
}
 
/// <summary>
/// tile matrix size in pixels at custom zoom level
/// </summary>
/// <param name="zoom"></param>
/// <returns></returns>
public long GetTileMatrixItemCount(int zoom)
{
GSize s = GetTileMatrixSizeXY(zoom);
return (s.Width * s.Height);
}
 
/// <summary>
/// gets matrix size in pixels
/// </summary>
/// <param name="zoom"></param>
/// <returns></returns>
public virtual GSize GetTileMatrixSizePixel(int zoom)
{
GSize s = GetTileMatrixSizeXY(zoom);
return new GSize(s.Width * TileSize.Width, s.Height * TileSize.Height);
}
 
/// <summary>
/// gets all tiles in rect at specific zoom
/// </summary>
public List<GPoint> GetAreaTileList(RectLatLng rect, int zoom, int padding)
{
List<GPoint> ret = new List<GPoint>();
 
GPoint topLeft = FromPixelToTileXY(FromLatLngToPixel(rect.LocationTopLeft, zoom));
GPoint rightBottom = FromPixelToTileXY(FromLatLngToPixel(rect.LocationRightBottom, zoom));
 
for(long x = (topLeft.X - padding); x <= (rightBottom.X + padding); x++)
{
for(long y = (topLeft.Y - padding); y <= (rightBottom.Y + padding); y++)
{
GPoint p = new GPoint(x, y);
if(!ret.Contains(p) && p.X >= 0 && p.Y >= 0)
{
ret.Add(p);
}
}
}
 
return ret;
}
 
/// <summary>
/// The ground resolution indicates the distance (in meters) on the ground that’s represented by a single pixel in the map.
/// For example, at a ground resolution of 10 meters/pixel, each pixel represents a ground distance of 10 meters.
/// </summary>
/// <param name="zoom"></param>
/// <param name="latitude"></param>
/// <returns></returns>
public virtual double GetGroundResolution(int zoom, double latitude)
{
return (Math.Cos(latitude * (Math.PI / 180)) * 2 * Math.PI * Axis) / GetTileMatrixSizePixel(zoom).Width;
}
 
/// <summary>
/// gets boundaries
/// </summary>
public virtual RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(-180, 90, 180, -90);
}
}
 
#region -- math functions --
 
/// <summary>
/// PI
/// </summary>
protected static readonly double PI = Math.PI;
 
/// <summary>
/// Half of PI
/// </summary>
protected static readonly double HALF_PI = (PI * 0.5);
 
/// <summary>
/// PI * 2
/// </summary>
protected static readonly double TWO_PI = (PI * 2.0);
 
/// <summary>
/// EPSLoN
/// </summary>
protected static readonly double EPSLoN = 1.0e-10;
 
/// <summary>
/// MAX_VAL
/// </summary>
protected const double MAX_VAL = 4;
 
/// <summary>
/// MAXLONG
/// </summary>
protected static readonly double MAXLONG = 2147483647;
 
/// <summary>
/// DBLLONG
/// </summary>
protected static readonly double DBLLONG = 4.61168601e18;
 
static readonly double R2D = 180 / Math.PI;
static readonly double D2R = Math.PI / 180;
 
public static double DegreesToRadians(double deg)
{
return (D2R * deg);
}
 
public static double RadiansToDegrees(double rad)
{
return (R2D * rad);
}
 
///<summary>
/// return the sign of an argument
///</summary>
protected static double Sign(double x)
{
if(x < 0.0)
return (-1);
else
return (1);
}
 
protected static double AdjustLongitude(double x)
{
long count = 0;
while(true)
{
if(Math.Abs(x) <= PI)
break;
else
if(((long)Math.Abs(x / Math.PI)) < 2)
x = x - (Sign(x) * TWO_PI);
else
if(((long)Math.Abs(x / TWO_PI)) < MAXLONG)
{
x = x - (((long)(x / TWO_PI)) * TWO_PI);
}
else
if(((long)Math.Abs(x / (MAXLONG * TWO_PI))) < MAXLONG)
{
x = x - (((long)(x / (MAXLONG * TWO_PI))) * (TWO_PI * MAXLONG));
}
else
if(((long)Math.Abs(x / (DBLLONG * TWO_PI))) < MAXLONG)
{
x = x - (((long)(x / (DBLLONG * TWO_PI))) * (TWO_PI * DBLLONG));
}
else
x = x - (Sign(x) * TWO_PI);
count++;
if(count > MAX_VAL)
break;
}
return (x);
}
 
/// <summary>
/// calculates the sine and cosine
/// </summary>
protected static void SinCos(double val, out double sin, out double cos)
{
sin = Math.Sin(val);
cos = Math.Cos(val);
}
 
/// <summary>
/// computes the constants e0, e1, e2, and e3 which are used
/// in a series for calculating the distance along a meridian.
/// </summary>
/// <param name="x">represents the eccentricity squared</param>
/// <returns></returns>
protected static double e0fn(double x)
{
return (1.0 - 0.25 * x * (1.0 + x / 16.0 * (3.0 + 1.25 * x)));
}
 
protected static double e1fn(double x)
{
return (0.375 * x * (1.0 + 0.25 * x * (1.0 + 0.46875 * x)));
}
 
protected static double e2fn(double x)
{
return (0.05859375 * x * x * (1.0 + 0.75 * x));
}
 
protected static double e3fn(double x)
{
return (x * x * x * (35.0 / 3072.0));
}
 
/// <summary>
/// computes the value of M which is the distance along a meridian
/// from the Equator to latitude phi.
/// </summary>
protected static double mlfn(double e0, double e1, double e2, double e3, double phi)
{
return (e0 * phi - e1 * Math.Sin(2.0 * phi) + e2 * Math.Sin(4.0 * phi) - e3 * Math.Sin(6.0 * phi));
}
 
/// <summary>
/// calculates UTM zone number
/// </summary>
/// <param name="lon">Longitude in degrees</param>
/// <returns></returns>
protected static long GetUTMzone(double lon)
{
return ((long)(((lon + 180.0) / 6.0) + 1.0));
}
 
/// <summary>
/// Clips a number to the specified minimum and maximum values.
/// </summary>
/// <param name="n">The number to clip.</param>
/// <param name="minValue">Minimum allowable value.</param>
/// <param name="maxValue">Maximum allowable value.</param>
/// <returns>The clipped value.</returns>
protected static double Clip(double n, double minValue, double maxValue)
{
return Math.Min(Math.Max(n, minValue), maxValue);
}
 
/// <summary>
/// distance (in km) between two points specified by latitude/longitude
/// The Haversine formula, http://www.movable-type.co.uk/scripts/latlong.html
/// </summary>
/// <param name="p1"></param>
/// <param name="p2"></param>
/// <returns></returns>
public double GetDistance(PointLatLng p1, PointLatLng p2)
{
double dLat1InRad = p1.Lat * (Math.PI / 180);
double dLong1InRad = p1.Lng * (Math.PI / 180);
double dLat2InRad = p2.Lat * (Math.PI / 180);
double dLong2InRad = p2.Lng * (Math.PI / 180);
double dLongitude = dLong2InRad - dLong1InRad;
double dLatitude = dLat2InRad - dLat1InRad;
double a = Math.Pow(Math.Sin(dLatitude / 2), 2) + Math.Cos(dLat1InRad) * Math.Cos(dLat2InRad) * Math.Pow(Math.Sin(dLongitude / 2), 2);
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
double dDistance = (Axis / 1000.0) * c;
return dDistance;
}
 
public double GetDistanceInPixels(GPoint point1, GPoint point2)
{
double a = (double)(point2.X - point1.X);
double b = (double)(point2.Y - point1.Y);
 
return Math.Sqrt(a * a + b * b);
}
 
/// <summary>
/// Accepts two coordinates in degrees.
/// </summary>
/// <returns>A double value in degrees. From 0 to 360.</returns>
public double GetBearing(PointLatLng p1, PointLatLng p2)
{
var latitude1 = DegreesToRadians(p1.Lat);
var latitude2 = DegreesToRadians(p2.Lat);
var longitudeDifference = DegreesToRadians(p2.Lng - p1.Lng);
 
var y = Math.Sin(longitudeDifference) * Math.Cos(latitude2);
var x = Math.Cos(latitude1) * Math.Sin(latitude2) - Math.Sin(latitude1) * Math.Cos(latitude2) * Math.Cos(longitudeDifference);
 
return (RadiansToDegrees(Math.Atan2(y, x)) + 360) % 360;
}
 
/// <summary>
/// Conversion from cartesian earth-sentered coordinates to geodetic coordinates in the given datum
/// </summary>
/// <param name="Lat"></param>
/// <param name="Lon"></param>
/// <param name="Height">Height above ellipsoid [m]</param>
/// <param name="X"></param>
/// <param name="Y"></param>
/// <param name="Z"></param>
public void FromGeodeticToCartesian(double Lat, double Lng, double Height, out double X, out double Y, out double Z)
{
Lat = (Math.PI / 180) * Lat;
Lng = (Math.PI / 180) * Lng;
 
double B = Axis * (1.0 - Flattening);
double ee = 1.0 - (B / Axis) * (B / Axis);
double N = (Axis / Math.Sqrt(1.0 - ee * Math.Sin(Lat) * Math.Sin(Lat)));
 
X = (N + Height) * Math.Cos(Lat) * Math.Cos(Lng);
Y = (N + Height) * Math.Cos(Lat) * Math.Sin(Lng);
Z = (N * (B / Axis) * (B / Axis) + Height) * Math.Sin(Lat);
}
 
/// <summary>
/// Conversion from cartesian earth-sentered coordinates to geodetic coordinates in the given datum
/// </summary>
/// <param name="X"></param>
/// <param name="Y"></param>
/// <param name="Z"></param>
/// <param name="Lat"></param>
/// <param name="Lon"></param>
public void FromCartesianTGeodetic(double X, double Y, double Z, out double Lat, out double Lng)
{
double E = Flattening * (2.0 - Flattening);
Lng = Math.Atan2(Y, X);
 
double P = Math.Sqrt(X * X + Y * Y);
double Theta = Math.Atan2(Z, (P * (1.0 - Flattening)));
double st = Math.Sin(Theta);
double ct = Math.Cos(Theta);
Lat = Math.Atan2(Z + E / (1.0 - Flattening) * Axis * st * st * st, P - E * Axis * ct * ct * ct);
 
Lat /= (Math.PI / 180);
Lng /= (Math.PI / 180);
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/RectLatLng.cs
0,0 → 1,318

namespace GMap.NET
{
using System;
using System.Globalization;
 
/// <summary>
/// the rect of coordinates
/// </summary>
public struct RectLatLng
{
public static readonly RectLatLng Empty;
private double lng;
private double lat;
private double widthLng;
private double heightLat;
 
public RectLatLng(double lat, double lng, double widthLng, double heightLat)
{
this.lng = lng;
this.lat = lat;
this.widthLng = widthLng;
this.heightLat = heightLat;
NotEmpty = true;
}
 
public RectLatLng(PointLatLng location, SizeLatLng size)
{
this.lng = location.Lng;
this.lat = location.Lat;
this.widthLng = size.WidthLng;
this.heightLat = size.HeightLat;
NotEmpty = true;
}
 
public static RectLatLng FromLTRB(double leftLng, double topLat, double rightLng, double bottomLat)
{
return new RectLatLng(topLat, leftLng, rightLng - leftLng, topLat - bottomLat);
}
 
public PointLatLng LocationTopLeft
{
get
{
return new PointLatLng(this.Lat, this.Lng);
}
set
{
this.Lng = value.Lng;
this.Lat = value.Lat;
}
}
 
public PointLatLng LocationRightBottom
{
get
{
PointLatLng ret = new PointLatLng(this.Lat, this.Lng);
ret.Offset(HeightLat, WidthLng);
return ret;
}
}
 
public PointLatLng LocationMiddle
{
get
{
PointLatLng ret = new PointLatLng(this.Lat, this.Lng);
ret.Offset(HeightLat / 2, WidthLng / 2);
return ret;
}
}
 
public SizeLatLng Size
{
get
{
return new SizeLatLng(this.HeightLat, this.WidthLng);
}
set
{
this.WidthLng = value.WidthLng;
this.HeightLat = value.HeightLat;
}
}
 
public double Lng
{
get
{
return this.lng;
}
set
{
this.lng = value;
}
}
 
public double Lat
{
get
{
return this.lat;
}
set
{
this.lat = value;
}
}
 
public double WidthLng
{
get
{
return this.widthLng;
}
set
{
this.widthLng = value;
}
}
 
public double HeightLat
{
get
{
return this.heightLat;
}
set
{
this.heightLat = value;
}
}
 
public double Left
{
get
{
return this.Lng;
}
}
 
public double Top
{
get
{
return this.Lat;
}
}
 
public double Right
{
get
{
return (this.Lng + this.WidthLng);
}
}
 
public double Bottom
{
get
{
return (this.Lat - this.HeightLat);
}
}
 
bool NotEmpty;
 
/// <summary>
/// returns true if coordinates wasn't assigned
/// </summary>
public bool IsEmpty
{
get
{
return !NotEmpty;
}
}
 
public override bool Equals(object obj)
{
if(!(obj is RectLatLng))
{
return false;
}
RectLatLng ef = (RectLatLng)obj;
return ((((ef.Lng == this.Lng) && (ef.Lat == this.Lat)) && (ef.WidthLng == this.WidthLng)) && (ef.HeightLat == this.HeightLat));
}
 
public static bool operator ==(RectLatLng left, RectLatLng right)
{
return ((((left.Lng == right.Lng) && (left.Lat == right.Lat)) && (left.WidthLng == right.WidthLng)) && (left.HeightLat == right.HeightLat));
}
 
public static bool operator !=(RectLatLng left, RectLatLng right)
{
return !(left == right);
}
 
public bool Contains(double lat, double lng)
{
return ((((this.Lng <= lng) && (lng < (this.Lng + this.WidthLng))) && (this.Lat >= lat)) && (lat > (this.Lat - this.HeightLat)));
}
 
public bool Contains(PointLatLng pt)
{
return this.Contains(pt.Lat, pt.Lng);
}
 
public bool Contains(RectLatLng rect)
{
return ((((this.Lng <= rect.Lng) && ((rect.Lng + rect.WidthLng) <= (this.Lng + this.WidthLng))) && (this.Lat >= rect.Lat)) && ((rect.Lat - rect.HeightLat) >= (this.Lat - this.HeightLat)));
}
 
public override int GetHashCode()
{
if(this.IsEmpty)
{
return 0;
}
return (((this.Lng.GetHashCode() ^ this.Lat.GetHashCode()) ^ this.WidthLng.GetHashCode()) ^ this.HeightLat.GetHashCode());
}
 
// from here down need to test each function to be sure they work good
// |
// .
 
#region -- unsure --
public void Inflate(double lat, double lng)
{
this.Lng -= lng;
this.Lat += lat;
this.WidthLng += 2d * lng;
this.HeightLat += 2d * lat;
}
 
public void Inflate(SizeLatLng size)
{
this.Inflate(size.HeightLat, size.WidthLng);
}
 
public static RectLatLng Inflate(RectLatLng rect, double lat, double lng)
{
RectLatLng ef = rect;
ef.Inflate(lat, lng);
return ef;
}
 
public void Intersect(RectLatLng rect)
{
RectLatLng ef = Intersect(rect, this);
this.Lng = ef.Lng;
this.Lat = ef.Lat;
this.WidthLng = ef.WidthLng;
this.HeightLat = ef.HeightLat;
}
 
// ok ???
public static RectLatLng Intersect(RectLatLng a, RectLatLng b)
{
double lng = Math.Max(a.Lng, b.Lng);
double num2 = Math.Min((double)(a.Lng + a.WidthLng), (double)(b.Lng + b.WidthLng));
 
double lat = Math.Max(a.Lat, b.Lat);
double num4 = Math.Min((double)(a.Lat + a.HeightLat), (double)(b.Lat + b.HeightLat));
 
if((num2 >= lng) && (num4 >= lat))
{
return new RectLatLng(lat, lng, num2 - lng, num4 - lat);
}
return Empty;
}
 
// ok ???
// http://greatmaps.codeplex.com/workitem/15981
public bool IntersectsWith(RectLatLng a)
{
return this.Left < a.Right && this.Top > a.Bottom && this.Right > a.Left && this.Bottom < a.Top;
}
 
// ok ???
// http://greatmaps.codeplex.com/workitem/15981
public static RectLatLng Union(RectLatLng a, RectLatLng b)
{
return RectLatLng.FromLTRB(
Math.Min(a.Left, b.Left),
Math.Max(a.Top, b.Top),
Math.Max(a.Right, b.Right),
Math.Min(a.Bottom, b.Bottom));
}
#endregion
 
// .
// |
// unsure ends here
 
public void Offset(PointLatLng pos)
{
this.Offset(pos.Lat, pos.Lng);
}
 
public void Offset(double lat, double lng)
{
this.Lng += lng;
this.Lat -= lat;
}
 
public override string ToString()
{
return ("{Lat=" + this.Lat.ToString(CultureInfo.CurrentCulture) + ",Lng=" + this.Lng.ToString(CultureInfo.CurrentCulture) + ",WidthLng=" + this.WidthLng.ToString(CultureInfo.CurrentCulture) + ",HeightLat=" + this.HeightLat.ToString(CultureInfo.CurrentCulture) + "}");
}
 
static RectLatLng()
{
Empty = new RectLatLng();
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/RenderMode.cs
0,0 → 1,19

namespace GMap.NET
{
/// <summary>
/// types of map rendering
/// </summary>
public enum RenderMode
{
/// <summary>
/// gdi+ should work anywhere on Windows Forms
/// </summary>
GDI_PLUS,
 
/// <summary>
/// only on Windows Presentation Foundation
/// </summary>
WPF,
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/RoutingProvider.cs
0,0 → 1,19

namespace GMap.NET
{
/// <summary>
/// routing interface
/// </summary>
public interface RoutingProvider
{
/// <summary>
/// get route between two points
/// </summary>
MapRoute GetRoute(PointLatLng start, PointLatLng end, bool avoidHighways, bool walkingMode, int Zoom);
 
/// <summary>
/// get route between two points
/// </summary>
MapRoute GetRoute(string start, string end, bool avoidHighways, bool walkingMode, int Zoom);
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/Singleton.cs
0,0 → 1,60

namespace GMap.NET
{
using System;
using System.Diagnostics;
using System.Reflection;
 
/// <summary>
/// generic for singletons
/// </summary>
/// <typeparam name="T"></typeparam>
public class Singleton<T> where T : new()
{
// ctor
protected Singleton()
{
if(Instance != null)
{
throw (new Exception("You have tried to create a new singleton class where you should have instanced it. Replace your \"new class()\" with \"class.Instance\""));
}
}
 
public static T Instance
{
get
{
if(SingletonCreator.exception != null)
{
throw SingletonCreator.exception;
}
return SingletonCreator.instance;
}
}
 
class SingletonCreator
{
static SingletonCreator()
{
try
{
instance = new T();
}
catch(Exception ex)
{
if(ex.InnerException != null)
{
exception = ex.InnerException;
}
else
{
exception = ex;
}
Trace.WriteLine("Singleton: " + exception);
}
}
internal static readonly T instance;
internal static readonly Exception exception;
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/SizeLatLng.cs
0,0 → 1,135

namespace GMap.NET
{
using System.Globalization;
 
/// <summary>
/// the size of coordinates
/// </summary>
public struct SizeLatLng
{
public static readonly SizeLatLng Empty;
 
private double heightLat;
private double widthLng;
 
public SizeLatLng(SizeLatLng size)
{
this.widthLng = size.widthLng;
this.heightLat = size.heightLat;
}
 
public SizeLatLng(PointLatLng pt)
{
this.heightLat = pt.Lat;
this.widthLng = pt.Lng;
}
 
public SizeLatLng(double heightLat, double widthLng)
{
this.heightLat = heightLat;
this.widthLng = widthLng;
}
 
public static SizeLatLng operator+(SizeLatLng sz1, SizeLatLng sz2)
{
return Add(sz1, sz2);
}
 
public static SizeLatLng operator-(SizeLatLng sz1, SizeLatLng sz2)
{
return Subtract(sz1, sz2);
}
 
public static bool operator==(SizeLatLng sz1, SizeLatLng sz2)
{
return ((sz1.WidthLng == sz2.WidthLng) && (sz1.HeightLat == sz2.HeightLat));
}
 
public static bool operator!=(SizeLatLng sz1, SizeLatLng sz2)
{
return !(sz1 == sz2);
}
 
public static explicit operator PointLatLng(SizeLatLng size)
{
return new PointLatLng(size.HeightLat, size.WidthLng);
}
 
public bool IsEmpty
{
get
{
return ((this.widthLng == 0d) && (this.heightLat == 0d));
}
}
 
public double WidthLng
{
get
{
return this.widthLng;
}
set
{
this.widthLng = value;
}
}
 
public double HeightLat
{
get
{
return this.heightLat;
}
set
{
this.heightLat = value;
}
}
 
public static SizeLatLng Add(SizeLatLng sz1, SizeLatLng sz2)
{
return new SizeLatLng(sz1.HeightLat + sz2.HeightLat, sz1.WidthLng + sz2.WidthLng);
}
 
public static SizeLatLng Subtract(SizeLatLng sz1, SizeLatLng sz2)
{
return new SizeLatLng(sz1.HeightLat - sz2.HeightLat, sz1.WidthLng - sz2.WidthLng);
}
 
public override bool Equals(object obj)
{
if(!(obj is SizeLatLng))
{
return false;
}
SizeLatLng ef = (SizeLatLng) obj;
return (((ef.WidthLng == this.WidthLng) && (ef.HeightLat == this.HeightLat)) && ef.GetType().Equals(base.GetType()));
}
 
public override int GetHashCode()
{
if(this.IsEmpty)
{
return 0;
}
return (this.WidthLng.GetHashCode() ^ this.HeightLat.GetHashCode());
}
 
public PointLatLng ToPointLatLng()
{
return (PointLatLng) this;
}
 
public override string ToString()
{
return ("{WidthLng=" + this.widthLng.ToString(CultureInfo.CurrentCulture) + ", HeightLng=" + this.heightLat.ToString(CultureInfo.CurrentCulture) + "}");
}
 
static SizeLatLng()
{
Empty = new SizeLatLng();
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/StatusCodes.cs
0,0 → 1,125

namespace GMap.NET
{
/// <summary>
/// GeoCoder StatusCode
/// </summary>
public enum GeoCoderStatusCode : int
{
/// <summary>
/// unknow response
/// </summary>
Unknow = -1,
 
/// <summary>
/// No errors occurred; the address was successfully parsed and its geocode has been returned.
/// </summary>
G_GEO_SUCCESS = 200,
 
/// <summary>
/// A directions request could not be successfully parsed.
/// For example, the request may have been rejected if it contained more than the maximum number of waypoints allowed.
/// </summary>
G_GEO_BAD_REQUEST = 400,
 
/// <summary>
/// A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.
/// </summary>
G_GEO_SERVER_ERROR = 500,
 
/// <summary>
/// The HTTP q parameter was either missing or had no value.
/// For geocoding requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.
/// </summary>
G_GEO_MISSING_QUERY = 601,
 
/// <summary>
/// Synonym for G_GEO_MISSING_QUERY.
/// </summary>
G_GEO_MISSING_ADDRESS = 601,
 
/// <summary>
/// No corresponding geographic location could be found for the specified address.
/// This may be due to the fact that the address is relatively new, or it may be incorrect.
/// </summary>
G_GEO_UNKNOWN_ADDRESS = 602,
 
/// <summary>
/// The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.
/// </summary>
G_GEO_UNAVAILABLE_ADDRESS = 603,
 
/// <summary>
/// The GDirections object could not compute directions between the points mentioned in the query.
/// This is usually because there is no route available between the two points, or because we do not have data for routing in that region.
/// </summary>
G_GEO_UNKNOWN_DIRECTIONS = 604,
 
/// <summary>
/// The given key is either invalid or does not match the domain for which it was given.
/// </summary>
G_GEO_BAD_KEY = 610,
 
/// <summary>
/// The given key has gone over the requests limit in the 24 hour period or has submitted too many requests in too short a period of time.
/// If you're sending multiple requests in parallel or in a tight loop, use a timer or pause in your code to make sure you don't send the requests too quickly.
/// </summary>
G_GEO_TOO_MANY_QUERIES = 620,
 
/// <summary>
/// indicates that exception occured during execution
/// </summary>
ExceptionInCode,
}
 
/// <summary>
/// Direction StatusCode
/// </summary>
public enum DirectionsStatusCode : int
{
/// <summary>
/// indicates the response contains a valid result.
/// </summary>
OK = 0,
 
/// <summary>
/// indicates at least one of the locations specified in the requests's origin, destination, or waypoints could not be geocoded.
/// </summary>
NOT_FOUND,
 
/// <summary>
/// indicates no route could be found between the origin and destination.
/// </summary>
ZERO_RESULTS,
 
/// <summary>
/// indicates that too many waypointss were provided in the request The maximum allowed waypoints is 8, plus the origin, and destination.
/// </summary>
MAX_WAYPOINTS_EXCEEDED,
 
/// <summary>
/// indicates that the provided request was invalid.
/// </summary>
INVALID_REQUEST,
 
/// <summary>
/// indicates the service has received too many requests from your application within the allowed time period.
/// </summary>
OVER_QUERY_LIMIT,
 
/// <summary>
/// indicates that the service denied use of the directions service by your application.
/// </summary>
REQUEST_DENIED,
 
/// <summary>
/// indicates a directions request could not be processed due to a server error. The request may succeed if you try again.
/// </summary>
UNKNOWN_ERROR,
 
/// <summary>
/// indicates that exception occured during execution
/// </summary>
ExceptionInCode,
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/ZipStorer.cs
0,0 → 1,748
// ZipStorer, by Jaime Olivares
// Website: zipstorer.codeplex.com
// Version: 2.35 (March 14, 2010)
 
using System.Collections.Generic;
using System.Text;
 
namespace System.IO.Compression
{
/// <summary>
/// Unique class for compression/decompression file. Represents a Zip file.
/// </summary>
public class ZipStorer : IDisposable
{
/// <summary>
/// Compression method enumeration
/// </summary>
public enum Compression : ushort {
/// <summary>Uncompressed storage</summary>
Store = 0,
/// <summary>Deflate compression method</summary>
Deflate = 8 }
 
/// <summary>
/// Represents an entry in Zip file directory
/// </summary>
public struct ZipFileEntry
{
/// <summary>Compression method</summary>
public Compression Method;
/// <summary>Full path and filename as stored in Zip</summary>
public string FilenameInZip;
/// <summary>Original file size</summary>
public uint FileSize;
/// <summary>Compressed file size</summary>
public uint CompressedSize;
/// <summary>Offset of header information inside Zip storage</summary>
public uint HeaderOffset;
/// <summary>Offset of file inside Zip storage</summary>
public uint FileOffset;
/// <summary>Size of header information</summary>
public uint HeaderSize;
/// <summary>32-bit checksum of entire file</summary>
public uint Crc32;
/// <summary>Last modification time of file</summary>
public DateTime ModifyTime;
/// <summary>User comment for file</summary>
public string Comment;
/// <summary>True if UTF8 encoding for filename and comments, false if default (CP 437)</summary>
public bool EncodeUTF8;
 
/// <summary>Overriden method</summary>
/// <returns>Filename in Zip</returns>
public override string ToString()
{
return this.FilenameInZip;
}
}
 
#region Public fields
/// <summary>True if UTF8 encoding for filename and comments, false if default (CP 437)</summary>
public bool EncodeUTF8 = false;
/// <summary>Force deflate algotithm even if it inflates the stored file. Off by default.</summary>
public bool ForceDeflating = false;
#endregion
 
#region Private fields
// List of files to store
private List<ZipFileEntry> Files = new List<ZipFileEntry>();
// Filename of storage file
private string FileName;
// Stream object of storage file
private Stream ZipFileStream;
// General comment
private string Comment = "";
// Central dir image
private byte[] CentralDirImage = null;
// Existing files in zip
private ushort ExistingFiles = 0;
// File access for Open method
private FileAccess Access;
// Static CRC32 Table
private static UInt32[] CrcTable = null;
// Default filename encoder
private static Encoding DefaultEncoding = Encoding.GetEncoding(437);
#endregion
 
#region Public methods
// Static constructor. Just invoked once in order to create the CRC32 lookup table.
static ZipStorer()
{
// Generate CRC32 table
CrcTable = new UInt32[256];
for (int i = 0; i < CrcTable.Length; i++)
{
UInt32 c = (UInt32)i;
for (int j = 0; j < 8; j++)
{
if ((c & 1) != 0)
c = 3988292384 ^ (c >> 1);
else
c >>= 1;
}
CrcTable[i] = c;
}
}
/// <summary>
/// Method to create a new storage file
/// </summary>
/// <param name="_filename">Full path of Zip file to create</param>
/// <param name="_comment">General comment for Zip file</param>
/// <returns>A valid ZipStorer object</returns>
public static ZipStorer Create(string _filename, string _comment)
{
Stream stream = new FileStream(_filename, FileMode.Create, FileAccess.ReadWrite);
 
ZipStorer zip = Create(stream, _comment);
zip.Comment = _comment;
zip.FileName = _filename;
 
return zip;
}
/// <summary>
/// Method to create a new zip storage in a stream
/// </summary>
/// <param name="_stream"></param>
/// <param name="_comment"></param>
/// <returns>A valid ZipStorer object</returns>
public static ZipStorer Create(Stream _stream, string _comment)
{
ZipStorer zip = new ZipStorer();
zip.Comment = _comment;
zip.ZipFileStream = _stream;
zip.Access = FileAccess.Write;
 
return zip;
}
/// <summary>
/// Method to open an existing storage file
/// </summary>
/// <param name="_filename">Full path of Zip file to open</param>
/// <param name="_access">File access mode as used in FileStream constructor</param>
/// <returns>A valid ZipStorer object</returns>
public static ZipStorer Open(string _filename, FileAccess _access)
{
Stream stream = (Stream)new FileStream(_filename, FileMode.Open, _access == FileAccess.Read ? FileAccess.Read : FileAccess.ReadWrite);
 
ZipStorer zip = Open(stream, _access);
zip.FileName = _filename;
 
return zip;
}
/// <summary>
/// Method to open an existing storage from stream
/// </summary>
/// <param name="_stream">Already opened stream with zip contents</param>
/// <param name="_access">File access mode for stream operations</param>
/// <returns>A valid ZipStorer object</returns>
public static ZipStorer Open(Stream _stream, FileAccess _access)
{
if (!_stream.CanSeek && _access != FileAccess.Read)
throw new InvalidOperationException("Stream cannot seek");
 
ZipStorer zip = new ZipStorer();
//zip.FileName = _filename;
zip.ZipFileStream = _stream;
zip.Access = _access;
 
if (zip.ReadFileInfo())
return zip;
 
throw new System.IO.InvalidDataException();
}
/// <summary>
/// Add full contents of a file into the Zip storage
/// </summary>
/// <param name="_method">Compression method</param>
/// <param name="_pathname">Full path of file to add to Zip storage</param>
/// <param name="_filenameInZip">Filename and path as desired in Zip directory</param>
/// <param name="_comment">Comment for stored file</param>
public void AddFile(Compression _method, string _pathname, string _filenameInZip, string _comment)
{
if (Access == FileAccess.Read)
throw new InvalidOperationException("Writing is not alowed");
 
FileStream stream = new FileStream(_pathname, FileMode.Open, FileAccess.Read);
AddStream(_method, _filenameInZip, stream, File.GetLastWriteTime(_pathname), _comment);
stream.Close();
}
/// <summary>
/// Add full contents of a stream into the Zip storage
/// </summary>
/// <param name="_method">Compression method</param>
/// <param name="_filenameInZip">Filename and path as desired in Zip directory</param>
/// <param name="_source">Stream object containing the data to store in Zip</param>
/// <param name="_modTime">Modification time of the data to store</param>
/// <param name="_comment">Comment for stored file</param>
public void AddStream(Compression _method, string _filenameInZip, Stream _source, DateTime _modTime, string _comment)
{
if (Access == FileAccess.Read)
throw new InvalidOperationException("Writing is not alowed");
 
long offset;
if (this.Files.Count==0)
offset = 0;
else
{
ZipFileEntry last = this.Files[this.Files.Count-1];
offset = last.HeaderOffset + last.HeaderSize;
}
 
// Prepare the fileinfo
ZipFileEntry zfe = new ZipFileEntry();
zfe.Method = _method;
zfe.EncodeUTF8 = this.EncodeUTF8;
zfe.FilenameInZip = NormalizedFilename(_filenameInZip);
zfe.Comment = (_comment == null ? "" : _comment);
 
// Even though we write the header now, it will have to be rewritten, since we don't know compressed size or crc.
zfe.Crc32 = 0; // to be updated later
zfe.HeaderOffset = (uint)this.ZipFileStream.Position; // offset within file of the start of this local record
zfe.ModifyTime = _modTime;
 
// Write local header
WriteLocalHeader(ref zfe);
zfe.FileOffset = (uint)this.ZipFileStream.Position;
 
// Write file to zip (store)
Store(ref zfe, _source);
_source.Close();
 
this.UpdateCrcAndSizes(ref zfe);
 
Files.Add(zfe);
}
/// <summary>
/// Updates central directory (if pertinent) and close the Zip storage
/// </summary>
/// <remarks>This is a required step, unless automatic dispose is used</remarks>
public void Close()
{
if(this.ZipFileStream == null)
return;
 
if (this.Access != FileAccess.Read)
{
uint centralOffset = (uint)this.ZipFileStream.Position;
uint centralSize = 0;
 
if (this.CentralDirImage != null)
this.ZipFileStream.Write(CentralDirImage, 0, CentralDirImage.Length);
 
for (int i = 0; i < Files.Count; i++)
{
long pos = this.ZipFileStream.Position;
this.WriteCentralDirRecord(Files[i]);
centralSize += (uint)(this.ZipFileStream.Position - pos);
}
 
if (this.CentralDirImage != null)
this.WriteEndRecord(centralSize + (uint)CentralDirImage.Length, centralOffset);
else
this.WriteEndRecord(centralSize, centralOffset);
}
 
if (this.ZipFileStream != null)
{
this.ZipFileStream.Flush();
this.ZipFileStream.Dispose();
this.ZipFileStream = null;
}
}
/// <summary>
/// Read all the file records in the central directory
/// </summary>
/// <returns>List of all entries in directory</returns>
public List<ZipFileEntry> ReadCentralDir()
{
if (this.CentralDirImage == null)
throw new InvalidOperationException("Central directory currently does not exist");
 
List<ZipFileEntry> result = new List<ZipFileEntry>();
 
for (int pointer = 0; pointer < this.CentralDirImage.Length; )
{
uint signature = BitConverter.ToUInt32(CentralDirImage, pointer);
if (signature != 0x02014b50)
break;
 
bool encodeUTF8 = (BitConverter.ToUInt16(CentralDirImage, pointer + 8) & 0x0800) != 0;
ushort method = BitConverter.ToUInt16(CentralDirImage, pointer + 10);
uint modifyTime = BitConverter.ToUInt32(CentralDirImage, pointer + 12);
uint crc32 = BitConverter.ToUInt32(CentralDirImage, pointer + 16);
uint comprSize = BitConverter.ToUInt32(CentralDirImage, pointer + 20);
uint fileSize = BitConverter.ToUInt32(CentralDirImage, pointer + 24);
ushort filenameSize = BitConverter.ToUInt16(CentralDirImage, pointer + 28);
ushort extraSize = BitConverter.ToUInt16(CentralDirImage, pointer + 30);
ushort commentSize = BitConverter.ToUInt16(CentralDirImage, pointer + 32);
uint headerOffset = BitConverter.ToUInt32(CentralDirImage, pointer + 42);
uint headerSize = (uint)( 46 + filenameSize + extraSize + commentSize);
 
Encoding encoder = encodeUTF8 ? Encoding.UTF8 : DefaultEncoding;
 
ZipFileEntry zfe = new ZipFileEntry();
zfe.Method = (Compression)method;
zfe.FilenameInZip = encoder.GetString(CentralDirImage, pointer + 46, filenameSize);
zfe.FileOffset = GetFileOffset(headerOffset);
zfe.FileSize = fileSize;
zfe.CompressedSize = comprSize;
zfe.HeaderOffset = headerOffset;
zfe.HeaderSize = headerSize;
zfe.Crc32 = crc32;
zfe.ModifyTime = DosTimeToDateTime(modifyTime);
if (commentSize > 0)
zfe.Comment = encoder.GetString(CentralDirImage, pointer + 46 + filenameSize + extraSize, commentSize);
 
result.Add(zfe);
pointer += (46 + filenameSize + extraSize + commentSize);
}
 
return result;
}
/// <summary>
/// Copy the contents of a stored file into a physical file
/// </summary>
/// <param name="_zfe">Entry information of file to extract</param>
/// <param name="_filename">Name of file to store uncompressed data</param>
/// <returns>True if success, false if not.</returns>
/// <remarks>Unique compression methods are Store and Deflate</remarks>
public bool ExtractFile(ZipFileEntry _zfe, string _filename)
{
// Make sure the parent directory exist
string path = System.IO.Path.GetDirectoryName(_filename);
 
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
// Check it is directory. If so, do nothing
if (Directory.Exists(_filename))
return true;
 
Stream output = new FileStream(_filename, FileMode.Create, FileAccess.Write);
bool result = ExtractFile(_zfe, output);
if (result)
output.Close();
 
File.SetCreationTime(_filename, _zfe.ModifyTime);
File.SetLastWriteTime(_filename, _zfe.ModifyTime);
return result;
}
/// <summary>
/// Copy the contents of a stored file into an opened stream
/// </summary>
/// <param name="_zfe">Entry information of file to extract</param>
/// <param name="_stream">Stream to store the uncompressed data</param>
/// <returns>True if success, false if not.</returns>
/// <remarks>Unique compression methods are Store and Deflate</remarks>
public bool ExtractFile(ZipFileEntry _zfe, Stream _stream)
{
if (!_stream.CanWrite)
throw new InvalidOperationException("Stream cannot be written");
 
// check signature
byte[] signature = new byte[4];
this.ZipFileStream.Seek(_zfe.HeaderOffset, SeekOrigin.Begin);
this.ZipFileStream.Read(signature, 0, 4);
if (BitConverter.ToUInt32(signature, 0) != 0x04034b50)
return false;
 
// Select input stream for inflating or just reading
Stream inStream;
if (_zfe.Method == Compression.Store)
inStream = this.ZipFileStream;
else if (_zfe.Method == Compression.Deflate)
inStream = new DeflateStream(this.ZipFileStream, CompressionMode.Decompress, true);
else
return false;
 
// Buffered copy
byte[] buffer = new byte[16384];
this.ZipFileStream.Seek(_zfe.FileOffset, SeekOrigin.Begin);
uint bytesPending = _zfe.FileSize;
while (bytesPending > 0)
{
int bytesRead = inStream.Read(buffer, 0, (int)Math.Min(bytesPending, buffer.Length));
_stream.Write(buffer, 0, bytesRead);
bytesPending -= (uint)bytesRead;
}
_stream.Flush();
 
if (_zfe.Method == Compression.Deflate)
inStream.Dispose();
return true;
}
/// <summary>
/// Removes one of many files in storage. It creates a new Zip file.
/// </summary>
/// <param name="_zip">Reference to the current Zip object</param>
/// <param name="_zfes">List of Entries to remove from storage</param>
/// <returns>True if success, false if not</returns>
/// <remarks>This method only works for storage of type FileStream</remarks>
public static bool RemoveEntries(ref ZipStorer _zip, List<ZipFileEntry> _zfes)
{
if (!(_zip.ZipFileStream is FileStream))
throw new InvalidOperationException("RemoveEntries is allowed just over streams of type FileStream");
 
 
//Get full list of entries
List<ZipFileEntry> fullList = _zip.ReadCentralDir();
 
//In order to delete we need to create a copy of the zip file excluding the selected items
string tempZipName = Path.GetTempFileName();
string tempEntryName = Path.GetTempFileName();
 
try
{
ZipStorer tempZip = ZipStorer.Create(tempZipName, string.Empty);
 
foreach (ZipFileEntry zfe in fullList)
{
if (!_zfes.Contains(zfe))
{
if (_zip.ExtractFile(zfe, tempEntryName))
{
tempZip.AddFile(zfe.Method, tempEntryName, zfe.FilenameInZip, zfe.Comment);
}
}
}
_zip.Close();
tempZip.Close();
 
File.Delete(_zip.FileName);
File.Move(tempZipName, _zip.FileName);
 
_zip = ZipStorer.Open(_zip.FileName, _zip.Access);
}
catch
{
return false;
}
finally
{
if (File.Exists(tempZipName))
File.Delete(tempZipName);
if (File.Exists(tempEntryName))
File.Delete(tempEntryName);
}
return true;
}
#endregion
 
#region Private methods
// Calculate the file offset by reading the corresponding local header
private uint GetFileOffset(uint _headerOffset)
{
byte[] buffer = new byte[2];
 
this.ZipFileStream.Seek(_headerOffset + 26, SeekOrigin.Begin);
this.ZipFileStream.Read(buffer, 0, 2);
ushort filenameSize = BitConverter.ToUInt16(buffer, 0);
this.ZipFileStream.Read(buffer, 0, 2);
ushort extraSize = BitConverter.ToUInt16(buffer, 0);
 
return (uint)(30 + filenameSize + extraSize + _headerOffset);
}
/* Local file header:
local file header signature 4 bytes (0x04034b50)
version needed to extract 2 bytes
general purpose bit flag 2 bytes
compression method 2 bytes
last mod file time 2 bytes
last mod file date 2 bytes
crc-32 4 bytes
compressed size 4 bytes
uncompressed size 4 bytes
filename length 2 bytes
extra field length 2 bytes
 
filename (variable size)
extra field (variable size)
*/
private void WriteLocalHeader(ref ZipFileEntry _zfe)
{
long pos = this.ZipFileStream.Position;
Encoding encoder = _zfe.EncodeUTF8 ? Encoding.UTF8 : DefaultEncoding;
byte[] encodedFilename = encoder.GetBytes(_zfe.FilenameInZip);
 
this.ZipFileStream.Write(new byte[] { 80, 75, 3, 4, 20, 0}, 0, 6); // No extra header
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)(_zfe.EncodeUTF8 ? 0x0800 : 0)), 0, 2); // filename and comment encoding
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)_zfe.Method), 0, 2); // zipping method
this.ZipFileStream.Write(BitConverter.GetBytes(DateTimeToDosTime(_zfe.ModifyTime)), 0, 4); // zipping date and time
this.ZipFileStream.Write(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 0, 12); // unused CRC, un/compressed size, updated later
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)encodedFilename.Length), 0, 2); // filename length
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)0), 0, 2); // extra length
 
this.ZipFileStream.Write(encodedFilename, 0, encodedFilename.Length);
_zfe.HeaderSize = (uint)(this.ZipFileStream.Position - pos);
}
/* Central directory's File header:
central file header signature 4 bytes (0x02014b50)
version made by 2 bytes
version needed to extract 2 bytes
general purpose bit flag 2 bytes
compression method 2 bytes
last mod file time 2 bytes
last mod file date 2 bytes
crc-32 4 bytes
compressed size 4 bytes
uncompressed size 4 bytes
filename length 2 bytes
extra field length 2 bytes
file comment length 2 bytes
disk number start 2 bytes
internal file attributes 2 bytes
external file attributes 4 bytes
relative offset of local header 4 bytes
 
filename (variable size)
extra field (variable size)
file comment (variable size)
*/
private void WriteCentralDirRecord(ZipFileEntry _zfe)
{
Encoding encoder = _zfe.EncodeUTF8 ? Encoding.UTF8 : DefaultEncoding;
byte[] encodedFilename = encoder.GetBytes(_zfe.FilenameInZip);
byte[] encodedComment = encoder.GetBytes(_zfe.Comment);
 
this.ZipFileStream.Write(new byte[] { 80, 75, 1, 2, 23, 0xB, 20, 0 }, 0, 8);
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)(_zfe.EncodeUTF8 ? 0x0800 : 0)), 0, 2); // filename and comment encoding
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)_zfe.Method), 0, 2); // zipping method
this.ZipFileStream.Write(BitConverter.GetBytes(DateTimeToDosTime(_zfe.ModifyTime)), 0, 4); // zipping date and time
this.ZipFileStream.Write(BitConverter.GetBytes(_zfe.Crc32), 0, 4); // file CRC
this.ZipFileStream.Write(BitConverter.GetBytes(_zfe.CompressedSize), 0, 4); // compressed file size
this.ZipFileStream.Write(BitConverter.GetBytes(_zfe.FileSize), 0, 4); // uncompressed file size
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)encodedFilename.Length), 0, 2); // Filename in zip
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)0), 0, 2); // extra length
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)encodedComment.Length), 0, 2);
 
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)0), 0, 2); // disk=0
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)0), 0, 2); // file type: binary
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)0), 0, 2); // Internal file attributes
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)0x8100), 0, 2); // External file attributes (normal/readable)
this.ZipFileStream.Write(BitConverter.GetBytes(_zfe.HeaderOffset), 0, 4); // Offset of header
 
this.ZipFileStream.Write(encodedFilename, 0, encodedFilename.Length);
this.ZipFileStream.Write(encodedComment, 0, encodedComment.Length);
}
/* End of central dir record:
end of central dir signature 4 bytes (0x06054b50)
number of this disk 2 bytes
number of the disk with the
start of the central directory 2 bytes
total number of entries in
the central dir on this disk 2 bytes
total number of entries in
the central dir 2 bytes
size of the central directory 4 bytes
offset of start of central
directory with respect to
the starting disk number 4 bytes
zipfile comment length 2 bytes
zipfile comment (variable size)
*/
private void WriteEndRecord(uint _size, uint _offset)
{
Encoding encoder = this.EncodeUTF8 ? Encoding.UTF8 : DefaultEncoding;
byte[] encodedComment = encoder.GetBytes(this.Comment);
 
this.ZipFileStream.Write(new byte[] { 80, 75, 5, 6, 0, 0, 0, 0 }, 0, 8);
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)Files.Count+ExistingFiles), 0, 2);
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)Files.Count+ExistingFiles), 0, 2);
this.ZipFileStream.Write(BitConverter.GetBytes(_size), 0, 4);
this.ZipFileStream.Write(BitConverter.GetBytes(_offset), 0, 4);
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)encodedComment.Length), 0, 2);
this.ZipFileStream.Write(encodedComment, 0, encodedComment.Length);
}
// Copies all source file into storage file
private void Store(ref ZipFileEntry _zfe, Stream _source)
{
byte[] buffer = new byte[16384];
int bytesRead;
uint totalRead = 0;
Stream outStream;
 
long posStart = this.ZipFileStream.Position;
long sourceStart = _source.Position;
 
if (_zfe.Method == Compression.Store)
outStream = this.ZipFileStream;
else
outStream = new DeflateStream(this.ZipFileStream, CompressionMode.Compress, true);
 
_zfe.Crc32 = 0 ^ 0xffffffff;
do
{
bytesRead = _source.Read(buffer, 0, buffer.Length);
totalRead += (uint)bytesRead;
if (bytesRead > 0)
{
outStream.Write(buffer, 0, bytesRead);
 
for (uint i = 0; i < bytesRead; i++)
{
_zfe.Crc32 = ZipStorer.CrcTable[(_zfe.Crc32 ^ buffer[i]) & 0xFF] ^ (_zfe.Crc32 >> 8);
}
}
} while (bytesRead == buffer.Length);
outStream.Flush();
 
if (_zfe.Method == Compression.Deflate)
outStream.Dispose();
 
_zfe.Crc32 ^= 0xffffffff;
_zfe.FileSize = totalRead;
_zfe.CompressedSize = (uint)(this.ZipFileStream.Position - posStart);
 
// Verify for real compression
if (_zfe.Method == Compression.Deflate && !this.ForceDeflating && _source.CanSeek && _zfe.CompressedSize > _zfe.FileSize)
{
// Start operation again with Store algorithm
_zfe.Method = Compression.Store;
this.ZipFileStream.Position = posStart;
this.ZipFileStream.SetLength(posStart);
_source.Position = sourceStart;
this.Store(ref _zfe, _source);
}
}
/* DOS Date and time:
MS-DOS date. The date is a packed value with the following format. Bits Description
0-4 Day of the month (1–31)
5-8 Month (1 = January, 2 = February, and so on)
9-15 Year offset from 1980 (add 1980 to get actual year)
MS-DOS time. The time is a packed value with the following format. Bits Description
0-4 Second divided by 2
5-10 Minute (0–59)
11-15 Hour (0–23 on a 24-hour clock)
*/
private uint DateTimeToDosTime(DateTime _dt)
{
return (uint)(
(_dt.Second / 2) | (_dt.Minute << 5) | (_dt.Hour << 11) |
(_dt.Day<<16) | (_dt.Month << 21) | ((_dt.Year - 1980) << 25));
}
private DateTime DosTimeToDateTime(uint _dt)
{
return new DateTime(
(int)(_dt >> 25) + 1980,
(int)(_dt >> 21) & 15,
(int)(_dt >> 16) & 31,
(int)(_dt >> 11) & 31,
(int)(_dt >> 5) & 63,
(int)(_dt & 31) * 2);
}
 
/* CRC32 algorithm
The 'magic number' for the CRC is 0xdebb20e3.
The proper CRC pre and post conditioning
is used, meaning that the CRC register is
pre-conditioned with all ones (a starting value
of 0xffffffff) and the value is post-conditioned by
taking the one's complement of the CRC residual.
If bit 3 of the general purpose flag is set, this
field is set to zero in the local header and the correct
value is put in the data descriptor and in the central
directory.
*/
private void UpdateCrcAndSizes(ref ZipFileEntry _zfe)
{
long lastPos = this.ZipFileStream.Position; // remember position
 
this.ZipFileStream.Position = _zfe.HeaderOffset + 8;
this.ZipFileStream.Write(BitConverter.GetBytes((ushort)_zfe.Method), 0, 2); // zipping method
 
this.ZipFileStream.Position = _zfe.HeaderOffset + 14;
this.ZipFileStream.Write(BitConverter.GetBytes(_zfe.Crc32), 0, 4); // Update CRC
this.ZipFileStream.Write(BitConverter.GetBytes(_zfe.CompressedSize), 0, 4); // Compressed size
this.ZipFileStream.Write(BitConverter.GetBytes(_zfe.FileSize), 0, 4); // Uncompressed size
 
this.ZipFileStream.Position = lastPos; // restore position
}
// Replaces backslashes with slashes to store in zip header
private string NormalizedFilename(string _filename)
{
string filename = _filename.Replace('\\', '/');
 
int pos = filename.IndexOf(':');
if (pos >= 0)
filename = filename.Remove(0, pos + 1);
 
return filename.Trim('/');
}
// Reads the end-of-central-directory record
private bool ReadFileInfo()
{
if (this.ZipFileStream.Length < 22)
return false;
 
try
{
this.ZipFileStream.Seek(-17, SeekOrigin.End);
BinaryReader br = new BinaryReader(this.ZipFileStream);
do
{
this.ZipFileStream.Seek(-5, SeekOrigin.Current);
UInt32 sig = br.ReadUInt32();
if (sig == 0x06054b50)
{
this.ZipFileStream.Seek(6, SeekOrigin.Current);
 
UInt16 entries = br.ReadUInt16();
Int32 centralSize = br.ReadInt32();
UInt32 centralDirOffset = br.ReadUInt32();
UInt16 commentSize = br.ReadUInt16();
 
// check if comment field is the very last data in file
if (this.ZipFileStream.Position + commentSize != this.ZipFileStream.Length)
return false;
 
// Copy entire central directory to a memory buffer
this.ExistingFiles = entries;
this.CentralDirImage = new byte[centralSize];
this.ZipFileStream.Seek(centralDirOffset, SeekOrigin.Begin);
this.ZipFileStream.Read(this.CentralDirImage, 0, centralSize);
 
// Leave the pointer at the begining of central dir, to append new files
this.ZipFileStream.Seek(centralDirOffset, SeekOrigin.Begin);
return true;
}
} while (this.ZipFileStream.Position > 0);
}
catch { }
 
return false;
}
#endregion
 
#region IDisposable Members
/// <summary>
/// Closes the Zip file stream
/// </summary>
public void Dispose()
{
this.Close();
}
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET/gpx.cs
0,0 → 1,1442
//
// This source code was auto-generated by xsd, Version=4.0.30319.1.
//
namespace GMap.NET
{
using System.Xml.Serialization;
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
[System.Xml.Serialization.XmlRootAttribute("gpx", Namespace="http://www.topografix.com/GPX/1/1", IsNullable=false)]
public partial class gpxType
{
 
private metadataType metadataField;
 
private wptType[] wptField;
 
private rteType[] rteField;
 
private trkType[] trkField;
 
private extensionsType extensionsField;
 
private string versionField;
 
private string creatorField;
 
public gpxType()
{
this.versionField = "1.1";
}
 
/// <remarks/>
public metadataType metadata
{
get
{
return this.metadataField;
}
set
{
this.metadataField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("wpt")]
public wptType[] wpt
{
get
{
return this.wptField;
}
set
{
this.wptField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("rte")]
public rteType[] rte
{
get
{
return this.rteField;
}
set
{
this.rteField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("trk")]
public trkType[] trk
{
get
{
return this.trkField;
}
set
{
this.trkField = value;
}
}
 
/// <remarks/>
public extensionsType extensions
{
get
{
return this.extensionsField;
}
set
{
this.extensionsField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string version
{
get
{
return this.versionField;
}
set
{
this.versionField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string creator
{
get
{
return this.creatorField;
}
set
{
this.creatorField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class metadataType
{
 
private string nameField;
 
private string descField;
 
private personType authorField;
 
private copyrightType copyrightField;
 
private linkType[] linkField;
 
private System.DateTime timeField;
 
private bool timeFieldSpecified;
 
private string keywordsField;
 
private boundsType boundsField;
 
private extensionsType extensionsField;
 
/// <remarks/>
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
 
/// <remarks/>
public string desc
{
get
{
return this.descField;
}
set
{
this.descField = value;
}
}
 
/// <remarks/>
public personType author
{
get
{
return this.authorField;
}
set
{
this.authorField = value;
}
}
 
/// <remarks/>
public copyrightType copyright
{
get
{
return this.copyrightField;
}
set
{
this.copyrightField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("link")]
public linkType[] link
{
get
{
return this.linkField;
}
set
{
this.linkField = value;
}
}
 
/// <remarks/>
public System.DateTime time
{
get
{
return this.timeField;
}
set
{
this.timeField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool timeSpecified
{
get
{
return this.timeFieldSpecified;
}
set
{
this.timeFieldSpecified = value;
}
}
 
/// <remarks/>
public string keywords
{
get
{
return this.keywordsField;
}
set
{
this.keywordsField = value;
}
}
 
/// <remarks/>
public boundsType bounds
{
get
{
return this.boundsField;
}
set
{
this.boundsField = value;
}
}
 
/// <remarks/>
public extensionsType extensions
{
get
{
return this.extensionsField;
}
set
{
this.extensionsField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class personType
{
 
private string nameField;
 
private emailType emailField;
 
private linkType linkField;
 
/// <remarks/>
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
 
/// <remarks/>
public emailType email
{
get
{
return this.emailField;
}
set
{
this.emailField = value;
}
}
 
/// <remarks/>
public linkType link
{
get
{
return this.linkField;
}
set
{
this.linkField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class emailType
{
 
private string idField;
 
private string domainField;
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string id
{
get
{
return this.idField;
}
set
{
this.idField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string domain
{
get
{
return this.domainField;
}
set
{
this.domainField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class trksegType
{
 
private wptType[] trkptField;
 
private extensionsType extensionsField;
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("trkpt")]
public wptType[] trkpt
{
get
{
return this.trkptField;
}
set
{
this.trkptField = value;
}
}
 
/// <remarks/>
public extensionsType extensions
{
get
{
return this.extensionsField;
}
set
{
this.extensionsField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class wptType
{
 
private decimal eleField;
 
private bool eleFieldSpecified;
 
private System.DateTime timeField;
 
private bool timeFieldSpecified;
 
private decimal magvarField;
 
private bool magvarFieldSpecified;
 
private decimal geoidheightField;
 
private bool geoidheightFieldSpecified;
 
private string nameField;
 
private string cmtField;
 
private string descField;
 
private string srcField;
 
private linkType[] linkField;
 
private string symField;
 
private string typeField;
 
private fixType fixField;
 
private bool fixFieldSpecified;
 
private string satField;
 
private decimal hdopField;
 
private bool hdopFieldSpecified;
 
private decimal vdopField;
 
private bool vdopFieldSpecified;
 
private decimal pdopField;
 
private bool pdopFieldSpecified;
 
private decimal ageofdgpsdataField;
 
private bool ageofdgpsdataFieldSpecified;
 
private string dgpsidField;
 
private extensionsType extensionsField;
 
private decimal latField;
 
private decimal lonField;
 
/// <remarks/>
public decimal ele
{
get
{
return this.eleField;
}
set
{
this.eleField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool eleSpecified
{
get
{
return this.eleFieldSpecified;
}
set
{
this.eleFieldSpecified = value;
}
}
 
/// <remarks/>
public System.DateTime time
{
get
{
return this.timeField;
}
set
{
this.timeField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool timeSpecified
{
get
{
return this.timeFieldSpecified;
}
set
{
this.timeFieldSpecified = value;
}
}
 
/// <remarks/>
public decimal magvar
{
get
{
return this.magvarField;
}
set
{
this.magvarField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool magvarSpecified
{
get
{
return this.magvarFieldSpecified;
}
set
{
this.magvarFieldSpecified = value;
}
}
 
/// <remarks/>
public decimal geoidheight
{
get
{
return this.geoidheightField;
}
set
{
this.geoidheightField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool geoidheightSpecified
{
get
{
return this.geoidheightFieldSpecified;
}
set
{
this.geoidheightFieldSpecified = value;
}
}
 
/// <remarks/>
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
 
/// <remarks/>
public string cmt
{
get
{
return this.cmtField;
}
set
{
this.cmtField = value;
}
}
 
/// <remarks/>
public string desc
{
get
{
return this.descField;
}
set
{
this.descField = value;
}
}
 
/// <remarks/>
public string src
{
get
{
return this.srcField;
}
set
{
this.srcField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("link")]
public linkType[] link
{
get
{
return this.linkField;
}
set
{
this.linkField = value;
}
}
 
/// <remarks/>
public string sym
{
get
{
return this.symField;
}
set
{
this.symField = value;
}
}
 
/// <remarks/>
public string type
{
get
{
return this.typeField;
}
set
{
this.typeField = value;
}
}
 
/// <remarks/>
public fixType fix
{
get
{
return this.fixField;
}
set
{
this.fixField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool fixSpecified
{
get
{
return this.fixFieldSpecified;
}
set
{
this.fixFieldSpecified = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
public string sat
{
get
{
return this.satField;
}
set
{
this.satField = value;
}
}
 
/// <remarks/>
public decimal hdop
{
get
{
return this.hdopField;
}
set
{
this.hdopField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool hdopSpecified
{
get
{
return this.hdopFieldSpecified;
}
set
{
this.hdopFieldSpecified = value;
}
}
 
/// <remarks/>
public decimal vdop
{
get
{
return this.vdopField;
}
set
{
this.vdopField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool vdopSpecified
{
get
{
return this.vdopFieldSpecified;
}
set
{
this.vdopFieldSpecified = value;
}
}
 
/// <remarks/>
public decimal pdop
{
get
{
return this.pdopField;
}
set
{
this.pdopField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool pdopSpecified
{
get
{
return this.pdopFieldSpecified;
}
set
{
this.pdopFieldSpecified = value;
}
}
 
/// <remarks/>
public decimal ageofdgpsdata
{
get
{
return this.ageofdgpsdataField;
}
set
{
this.ageofdgpsdataField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool ageofdgpsdataSpecified
{
get
{
return this.ageofdgpsdataFieldSpecified;
}
set
{
this.ageofdgpsdataFieldSpecified = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
public string dgpsid
{
get
{
return this.dgpsidField;
}
set
{
this.dgpsidField = value;
}
}
 
/// <remarks/>
public extensionsType extensions
{
get
{
return this.extensionsField;
}
set
{
this.extensionsField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal lat
{
get
{
return this.latField;
}
set
{
this.latField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal lon
{
get
{
return this.lonField;
}
set
{
this.lonField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class linkType
{
 
private string textField;
 
private string typeField;
 
private string hrefField;
 
/// <remarks/>
public string text
{
get
{
return this.textField;
}
set
{
this.textField = value;
}
}
 
/// <remarks/>
public string type
{
get
{
return this.typeField;
}
set
{
this.typeField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
public string href
{
get
{
return this.hrefField;
}
set
{
this.hrefField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public enum fixType
{
 
/// <remarks/>
none,
 
/// <remarks/>
[System.Xml.Serialization.XmlEnumAttribute("2d")]
Item2d,
 
/// <remarks/>
[System.Xml.Serialization.XmlEnumAttribute("3d")]
Item3d,
 
/// <remarks/>
dgps,
 
/// <remarks/>
pps,
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class extensionsType
{
 
private System.Xml.XmlElement[] anyField;
 
/// <remarks/>
[System.Xml.Serialization.XmlAnyElementAttribute()]
public System.Xml.XmlElement[] Any
{
get
{
return this.anyField;
}
set
{
this.anyField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class trkType
{
 
private string nameField;
 
private string cmtField;
 
private string descField;
 
private string srcField;
 
private linkType[] linkField;
 
private string numberField;
 
private string typeField;
 
private extensionsType extensionsField;
 
private trksegType[] trksegField;
 
/// <remarks/>
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
 
/// <remarks/>
public string cmt
{
get
{
return this.cmtField;
}
set
{
this.cmtField = value;
}
}
 
/// <remarks/>
public string desc
{
get
{
return this.descField;
}
set
{
this.descField = value;
}
}
 
/// <remarks/>
public string src
{
get
{
return this.srcField;
}
set
{
this.srcField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("link")]
public linkType[] link
{
get
{
return this.linkField;
}
set
{
this.linkField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
public string number
{
get
{
return this.numberField;
}
set
{
this.numberField = value;
}
}
 
/// <remarks/>
public string type
{
get
{
return this.typeField;
}
set
{
this.typeField = value;
}
}
 
/// <remarks/>
public extensionsType extensions
{
get
{
return this.extensionsField;
}
set
{
this.extensionsField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("trkseg")]
public trksegType[] trkseg
{
get
{
return this.trksegField;
}
set
{
this.trksegField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class rteType
{
 
private string nameField;
 
private string cmtField;
 
private string descField;
 
private string srcField;
 
private linkType[] linkField;
 
private string numberField;
 
private string typeField;
 
private extensionsType extensionsField;
 
private wptType[] rteptField;
 
/// <remarks/>
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
 
/// <remarks/>
public string cmt
{
get
{
return this.cmtField;
}
set
{
this.cmtField = value;
}
}
 
/// <remarks/>
public string desc
{
get
{
return this.descField;
}
set
{
this.descField = value;
}
}
 
/// <remarks/>
public string src
{
get
{
return this.srcField;
}
set
{
this.srcField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("link")]
public linkType[] link
{
get
{
return this.linkField;
}
set
{
this.linkField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
public string number
{
get
{
return this.numberField;
}
set
{
this.numberField = value;
}
}
 
/// <remarks/>
public string type
{
get
{
return this.typeField;
}
set
{
this.typeField = value;
}
}
 
/// <remarks/>
public extensionsType extensions
{
get
{
return this.extensionsField;
}
set
{
this.extensionsField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("rtept")]
public wptType[] rtept
{
get
{
return this.rteptField;
}
set
{
this.rteptField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class boundsType
{
 
private decimal minlatField;
 
private decimal minlonField;
 
private decimal maxlatField;
 
private decimal maxlonField;
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal minlat
{
get
{
return this.minlatField;
}
set
{
this.minlatField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal minlon
{
get
{
return this.minlonField;
}
set
{
this.minlonField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal maxlat
{
get
{
return this.maxlatField;
}
set
{
this.maxlatField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal maxlon
{
get
{
return this.maxlonField;
}
set
{
this.maxlonField = value;
}
}
}
 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.topografix.com/GPX/1/1")]
public partial class copyrightType
{
 
private string yearField;
 
private string licenseField;
 
private string authorField;
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="gYear")]
public string year
{
get
{
return this.yearField;
}
set
{
this.yearField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
public string license
{
get
{
return this.licenseField;
}
set
{
this.licenseField = value;
}
}
 
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string author
{
get
{
return this.authorField;
}
set
{
this.authorField = value;
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.CacheProviders/MSSQLCEPureImageCache.cs
0,0 → 1,255

namespace GMap.NET.CacheProviders
{
#if !SQLite
using System;
using System.Data;
using System.Diagnostics;
using System.IO;
using SqlCommand = System.Data.SqlServerCe.SqlCeCommand;
using SqlConnection = System.Data.SqlServerCe.SqlCeConnection;
using GMap.NET.MapProviders;
 
/// <summary>
/// image cache for ms sql server
/// </summary>
public class MsSQLCePureImageCache : PureImageCache, IDisposable
{
string cache;
string gtileCache;
 
/// <summary>
/// local cache location
/// </summary>
public string CacheLocation
{
get
{
return cache;
}
set
{
cache = value;
gtileCache = Path.Combine(cache, "TileDBv3") + Path.DirectorySeparatorChar + GMapProvider.LanguageStr + Path.DirectorySeparatorChar;
}
}
 
SqlCommand cmdInsert;
SqlCommand cmdFetch;
SqlConnection cnGet;
SqlConnection cnSet;
 
/// <summary>
/// is cache initialized
/// </summary>
public volatile bool Initialized = false;
 
/// <summary>
/// inits connection to server
/// </summary>
/// <returns></returns>
public bool Initialize()
{
if(!Initialized)
{
#region prepare mssql & cache table
try
{
// precrete dir
if(!Directory.Exists(gtileCache))
{
Directory.CreateDirectory(gtileCache);
}
 
string connectionString = string.Format("Data Source={0}Data.sdf", gtileCache);
 
if(!File.Exists(gtileCache + "Data.sdf"))
{
using(System.Data.SqlServerCe.SqlCeEngine engine = new System.Data.SqlServerCe.SqlCeEngine(connectionString))
{
engine.CreateDatabase();
}
 
try
{
using(SqlConnection c = new SqlConnection(connectionString))
{
c.Open();
 
using(SqlCommand cmd = new SqlCommand(
"CREATE TABLE [GMapNETcache] ( \n"
+ " [Type] [int] NOT NULL, \n"
+ " [Zoom] [int] NOT NULL, \n"
+ " [X] [int] NOT NULL, \n"
+ " [Y] [int] NOT NULL, \n"
+ " [Tile] [image] NOT NULL, \n"
+ " CONSTRAINT [PK_GMapNETcache] PRIMARY KEY (Type, Zoom, X, Y) \n"
+ ")", c))
{
cmd.ExecuteNonQuery();
}
}
}
catch(Exception ex)
{
try
{
File.Delete(gtileCache + "Data.sdf");
}
catch
{
}
 
throw ex;
}
}
 
// different connections so the multi-thread inserts and selects don't collide on open readers.
this.cnGet = new SqlConnection(connectionString);
this.cnGet.Open();
this.cnSet = new SqlConnection(connectionString);
this.cnSet.Open();
 
this.cmdFetch = new SqlCommand("SELECT [Tile] FROM [GMapNETcache] WITH (NOLOCK) WHERE [X]=@x AND [Y]=@y AND [Zoom]=@zoom AND [Type]=@type", cnGet);
this.cmdFetch.Parameters.Add("@x", System.Data.SqlDbType.Int);
this.cmdFetch.Parameters.Add("@y", System.Data.SqlDbType.Int);
this.cmdFetch.Parameters.Add("@zoom", System.Data.SqlDbType.Int);
this.cmdFetch.Parameters.Add("@type", System.Data.SqlDbType.Int);
this.cmdFetch.Prepare();
 
this.cmdInsert = new SqlCommand("INSERT INTO [GMapNETcache] ( [X], [Y], [Zoom], [Type], [Tile] ) VALUES ( @x, @y, @zoom, @type, @tile )", cnSet);
this.cmdInsert.Parameters.Add("@x", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@y", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@zoom", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@type", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@tile", System.Data.SqlDbType.Image); //, calcmaximgsize);
//can't prepare insert because of the IMAGE field having a variable size. Could set it to some 'maximum' size?
 
Initialized = true;
}
catch(Exception ex)
{
Initialized = false;
Debug.WriteLine(ex.Message);
}
#endregion
}
return Initialized;
}
 
#region IDisposable Members
public void Dispose()
{
lock(cmdInsert)
{
if(cmdInsert != null)
{
cmdInsert.Dispose();
cmdInsert = null;
}
 
if(cnSet != null)
{
cnSet.Dispose();
cnSet = null;
}
}
 
lock(cmdFetch)
{
if(cmdFetch != null)
{
cmdFetch.Dispose();
cmdFetch = null;
}
 
if(cnGet != null)
{
cnGet.Dispose();
cnGet = null;
}
}
Initialized = false;
}
#endregion
 
#region PureImageCache Members
public bool PutImageToCache(byte[] tile, int type, GPoint pos, int zoom)
{
bool ret = true;
{
if(Initialize())
{
try
{
lock(cmdInsert)
{
cmdInsert.Parameters["@x"].Value = pos.X;
cmdInsert.Parameters["@y"].Value = pos.Y;
cmdInsert.Parameters["@zoom"].Value = zoom;
cmdInsert.Parameters["@type"].Value = type;
cmdInsert.Parameters["@tile"].Value = tile;
cmdInsert.ExecuteNonQuery();
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = false;
Dispose();
}
}
}
return ret;
}
 
public PureImage GetImageFromCache(int type, GPoint pos, int zoom)
{
PureImage ret = null;
{
if(Initialize())
{
try
{
object odata = null;
lock(cmdFetch)
{
cmdFetch.Parameters["@x"].Value = pos.X;
cmdFetch.Parameters["@y"].Value = pos.Y;
cmdFetch.Parameters["@zoom"].Value = zoom;
cmdFetch.Parameters["@type"].Value = type;
odata = cmdFetch.ExecuteScalar();
}
 
if(odata != null && odata != DBNull.Value)
{
byte[] tile = (byte[])odata;
if(tile != null && tile.Length > 0)
{
if(GMapProvider.TileImageProxy != null)
{
ret = GMapProvider.TileImageProxy.FromArray(tile);
}
}
tile = null;
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = null;
Dispose();
}
}
}
return ret;
}
 
int PureImageCache.DeleteOlderThan(DateTime date, int ? type)
{
throw new NotImplementedException();
}
#endregion
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.CacheProviders/MSSQLPureImageCache.cs
0,0 → 1,255

namespace GMap.NET.CacheProviders
{
using System;
using System.Data.SqlClient;
using System.Diagnostics;
using System.IO;
using GMap.NET.MapProviders;
 
/// <summary>
/// image cache for ms sql server
/// optimized by mmurfinsimmons@gmail.com
/// </summary>
public class MsSQLPureImageCache : PureImageCache, IDisposable
{
string connectionString = string.Empty;
public string ConnectionString
{
get
{
return connectionString;
}
set
{
if(connectionString != value)
{
connectionString = value;
 
if(Initialized)
{
Dispose();
Initialize();
}
}
}
}
 
SqlCommand cmdInsert;
SqlCommand cmdFetch;
SqlConnection cnGet;
SqlConnection cnSet;
 
bool initialized = false;
 
/// <summary>
/// is cache initialized
/// </summary>
public bool Initialized
{
get
{
lock(this)
{
return initialized;
}
}
private set
{
lock(this)
{
initialized = value;
}
}
}
 
/// <summary>
/// inits connection to server
/// </summary>
/// <returns></returns>
public bool Initialize()
{
lock(this)
{
if(!Initialized)
{
#region prepare mssql & cache table
try
{
// different connections so the multi-thread inserts and selects don't collide on open readers.
this.cnGet = new SqlConnection(connectionString);
this.cnGet.Open();
this.cnSet = new SqlConnection(connectionString);
this.cnSet.Open();
 
bool tableexists = false;
using(SqlCommand cmd = new SqlCommand("select object_id('GMapNETcache')", cnGet))
{
object objid = cmd.ExecuteScalar();
tableexists = (objid != null && objid != DBNull.Value);
}
if(!tableexists)
{
using(SqlCommand cmd = new SqlCommand(
"CREATE TABLE [GMapNETcache] ( \n"
+ " [Type] [int] NOT NULL, \n"
+ " [Zoom] [int] NOT NULL, \n"
+ " [X] [int] NOT NULL, \n"
+ " [Y] [int] NOT NULL, \n"
+ " [Tile] [image] NOT NULL, \n"
+ " CONSTRAINT [PK_GMapNETcache] PRIMARY KEY CLUSTERED (Type, Zoom, X, Y) \n"
+ ")", cnGet))
{
cmd.ExecuteNonQuery();
}
}
 
this.cmdFetch = new SqlCommand("SELECT [Tile] FROM [GMapNETcache] WITH (NOLOCK) WHERE [X]=@x AND [Y]=@y AND [Zoom]=@zoom AND [Type]=@type", cnGet);
this.cmdFetch.Parameters.Add("@x", System.Data.SqlDbType.Int);
this.cmdFetch.Parameters.Add("@y", System.Data.SqlDbType.Int);
this.cmdFetch.Parameters.Add("@zoom", System.Data.SqlDbType.Int);
this.cmdFetch.Parameters.Add("@type", System.Data.SqlDbType.Int);
this.cmdFetch.Prepare();
 
this.cmdInsert = new SqlCommand("INSERT INTO [GMapNETcache] ( [X], [Y], [Zoom], [Type], [Tile] ) VALUES ( @x, @y, @zoom, @type, @tile )", cnSet);
this.cmdInsert.Parameters.Add("@x", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@y", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@zoom", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@type", System.Data.SqlDbType.Int);
this.cmdInsert.Parameters.Add("@tile", System.Data.SqlDbType.Image); //, calcmaximgsize);
//can't prepare insert because of the IMAGE field having a variable size. Could set it to some 'maximum' size?
 
Initialized = true;
}
catch(Exception ex)
{
this.initialized = false;
Debug.WriteLine(ex.Message);
}
#endregion
}
return Initialized;
}
}
 
#region IDisposable Members
public void Dispose()
{
lock(cmdInsert)
{
if(cmdInsert != null)
{
cmdInsert.Dispose();
cmdInsert = null;
}
 
if(cnSet != null)
{
cnSet.Dispose();
cnSet = null;
}
}
 
lock(cmdFetch)
{
if(cmdFetch != null)
{
cmdFetch.Dispose();
cmdFetch = null;
}
 
if(cnGet != null)
{
cnGet.Dispose();
cnGet = null;
}
}
Initialized = false;
}
#endregion
 
#region PureImageCache Members
public bool PutImageToCache(byte[] tile, int type, GPoint pos, int zoom)
{
bool ret = true;
{
if(Initialize())
{
try
{
lock(cmdInsert)
{
cmdInsert.Parameters["@x"].Value = pos.X;
cmdInsert.Parameters["@y"].Value = pos.Y;
cmdInsert.Parameters["@zoom"].Value = zoom;
cmdInsert.Parameters["@type"].Value = type;
cmdInsert.Parameters["@tile"].Value = tile;
cmdInsert.ExecuteNonQuery();
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = false;
Dispose();
}
}
}
return ret;
}
 
public PureImage GetImageFromCache(int type, GPoint pos, int zoom)
{
PureImage ret = null;
{
if(Initialize())
{
try
{
object odata = null;
lock(cmdFetch)
{
cmdFetch.Parameters["@x"].Value = pos.X;
cmdFetch.Parameters["@y"].Value = pos.Y;
cmdFetch.Parameters["@zoom"].Value = zoom;
cmdFetch.Parameters["@type"].Value = type;
odata = cmdFetch.ExecuteScalar();
}
 
if(odata != null && odata != DBNull.Value)
{
byte[] tile = (byte[])odata;
if(tile != null && tile.Length > 0)
{
if(GMapProvider.TileImageProxy != null)
{
ret = GMapProvider.TileImageProxy.FromArray(tile);
}
}
tile = null;
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = null;
Dispose();
}
}
}
return ret;
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="date"></param>
/// <param name="type"></param>
/// <returns></returns>
int PureImageCache.DeleteOlderThan(DateTime date, int ? type)
{
throw new NotImplementedException();
}
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.CacheProviders/MemoryCache.cs
0,0 → 1,168

namespace GMap.NET.CacheProviders
{
using System.Diagnostics;
using GMap.NET.Internals;
using System;
 
public class MemoryCache : IDisposable
{
readonly KiberTileCache TilesInMemory = new KiberTileCache();
 
FastReaderWriterLock kiberCacheLock = new FastReaderWriterLock();
 
/// <summary>
/// the amount of tiles in MB to keep in memmory, default: 22MB, if each ~100Kb it's ~222 tiles
/// </summary>
public int Capacity
{
get
{
kiberCacheLock.AcquireReaderLock();
try
{
return TilesInMemory.MemoryCacheCapacity;
}
finally
{
kiberCacheLock.ReleaseReaderLock();
}
}
set
{
kiberCacheLock.AcquireWriterLock();
try
{
TilesInMemory.MemoryCacheCapacity = value;
}
finally
{
kiberCacheLock.ReleaseWriterLock();
}
}
}
 
/// <summary>
/// current memmory cache size in MB
/// </summary>
public double Size
{
get
{
kiberCacheLock.AcquireReaderLock();
try
{
return TilesInMemory.MemoryCacheSize;
}
finally
{
kiberCacheLock.ReleaseReaderLock();
}
}
}
 
public void Clear()
{
kiberCacheLock.AcquireWriterLock();
try
{
TilesInMemory.Clear();
}
finally
{
kiberCacheLock.ReleaseWriterLock();
}
}
 
// ...
 
internal byte[] GetTileFromMemoryCache(RawTile tile)
{
kiberCacheLock.AcquireReaderLock();
try
{
byte[] ret = null;
if(TilesInMemory.TryGetValue(tile, out ret))
{
return ret;
}
}
finally
{
kiberCacheLock.ReleaseReaderLock();
}
return null;
}
 
internal void AddTileToMemoryCache(RawTile tile, byte[] data)
{
if(data != null)
{
kiberCacheLock.AcquireWriterLock();
try
{
if(!TilesInMemory.ContainsKey(tile))
{
TilesInMemory.Add(tile, data);
}
}
finally
{
kiberCacheLock.ReleaseWriterLock();
}
}
#if DEBUG
else
{
Debug.WriteLine("adding empty data to MemoryCache ;} ");
if(Debugger.IsAttached)
{
Debugger.Break();
}
}
#endif
}
 
internal void RemoveOverload()
{
kiberCacheLock.AcquireWriterLock();
try
{
TilesInMemory.RemoveMemoryOverload();
}
finally
{
kiberCacheLock.ReleaseWriterLock();
}
}
 
#region IDisposable Members
 
~MemoryCache()
{
Dispose(false);
}
 
void Dispose(bool disposing)
{
if(kiberCacheLock != null)
{
if(disposing)
{
Clear();
}
 
kiberCacheLock.Dispose();
kiberCacheLock = null;
}
}
 
public void Dispose()
{
this.Dispose(true);
GC.SuppressFinalize(this);
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.CacheProviders/MySQLPureImageCache.cs
0,0 → 1,260

namespace GMap.NET.CacheProviders
{
#if MySQL
using System;
using System.Data;
using System.Diagnostics;
using System.IO;
using GMap.NET;
using MySql.Data.MySqlClient;
using GMap.NET.MapProviders;
 
/// <summary>
/// image cache for mysql server
/// </summary>
public class MySQLPureImageCache : PureImageCache, IDisposable
{
string connectionString = string.Empty;
public string ConnectionString
{
get
{
return connectionString;
}
set
{
if(connectionString != value)
{
connectionString = value;
 
if(Initialized)
{
Dispose();
Initialize();
}
}
}
}
 
MySqlCommand cmdInsert;
MySqlCommand cmdFetch;
MySqlConnection cnGet;
MySqlConnection cnSet;
 
bool initialized = false;
 
/// <summary>
/// is cache initialized
/// </summary>
public bool Initialized
{
get
{
lock(this)
{
return initialized;
}
}
private set
{
lock(this)
{
initialized = value;
}
}
}
 
/// <summary>
/// inits connection to server
/// </summary>
/// <returns></returns>
public bool Initialize()
{
lock(this)
{
if(!initialized)
{
#region prepare mssql & cache table
try
{
// different connections so the multi-thread inserts and selects don't collide on open readers.
this.cnGet = new MySqlConnection(connectionString);
this.cnGet.Open();
this.cnSet = new MySqlConnection(connectionString);
this.cnSet.Open();
 
{
using(MySqlCommand cmd = new MySqlCommand(
@" CREATE TABLE IF NOT EXISTS `gmapnetcache` (
`Type` int(10) NOT NULL,
`Zoom` int(10) NOT NULL,
`X` int(10) NOT NULL,
`Y` int(10) NOT NULL,
`Tile` longblob NOT NULL,
PRIMARY KEY (`Type`,`Zoom`,`X`,`Y`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;", cnGet))
{
cmd.ExecuteNonQuery();
}
}
 
this.cmdFetch = new MySqlCommand("SELECT Tile FROM `gmapnetcache` WHERE Type=@type AND Zoom=@zoom AND X=@x AND Y=@y", cnGet);
this.cmdFetch.Parameters.Add("@type", MySqlDbType.Int32);
this.cmdFetch.Parameters.Add("@zoom", MySqlDbType.Int32);
this.cmdFetch.Parameters.Add("@x", MySqlDbType.Int32);
this.cmdFetch.Parameters.Add("@y", MySqlDbType.Int32);
this.cmdFetch.Prepare();
 
this.cmdInsert = new MySqlCommand("INSERT INTO `gmapnetcache` ( Type, Zoom, X, Y, Tile ) VALUES ( @type, @zoom, @x, @y, @tile )", cnSet);
this.cmdInsert.Parameters.Add("@type", MySqlDbType.Int32);
this.cmdInsert.Parameters.Add("@zoom", MySqlDbType.Int32);
this.cmdInsert.Parameters.Add("@x", MySqlDbType.Int32);
this.cmdInsert.Parameters.Add("@y", MySqlDbType.Int32);
this.cmdInsert.Parameters.Add("@tile", MySqlDbType.Blob); //, calcmaximgsize);
//can't prepare insert because of the IMAGE field having a variable size. Could set it to some 'maximum' size?
 
Initialized = true;
}
catch(Exception ex)
{
this.initialized = false;
Debug.WriteLine(ex.Message);
}
#endregion
}
return initialized;
}
}
 
#region IDisposable Members
 
public void Dispose()
{
lock(cmdInsert)
{
if(cmdInsert != null)
{
cmdInsert.Dispose();
cmdInsert = null;
}
 
if(cnSet != null)
{
cnSet.Dispose();
cnSet = null;
}
}
 
lock(cmdFetch)
{
if(cmdFetch != null)
{
cmdFetch.Dispose();
cmdFetch = null;
}
 
if(cnGet != null)
{
cnGet.Dispose();
cnGet = null;
}
}
Initialized = false;
}
#endregion
 
#region PureImageCache Members
public bool PutImageToCache(byte[] tile, int type, GPoint pos, int zoom)
{
bool ret = true;
{
if(Initialize())
{
try
{
lock(cmdInsert)
{
cnSet.Ping();
 
if(cnSet.State != ConnectionState.Open)
{
cnSet.Open();
}
 
cmdInsert.Parameters["@type"].Value = type;
cmdInsert.Parameters["@zoom"].Value = zoom;
cmdInsert.Parameters["@x"].Value = pos.X;
cmdInsert.Parameters["@y"].Value = pos.Y;
cmdInsert.Parameters["@tile"].Value = tile;
cmdInsert.ExecuteNonQuery();
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = false;
Dispose();
}
}
}
return ret;
}
 
public PureImage GetImageFromCache(int type, GPoint pos, int zoom)
{
PureImage ret = null;
{
if(Initialize())
{
try
{
object odata = null;
lock(cmdFetch)
{
cnGet.Ping();
 
if(cnGet.State != ConnectionState.Open)
{
cnGet.Open();
}
 
cmdFetch.Parameters["@type"].Value = type;
cmdFetch.Parameters["@zoom"].Value = zoom;
cmdFetch.Parameters["@x"].Value = pos.X;
cmdFetch.Parameters["@y"].Value = pos.Y;
odata = cmdFetch.ExecuteScalar();
}
 
if(odata != null && odata != DBNull.Value)
{
byte[] tile = (byte[])odata;
if(tile != null && tile.Length > 0)
{
if(GMapProvider.TileImageProxy != null)
{
ret = GMapProvider.TileImageProxy.FromArray(tile);
}
}
tile = null;
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = null;
Dispose();
}
}
}
return ret;
}
 
int PureImageCache.DeleteOlderThan(DateTime date, int ? type)
{
throw new NotImplementedException();
}
#endregion
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.CacheProviders/PostgreSQLPureImageCache.cs
0,0 → 1,275

namespace GMap.NET.CacheProviders
{
#if PostgreSQL
using System;
using System.Diagnostics;
using System.IO;
using Npgsql;
using NpgsqlTypes;
using GMap.NET.MapProviders;
 
/// <summary>
/// image cache for postgresql server
/// </summary>
public class PostgreSQLPureImageCache : PureImageCache, IDisposable
{
string connectionString = string.Empty;
public string ConnectionString
{
get
{
return connectionString;
}
set
{
if(connectionString != value)
{
connectionString = value;
 
if(Initialized)
{
Dispose();
Initialize();
}
}
}
}
 
NpgsqlCommand cmdInsert;
NpgsqlCommand cmdFetch;
NpgsqlConnection cnGet;
NpgsqlConnection cnSet;
 
bool initialized = false;
 
/// <summary>
/// is cache initialized
/// </summary>
public bool Initialized
{
get
{
lock(this)
{
return initialized;
}
}
private set
{
lock(this)
{
initialized = value;
}
}
}
 
/// <summary>
/// inits connection to server
/// </summary>
/// <returns></returns>
public bool Initialize()
{
lock(this)
{
if(!Initialized)
{
#region prepare postgresql & cache table
 
try
{
// different connections so the multi-thread inserts and selects don't collide on open readers.
this.cnGet = new NpgsqlConnection(connectionString);
this.cnGet.Open();
this.cnSet = new NpgsqlConnection(connectionString);
this.cnSet.Open();
 
bool tableexists = false;
using(NpgsqlCommand cmd = new NpgsqlCommand())
{
cmd.CommandText = "SELECT COUNT(*) FROM information_schema.tables WHERE table_name='GMapNETcache'";
cmd.Connection = cnGet;
object cnt = cmd.ExecuteScalar();
tableexists = ((long)cnt == 1);
}
 
if(!tableexists)
{
using(NpgsqlCommand cmd = new NpgsqlCommand())
{
cmd.Connection = cnGet;
 
// create tile-cache table
cmd.CommandText = "CREATE TABLE \"GMapNETcache\" ( \n"
+ " \"Type\" integer NOT NULL, \n"
+ " \"Zoom\" integer NOT NULL, \n"
+ " \"X\" integer NOT NULL, \n"
+ " \"Y\" integer NOT NULL, \n"
+ " \"Tile\" bytea NOT NULL, \n"
+ " CONSTRAINT \"PK_GMapNETcache\" PRIMARY KEY ( \"Type\", \"Zoom\", \"X\", \"Y\" ) )";
cmd.ExecuteNonQuery();
 
// allows out-of-line storage but not compression of tile data
// see http://www.postgresql.org/docs/9.0/static/storage-toast.html
cmd.CommandText = "ALTER TABLE \"GMapNETcache\" \n"
+ " ALTER COLUMN \"Tile\" SET STORAGE EXTERNAL";
cmd.ExecuteNonQuery();
 
// select pk index for cluster operations
cmd.CommandText = "ALTER TABLE \"GMapNETcache\" \n"
+ " CLUSTER ON \"PK_GMapNETcache\"";
cmd.ExecuteNonQuery();
}
}
 
this.cmdFetch = new NpgsqlCommand("SELECT \"Tile\" FROM \"GMapNETcache\" WHERE \"X\"=@x AND \"Y\"=@y AND \"Zoom\"=@zoom AND \"Type\"=@type", cnGet);
this.cmdFetch.Parameters.Add("@x", NpgsqlDbType.Integer);
this.cmdFetch.Parameters.Add("@y", NpgsqlDbType.Integer);
this.cmdFetch.Parameters.Add("@zoom", NpgsqlDbType.Integer);
this.cmdFetch.Parameters.Add("@type", NpgsqlDbType.Integer);
this.cmdFetch.Prepare();
 
this.cmdInsert = new NpgsqlCommand("INSERT INTO \"GMapNETcache\" ( \"X\", \"Y\", \"Zoom\", \"Type\", \"Tile\" ) VALUES ( @x, @y, @zoom, @type, @tile )", cnSet);
this.cmdInsert.Parameters.Add("@x", NpgsqlDbType.Integer);
this.cmdInsert.Parameters.Add("@y", NpgsqlDbType.Integer);
this.cmdInsert.Parameters.Add("@zoom", NpgsqlDbType.Integer);
this.cmdInsert.Parameters.Add("@type", NpgsqlDbType.Integer);
this.cmdInsert.Parameters.Add("@tile", NpgsqlDbType.Bytea);
this.cmdInsert.Prepare();
 
Initialized = true;
}
catch(Exception ex)
{
this.initialized = false;
Debug.WriteLine(ex.Message);
}
 
#endregion
}
 
return Initialized;
}
}
 
#region IDisposable Members
 
public void Dispose()
{
lock(cmdInsert)
{
if(cmdInsert != null)
{
cmdInsert.Dispose();
cmdInsert = null;
}
 
if(cnSet != null)
{
cnSet.Dispose();
cnSet = null;
}
}
 
lock(cmdFetch)
{
if(cmdFetch != null)
{
cmdFetch.Dispose();
cmdFetch = null;
}
 
if(cnGet != null)
{
cnGet.Dispose();
cnGet = null;
}
}
 
Initialized = false;
}
 
#endregion
 
#region PureImageCache Members
 
public bool PutImageToCache(byte[] tile, int type, GPoint pos, int zoom)
{
bool ret = true;
 
if(Initialize())
{
try
{
lock(cmdInsert)
{
cmdInsert.Parameters["@x"].Value = pos.X;
cmdInsert.Parameters["@y"].Value = pos.Y;
cmdInsert.Parameters["@zoom"].Value = zoom;
cmdInsert.Parameters["@type"].Value = type;
cmdInsert.Parameters["@tile"].Value = tile;
cmdInsert.ExecuteNonQuery();
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = false;
Dispose();
}
}
 
return ret;
}
 
public PureImage GetImageFromCache(int type, GPoint pos, int zoom)
{
PureImage ret = null;
 
if(Initialize())
{
try
{
object odata = null;
lock(cmdFetch)
{
cmdFetch.Parameters["@x"].Value = pos.X;
cmdFetch.Parameters["@y"].Value = pos.Y;
cmdFetch.Parameters["@zoom"].Value = zoom;
cmdFetch.Parameters["@type"].Value = type;
odata = cmdFetch.ExecuteScalar();
}
 
if(odata != null && odata != DBNull.Value)
{
byte[] tile = (byte[])odata;
if(tile != null && tile.Length > 0)
{
if(GMapProvider.TileImageProxy != null)
{
ret = GMapProvider.TileImageProxy.FromArray(tile);
}
}
tile = null;
}
}
catch(Exception ex)
{
Debug.WriteLine(ex.ToString());
ret = null;
Dispose();
}
}
 
return ret;
}
 
int PureImageCache.DeleteOlderThan(DateTime date, int ? type)
{
throw new NotImplementedException();
}
 
#endregion
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.CacheProviders/SQLitePureImageCache.cs
0,0 → 1,856

namespace GMap.NET.CacheProviders
{
#if SQLite
 
using System.Collections.Generic;
using System.Data.Common;
using System.IO;
using System.Text;
using System;
using System.Diagnostics;
using System.Globalization;
using GMap.NET.MapProviders;
using System.Threading;
 
#if !MONO
using System.Data.SQLite;
using GMap.NET.Internals;
#else
using SQLiteConnection = Mono.Data.Sqlite.SqliteConnection;
using SQLiteTransaction = Mono.Data.Sqlite.SqliteTransaction;
using SQLiteCommand = Mono.Data.Sqlite.SqliteCommand;
using SQLiteDataReader = Mono.Data.Sqlite.SqliteDataReader;
using SQLiteParameter = Mono.Data.Sqlite.SqliteParameter;
#endif
 
/// <summary>
/// ultra fast cache system for tiles
/// </summary>
public class SQLitePureImageCache : PureImageCache
{
#if !PocketPC
#if !MONO
static SQLitePureImageCache()
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}
 
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
if(args.Name.StartsWith("System.Data.SQLite", StringComparison.OrdinalIgnoreCase))
{
string appDataDir = CacheLocator.GetApplicationDataFolderPath();
if(string.IsNullOrEmpty(appDataDir))
{
return null;
}
 
string dllDir = appDataDir + "DllCache" + Path.DirectorySeparatorChar;
string dll = dllDir + "SQLite_v98_NET" + Environment.Version.Major + "_" + (IntPtr.Size == 8 ? "x64" : "x86") + Path.DirectorySeparatorChar + "System.Data.SQLite.DLL";
if(!File.Exists(dll))
{
string dir = Path.GetDirectoryName(dll);
if(!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
 
Debug.WriteLine("Saving to DllCache: " + dll);
 
if(Environment.Version.Major == 2)
{
using(MemoryStream gzipDll = new MemoryStream((IntPtr.Size == 8 ? Properties.Resources.System_Data_SQLite_x64_NET2_dll : Properties.Resources.System_Data_SQLite_x86_NET2_dll)))
{
using(var gs = new System.IO.Compression.GZipStream(gzipDll, System.IO.Compression.CompressionMode.Decompress))
{
using(MemoryStream exctDll = new MemoryStream())
{
byte[] tmp = new byte[1024 * 256];
int r = 0;
while((r = gs.Read(tmp, 0, tmp.Length)) > 0)
{
exctDll.Write(tmp, 0, r);
}
File.WriteAllBytes(dll, exctDll.ToArray());
}
}
}
}
else if(Environment.Version.Major == 4)
{
using(MemoryStream gzipDll = new MemoryStream((IntPtr.Size == 8 ? Properties.Resources.System_Data_SQLite_x64_NET4_dll : Properties.Resources.System_Data_SQLite_x86_NET4_dll)))
{
using(var gs = new System.IO.Compression.GZipStream(gzipDll, System.IO.Compression.CompressionMode.Decompress))
{
using(MemoryStream exctDll = new MemoryStream())
{
byte[] tmp = new byte[1024 * 256];
int r = 0;
while((r = gs.Read(tmp, 0, tmp.Length)) > 0)
{
exctDll.Write(tmp, 0, r);
}
File.WriteAllBytes(dll, exctDll.ToArray());
}
}
}
}
}
 
Debug.WriteLine("Assembly.LoadFile: " + dll);
 
return System.Reflection.Assembly.LoadFile(dll);
}
return null;
}
 
static int ping = 0;
 
/// <summary>
/// triggers dynamic sqlite loading
/// </summary>
public static void Ping()
{
if (++ping == 1)
{
Trace.WriteLine("SQLiteVersion: " + SQLiteConnection.SQLiteVersion + " | " + SQLiteConnection.SQLiteSourceId + " | " + SQLiteConnection.DefineConstants);
}
}
#endif
#endif
 
string cache;
string gtileCache;
string dir;
string db;
bool Created = false;
 
public string GtileCache
{
get
{
return gtileCache;
}
}
 
/// <summary>
/// local cache location
/// </summary>
public string CacheLocation
{
get
{
return cache;
}
set
{
cache = value;
 
gtileCache = Path.Combine(cache, "TileDBv5") + Path.DirectorySeparatorChar;
 
dir = gtileCache + GMapProvider.LanguageStr + Path.DirectorySeparatorChar;
 
// precreate dir
if(!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
 
#if !MONO
SQLiteConnection.ClearAllPools();
#endif
// make empty db
{
db = dir + "Data.gmdb";
 
if(!File.Exists(db))
{
Created = CreateEmptyDB(db);
}
else
{
Created = AlterDBAddTimeColumn(db);
}
 
CheckPreAllocation();
 
//var connBuilder = new SQLiteConnectionStringBuilder();
//connBuilder.DataSource = "c:\filePath.db";
//connBuilder.Version = 3;
//connBuilder.PageSize = 4096;
//connBuilder.JournalMode = SQLiteJournalModeEnum.Wal;
//connBuilder.Pooling = true;
//var x = connBuilder.ToString();
#if !MONO
ConnectionString = string.Format("Data Source=\"{0}\";Page Size=32768;Pooling=True", db); //;Journal Mode=Wal
#else
ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=True,Page Size=32768,Pooling=True", db);
#endif
}
 
// clear old attachments
AttachedCaches.Clear();
RebuildFinnalSelect();
 
// attach all databases from main cache location
#if !PocketPC
var dbs = Directory.GetFiles(dir, "*.gmdb", SearchOption.AllDirectories);
#else
var dbs = Directory.GetFiles(dir, "*.gmdb");
#endif
foreach(var d in dbs)
{
if(d != db)
{
Attach(d);
}
}
}
}
 
/// <summary>
/// pre-allocate 32MB free space 'ahead' if needed,
/// decreases fragmentation
/// </summary>
void CheckPreAllocation()
{
{
byte[] pageSizeBytes = new byte[2];
byte[] freePagesBytes = new byte[4];
 
lock(this)
{
using(var dbf = File.Open(db, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
dbf.Seek(16, SeekOrigin.Begin);
 
#if (!PocketPC && !MONO)
dbf.Lock(16, 2);
dbf.Read(pageSizeBytes, 0, 2);
dbf.Unlock(16, 2);
 
dbf.Seek(36, SeekOrigin.Begin);
 
dbf.Lock(36, 4);
dbf.Read(freePagesBytes, 0, 4);
dbf.Unlock(36, 4);
#else
dbf.Read(pageSizeBytes, 0, 2);
dbf.Seek(36, SeekOrigin.Begin);
dbf.Read(freePagesBytes, 0, 4);
#endif
 
dbf.Close();
}
}
 
if(BitConverter.IsLittleEndian)
{
Array.Reverse(pageSizeBytes);
Array.Reverse(freePagesBytes);
}
UInt16 pageSize = BitConverter.ToUInt16(pageSizeBytes, 0);
UInt32 freePages = BitConverter.ToUInt32(freePagesBytes, 0);
 
var freeMB = (pageSize * freePages) / (1024.0 * 1024.0);
 
#if !PocketPC
int addSizeMB = 32;
int waitUntilMB = 4;
#else
int addSizeMB = 4; // reduce due to test in emulator
int waitUntilMB = 2;
#endif
 
Debug.WriteLine("FreePageSpace in cache: " + freeMB + "MB | " + freePages + " pages");
 
if(freeMB <= waitUntilMB)
{
PreAllocateDB(db, addSizeMB);
}
}
}
 
#region -- import / export --
public static bool CreateEmptyDB(string file)
{
bool ret = true;
 
try
{
string dir = Path.GetDirectoryName(file);
if(!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
 
using(SQLiteConnection cn = new SQLiteConnection())
{
#if !MONO
cn.ConnectionString = string.Format("Data Source=\"{0}\";FailIfMissing=False;Page Size=32768", file);
#else
cn.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=False,Page Size=32768", file);
#endif
cn.Open();
{
using(DbTransaction tr = cn.BeginTransaction())
{
try
{
using(DbCommand cmd = cn.CreateCommand())
{
cmd.Transaction = tr;
#if !PocketPC
cmd.CommandText = Properties.Resources.CreateTileDb;
#else
cmd.CommandText = GMap.NET.WindowsMobile.Properties.Resources.CreateTileDb;
#endif
cmd.ExecuteNonQuery();
}
tr.Commit();
}
catch(Exception exx)
{
#if MONO
Console.WriteLine("CreateEmptyDB: " + exx.ToString());
#endif
Debug.WriteLine("CreateEmptyDB: " + exx.ToString());
 
tr.Rollback();
ret = false;
}
}
cn.Close();
}
}
}
catch(Exception ex)
{
#if MONO
Console.WriteLine("CreateEmptyDB: " + ex.ToString());
#endif
Debug.WriteLine("CreateEmptyDB: " + ex.ToString());
ret = false;
}
return ret;
}
 
public static bool PreAllocateDB(string file, int addSizeInMBytes)
{
bool ret = true;
 
try
{
Debug.WriteLine("PreAllocateDB: " + file + ", +" + addSizeInMBytes + "MB");
 
using(SQLiteConnection cn = new SQLiteConnection())
{
#if !MONO
cn.ConnectionString = string.Format("Data Source=\"{0}\";FailIfMissing=False;Page Size=32768", file);
#else
cn.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=False,Page Size=32768", file);
#endif
cn.Open();
{
using(DbTransaction tr = cn.BeginTransaction())
{
try
{
using(DbCommand cmd = cn.CreateCommand())
{
cmd.Transaction = tr;
cmd.CommandText = string.Format("create table large (a); insert into large values (zeroblob({0})); drop table large;", addSizeInMBytes * 1024 * 1024);
cmd.ExecuteNonQuery();
}
tr.Commit();
}
catch(Exception exx)
{
#if MONO
Console.WriteLine("PreAllocateDB: " + exx.ToString());
#endif
Debug.WriteLine("PreAllocateDB: " + exx.ToString());
 
tr.Rollback();
ret = false;
}
}
cn.Close();
}
}
}
catch(Exception ex)
{
#if MONO
Console.WriteLine("PreAllocateDB: " + ex.ToString());
#endif
Debug.WriteLine("PreAllocateDB: " + ex.ToString());
ret = false;
}
return ret;
}
 
private static bool AlterDBAddTimeColumn(string file)
{
bool ret = true;
 
try
{
if(File.Exists(file))
{
using(SQLiteConnection cn = new SQLiteConnection())
{
#if !MONO
cn.ConnectionString = string.Format("Data Source=\"{0}\";FailIfMissing=False;Page Size=32768;Pooling=True", file);
#else
cn.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=False,Page Size=32768,Pooling=True", file);
#endif
cn.Open();
{
using(DbTransaction tr = cn.BeginTransaction())
{
bool? NoCacheTimeColumn = null;
 
try
{
using(DbCommand cmd = new SQLiteCommand("SELECT CacheTime FROM Tiles", cn))
{
cmd.Transaction = tr;
 
using(DbDataReader rd = cmd.ExecuteReader())
{
rd.Close();
}
NoCacheTimeColumn = false;
}
}
catch(Exception ex)
{
if(ex.Message.Contains("no such column: CacheTime"))
{
NoCacheTimeColumn = true;
}
else
{
throw ex;
}
}
 
try
{
if(NoCacheTimeColumn.HasValue && NoCacheTimeColumn.Value)
{
using(DbCommand cmd = cn.CreateCommand())
{
cmd.Transaction = tr;
 
cmd.CommandText = "ALTER TABLE Tiles ADD CacheTime DATETIME";
 
cmd.ExecuteNonQuery();
}
tr.Commit();
NoCacheTimeColumn = false;
}
}
catch(Exception exx)
{
#if MONO
Console.WriteLine("AlterDBAddTimeColumn: " + exx.ToString());
#endif
Debug.WriteLine("AlterDBAddTimeColumn: " + exx.ToString());
 
tr.Rollback();
ret = false;
}
}
cn.Close();
}
}
}
else
{
ret = false;
}
}
catch(Exception ex)
{
#if MONO
Console.WriteLine("AlterDBAddTimeColumn: " + ex.ToString());
#endif
Debug.WriteLine("AlterDBAddTimeColumn: " + ex.ToString());
ret = false;
}
return ret;
}
 
public static bool VacuumDb(string file)
{
bool ret = true;
 
try
{
using(SQLiteConnection cn = new SQLiteConnection())
{
#if !MONO
cn.ConnectionString = string.Format("Data Source=\"{0}\";FailIfMissing=True;Page Size=32768", file);
#else
cn.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=True,Page Size=32768", file);
#endif
cn.Open();
{
using(DbCommand cmd = cn.CreateCommand())
{
cmd.CommandText = "vacuum;";
cmd.ExecuteNonQuery();
}
cn.Close();
}
}
}
catch(Exception ex)
{
Debug.WriteLine("VacuumDb: " + ex.ToString());
ret = false;
}
return ret;
}
 
public static bool ExportMapDataToDB(string sourceFile, string destFile)
{
bool ret = true;
 
try
{
if(!File.Exists(destFile))
{
ret = CreateEmptyDB(destFile);
}
 
if(ret)
{
using(SQLiteConnection cn1 = new SQLiteConnection())
{
#if !MONO
cn1.ConnectionString = string.Format("Data Source=\"{0}\";Page Size=32768", sourceFile);
#else
cn1.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=True,Page Size=32768", sourceFile);
#endif
 
cn1.Open();
if(cn1.State == System.Data.ConnectionState.Open)
{
using(SQLiteConnection cn2 = new SQLiteConnection())
{
#if !MONO
cn2.ConnectionString = string.Format("Data Source=\"{0}\";Page Size=32768", destFile);
#else
cn2.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=True,Page Size=32768", destFile);
#endif
cn2.Open();
if(cn2.State == System.Data.ConnectionState.Open)
{
using(SQLiteCommand cmd = new SQLiteCommand(string.Format("ATTACH DATABASE \"{0}\" AS Source", sourceFile), cn2))
{
cmd.ExecuteNonQuery();
}
 
using(SQLiteTransaction tr = cn2.BeginTransaction())
{
try
{
List<long> add = new List<long>();
using(SQLiteCommand cmd = new SQLiteCommand("SELECT id, X, Y, Zoom, Type FROM Tiles;", cn1))
{
using(SQLiteDataReader rd = cmd.ExecuteReader())
{
while(rd.Read())
{
long id = rd.GetInt64(0);
using(SQLiteCommand cmd2 = new SQLiteCommand(string.Format("SELECT id FROM Tiles WHERE X={0} AND Y={1} AND Zoom={2} AND Type={3};", rd.GetInt32(1), rd.GetInt32(2), rd.GetInt32(3), rd.GetInt32(4)), cn2))
{
using(SQLiteDataReader rd2 = cmd2.ExecuteReader())
{
if(!rd2.Read())
{
add.Add(id);
}
}
}
}
}
}
 
foreach(long id in add)
{
using(SQLiteCommand cmd = new SQLiteCommand(string.Format("INSERT INTO Tiles(X, Y, Zoom, Type, CacheTime) SELECT X, Y, Zoom, Type, CacheTime FROM Source.Tiles WHERE id={0}; INSERT INTO TilesData(id, Tile) Values((SELECT last_insert_rowid()), (SELECT Tile FROM Source.TilesData WHERE id={0}));", id), cn2))
{
cmd.Transaction = tr;
cmd.ExecuteNonQuery();
}
}
add.Clear();
 
tr.Commit();
}
catch(Exception exx)
{
Debug.WriteLine("ExportMapDataToDB: " + exx.ToString());
tr.Rollback();
ret = false;
}
}
 
using(SQLiteCommand cmd = new SQLiteCommand("DETACH DATABASE Source;", cn2))
{
cmd.ExecuteNonQuery();
}
}
}
}
}
}
}
catch(Exception ex)
{
Debug.WriteLine("ExportMapDataToDB: " + ex.ToString());
ret = false;
}
return ret;
}
#endregion
 
static readonly string singleSqlSelect = "SELECT Tile FROM main.TilesData WHERE id = (SELECT id FROM main.Tiles WHERE X={0} AND Y={1} AND Zoom={2} AND Type={3})";
static readonly string singleSqlInsert = "INSERT INTO main.Tiles(X, Y, Zoom, Type, CacheTime) VALUES(@p1, @p2, @p3, @p4, @p5)";
static readonly string singleSqlInsertLast = "INSERT INTO main.TilesData(id, Tile) VALUES((SELECT last_insert_rowid()), @p1)";
 
string ConnectionString;
 
readonly List<string> AttachedCaches = new List<string>();
string finnalSqlSelect = singleSqlSelect;
string attachSqlQuery = string.Empty;
string detachSqlQuery = string.Empty;
 
void RebuildFinnalSelect()
{
finnalSqlSelect = null;
finnalSqlSelect = singleSqlSelect;
 
attachSqlQuery = null;
attachSqlQuery = string.Empty;
 
detachSqlQuery = null;
detachSqlQuery = string.Empty;
 
int i = 1;
foreach(var c in AttachedCaches)
{
finnalSqlSelect += string.Format("\nUNION SELECT Tile FROM db{0}.TilesData WHERE id = (SELECT id FROM db{0}.Tiles WHERE X={{0}} AND Y={{1}} AND Zoom={{2}} AND Type={{3}})", i);
attachSqlQuery += string.Format("\nATTACH '{0}' as db{1};", c, i);
detachSqlQuery += string.Format("\nDETACH DATABASE db{0};", i);
 
i++;
}
}
 
public void Attach(string db)
{
if(!AttachedCaches.Contains(db))
{
AttachedCaches.Add(db);
RebuildFinnalSelect();
}
}
 
public void Detach(string db)
{
if(AttachedCaches.Contains(db))
{
AttachedCaches.Remove(db);
RebuildFinnalSelect();
}
}
 
#region PureImageCache Members
 
int preAllocationPing = 0;
 
bool PureImageCache.PutImageToCache(byte[] tile, int type, GPoint pos, int zoom)
{
bool ret = true;
if(Created)
{
try
{
using(SQLiteConnection cn = new SQLiteConnection())
{
cn.ConnectionString = ConnectionString;
cn.Open();
{
using(DbTransaction tr = cn.BeginTransaction())
{
try
{
using(DbCommand cmd = cn.CreateCommand())
{
cmd.Transaction = tr;
cmd.CommandText = singleSqlInsert;
 
cmd.Parameters.Add(new SQLiteParameter("@p1", pos.X));
cmd.Parameters.Add(new SQLiteParameter("@p2", pos.Y));
cmd.Parameters.Add(new SQLiteParameter("@p3", zoom));
cmd.Parameters.Add(new SQLiteParameter("@p4", type));
cmd.Parameters.Add(new SQLiteParameter("@p5", DateTime.Now));
 
cmd.ExecuteNonQuery();
}
 
using(DbCommand cmd = cn.CreateCommand())
{
cmd.Transaction = tr;
 
cmd.CommandText = singleSqlInsertLast;
cmd.Parameters.Add(new SQLiteParameter("@p1", tile));
 
cmd.ExecuteNonQuery();
}
tr.Commit();
}
catch(Exception ex)
{
#if MONO
Console.WriteLine("PutImageToCache: " + ex.ToString());
#endif
Debug.WriteLine("PutImageToCache: " + ex.ToString());
 
tr.Rollback();
ret = false;
}
}
}
cn.Close();
}
 
if(Interlocked.Increment(ref preAllocationPing) % 22 == 0)
{
CheckPreAllocation();
}
}
catch(Exception ex)
{
#if MONO
Console.WriteLine("PutImageToCache: " + ex.ToString());
#endif
Debug.WriteLine("PutImageToCache: " + ex.ToString());
ret = false;
}
}
return ret;
}
 
PureImage PureImageCache.GetImageFromCache(int type, GPoint pos, int zoom)
{
PureImage ret = null;
try
{
using(SQLiteConnection cn = new SQLiteConnection())
{
cn.ConnectionString = ConnectionString;
cn.Open();
{
if(!string.IsNullOrEmpty(attachSqlQuery))
{
using(DbCommand com = cn.CreateCommand())
{
com.CommandText = attachSqlQuery;
int x = com.ExecuteNonQuery();
//Debug.WriteLine("Attach: " + x);
}
}
 
using(DbCommand com = cn.CreateCommand())
{
com.CommandText = string.Format(finnalSqlSelect, pos.X, pos.Y, zoom, type);
 
using(DbDataReader rd = com.ExecuteReader(System.Data.CommandBehavior.SequentialAccess))
{
if(rd.Read())
{
long length = rd.GetBytes(0, 0, null, 0, 0);
byte[] tile = new byte[length];
rd.GetBytes(0, 0, tile, 0, tile.Length);
{
if(GMapProvider.TileImageProxy != null)
{
ret = GMapProvider.TileImageProxy.FromArray(tile);
}
}
tile = null;
}
rd.Close();
}
}
 
if(!string.IsNullOrEmpty(detachSqlQuery))
{
using(DbCommand com = cn.CreateCommand())
{
com.CommandText = detachSqlQuery;
int x = com.ExecuteNonQuery();
//Debug.WriteLine("Detach: " + x);
}
}
}
cn.Close();
}
}
catch(Exception ex)
{
#if MONO
Console.WriteLine("GetImageFromCache: " + ex.ToString());
#endif
Debug.WriteLine("GetImageFromCache: " + ex.ToString());
ret = null;
}
 
return ret;
}
 
int PureImageCache.DeleteOlderThan(DateTime date, int? type)
{
int affectedRows = 0;
 
try
{
using(SQLiteConnection cn = new SQLiteConnection())
{
cn.ConnectionString = ConnectionString;
cn.Open();
{
using(DbCommand com = cn.CreateCommand())
{
com.CommandText = string.Format("DELETE FROM Tiles WHERE CacheTime is not NULL and CacheTime < datetime('{0}')", date.ToString("s"));
if(type.HasValue)
{
com.CommandText += " and Type = " + type;
}
affectedRows = com.ExecuteNonQuery();
}
}
}
}
catch(Exception ex)
{
#if MONO
Console.WriteLine("DeleteOlderThan: " + ex);
#endif
Debug.WriteLine("DeleteOlderThan: " + ex);
}
 
return affectedRows;
}
 
#endregion
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Core.csproj
0,0 → 1,396
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{D0C39D9D-BED0-418B-9A5E-713176CAF40C}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GMap.NET</RootNamespace>
<AssemblyName>GMap.NET.Core</AssemblyName>
<FileAlignment>512</FileAlignment>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>sn.snk</AssemblyOriginatorKeyFile>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkSubset>
</TargetFrameworkSubset>
<NoWin32Manifest>False</NoWin32Manifest>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MONO_disabled; MySQL_disabled; PostgreSQL_disabled; SQLite</DefineConstants>
<DebugType>Full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\x86\Debug\GMap.NET.Core.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MONO_disabled; MySQL_disabled; PostgreSQL_disabled; SQLite</DefineConstants>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\x86\Release\GMap.NET.Core.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<BaseAddress>4194304</BaseAddress>
<RegisterForComInterop>False</RegisterForComInterop>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'v4.0-Debug|AnyCPU'">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\v4.0-Debug\</OutputPath>
<DefineConstants>NET40;TRACE;DEBUG;SQLite;MONO_disabled;MySQL_disabled;PostgreSQL_disabled</DefineConstants>
<DebugType>Full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'v4.0-Release|AnyCPU'">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<OutputPath>bin\v4.0-Release\</OutputPath>
<DefineConstants>NET40;TRACE;SQLite;MONO_disabled;MySQL_disabled;PostgreSQL_disabled</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v2.0' ">
<TargetFrameworkVersionNumber>2.0</TargetFrameworkVersionNumber>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v3.0' ">
<TargetFrameworkVersionNumber>3.0</TargetFrameworkVersionNumber>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v3.5' ">
<TargetFrameworkVersionNumber>3.5</TargetFrameworkVersionNumber>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v4.0' ">
<TargetFrameworkVersionNumber>4.0</TargetFrameworkVersionNumber>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">
<TargetFrameworkVersionNumber>4.5</TargetFrameworkVersionNumber>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v4.6' ">
<TargetFrameworkVersionNumber>4.6</TargetFrameworkVersionNumber>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v5.0' ">
<TargetFrameworkVersionNumber>5.0</TargetFrameworkVersionNumber>
</PropertyGroup>
<Choose>
<When Condition=" '$(TargetFrameworkVersionNumber)' &gt;= '4.0' ">
<ItemGroup>
<Reference Include="Mono.Data.Sqlite">
<HintPath>..\References\Windows\NET4\Mono.Data.Sqlite.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System.Data.SQLite">
<HintPath>..\References\Windows\NET4\System.Data.SQLite.DLL</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="Npgsql">
<HintPath>..\References\Windows\NET4\Npgsql.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Mono.Security">
<HintPath>..\References\Windows\NET4\Mono.Security.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="MySql.Data">
<HintPath>..\References\Windows\NET4\MySql.Data.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="Mono.Data.Sqlite">
<HintPath>..\References\Windows\Mono.Data.Sqlite.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System.Data.SQLite">
<HintPath>..\References\Windows\System.Data.SQLite.DLL</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="Npgsql">
<HintPath>..\References\Windows\Npgsql.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Mono.Security">
<HintPath>..\References\Windows\Mono.Security.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="MySql.Data">
<HintPath>..\References\Windows\MySql.Data.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
</ItemGroup>
</Otherwise>
</Choose>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data">
<Private>False</Private>
</Reference>
<Reference Include="System.Data.SqlServerCe">
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Services" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="GMap.NET.CacheProviders\MemoryCache.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\SocksHttpWebRequest.cs" />
<Compile Include="GMap.NET.Internals\DrawTile.cs" />
<Compile Include="GMap.NET.Internals\FastResourceLock.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\AuthMethod.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\AuthNone.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\AuthUserPass.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\IAsyncProxyResult.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\ProxyException.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\ProxySocket.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\Socks4Handler.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\Socks5Handler.cs" />
<Compile Include="GMap.NET.Internals\SocksProxySocket\SocksHandler.cs" />
<Compile Include="GMap.NET.Internals\TileHttpHost.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Bing\BingMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Bing\BingSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Bing\BingHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_StreetMap_World_2D_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_Imagery_World_2D_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_ShadedRelief_World_2D_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_Topo_US_2D_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_World_Physical_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_World_Shaded_Relief_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_World_Street_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_World_Terrain_Base_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\ArcGIS\ArcGIS_World_Topo_MapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Czech\CzechGeographicMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Czech\CzechHistoryMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Czech\CzechHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Czech\CzechMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Czech\CzechSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Czech\CzechTuristMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Czech\CzechTuristWinterMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Etc\CloudMadeMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Etc\SwedenMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Etc\WikiMapiaMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\CzechOld\CzechHistoryMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\CzechOld\CzechHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\CzechOld\CzechSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\CzechOld\CzechTuristMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\CzechOld\CzechMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Etc\TurkeyMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Etc\MapBenderWMSProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Etc\SpainMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Etc\LatviaMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\LithuaniaReliefMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\LithuaniaHybridOldMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\LithuaniaHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\LithuaniaOrtoFotoOldMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\LithuaniaOrtoFotoMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\Lithuania3dMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\LithuaniaMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Lithuania\LithuaniaTOP50.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreet4UMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreetMapQuestSatteliteProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreetMapQuestHybridProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreetMapQuestProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenCycleTransportMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenCycleLandscapeMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Yandex\YandexHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Yandex\YandexSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Yandex\YandexMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Ovi\OviHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Ovi\OviTerrainMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Ovi\OviSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Ovi\OviMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\NearMap\NearHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\NearMap\NearSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\NearMap\NearMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\Korea\GoogleKoreaHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\Korea\GoogleKoreaSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\Korea\GoogleKoreaMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\China\GoogleChinaTerrainMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\China\GoogleChinaHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\China\GoogleChinaSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\China\GoogleChinaMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\GoogleTerrainMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\GoogleHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\GoogleSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Google\GoogleMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Yahoo\YahooHybridMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Yahoo\YahooSatelliteMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\Yahoo\YahooMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenSeaMapHybridProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenCycleMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreetMapSurferTerrainProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreetMapSurferProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreetOsmProvider.cs" />
<Compile Include="GMap.NET.MapProviders\OpenStreetMap\OpenStreetMapProvider.cs" />
<Compile Include="GMap.NET.MapProviders\GMapProvider.cs" />
<Compile Include="GMap.NET.Projections\SWEREF99_TMProjection.cs" />
<Compile Include="GMap.NET.Projections\MapsLTReliefProjection.cs" />
<Compile Include="GMap.NET.Projections\PlateCarreeProjectionDarbAe.cs" />
<Compile Include="GMap.NET\GDirections.cs" />
<Compile Include="GMap.NET\DirectionsProvider.cs" />
<Compile Include="GMap.NET\GeocodingProvider.cs" />
<Compile Include="GMap.NET\RoutingProvider.cs" />
<Compile Include="GMap.NET\ZipStorer.cs" />
<Compile Include="Properties\VersionInfo.cs" />
<Compile Include="GMap.NET.CacheProviders\MsSQLCePureImageCache.cs" />
<Compile Include="GMap.NET.CacheProviders\PostgreSQLPureImageCache.cs" />
<Compile Include="GMap.NET.CacheProviders\SQLitePureImageCache.cs" />
<Compile Include="GMap.NET.Internals\CacheQueueItem.cs" />
<Compile Include="GMap.NET.Internals\FastReaderWriterLock.cs" />
<Compile Include="GMap.NET.Internals\KiberTileCache.cs" />
<Compile Include="GMap.NET.Internals\PureImage.cs" />
<Compile Include="GMap.NET.Internals\LoadTask.cs" />
<Compile Include="GMap.NET.Internals\RawTile.cs" />
<Compile Include="GMap.NET.Projections\MapsLVProjection.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="GMap.NET.Projections\MapyCZProjection.cs" />
<Compile Include="GMap.NET.Projections\MercatorProjectionYandex.cs" />
<Compile Include="GMap.NET.Projections\PlateCarreeProjectionPergo.cs" />
<Compile Include="GMap.NET.Projections\MapsLTProjection.cs" />
<Compile Include="GMap.NET.Projections\MercatorProjection.cs" />
<Compile Include="GMap.NET.Projections\PlateCarreeProjection.cs" />
<Compile Include="GMap.NET\Extensions.cs" />
<Compile Include="GMap.NET\StatusCodes.cs" />
<Compile Include="GMap.NET.CacheProviders\MySQLPureImageCache.cs" />
<Compile Include="GMap.NET\GpsLog.cs" />
<Compile Include="GMap.NET\gpx.cs" />
<Compile Include="GMap.NET\LanguageType.cs" />
<Compile Include="GMap.NET\PureProjection.cs" />
<Compile Include="GMap.NET\Interface.cs" />
<Compile Include="GMap.NET\AccessMode.cs" />
<Compile Include="GMap.NET\Delegates.cs" />
<Compile Include="GMap.NET\MapRoute.cs" />
<None Include="GMap.NET\MapType.cs" />
<Compile Include="GMap.NET.CacheProviders\MsSQLPureImageCache.cs" />
<Compile Include="GMap.NET\GPoint.cs" />
<Compile Include="GMap.NET\PureImageCache.cs" />
<Compile Include="GMap.NET\GRect.cs" />
<Compile Include="GMap.NET\Singleton.cs" />
<Compile Include="GMap.NET\MouseWheelZoomType.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<DependentUpon>Resources.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="GMap.NET.Internals\Cache.cs" />
<Compile Include="GMap.NET.Internals\Core.cs" />
<Compile Include="GMap.NET.Internals\Tile.cs" />
<Compile Include="GMap.NET.Internals\TileMatrix.cs" />
<Compile Include="GMap.NET\GMaps.cs" />
<Compile Include="GMap.NET\Placemark.cs" />
<Compile Include="GMap.NET\PointLatLng.cs" />
<Compile Include="GMap.NET\RectLatLng.cs" />
<Compile Include="GMap.NET\RenderMode.cs" />
<Compile Include="GMap.NET\GSize.cs" />
<Compile Include="GMap.NET\SizeLatLng.cs" />
<Compile Include="GMap.NET.Internals\Stuff.cs" />
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="Resources\System.Data.SQLite.x64.NET2.dll.gz" />
<None Include="Resources\System.Data.SQLite.x64.NET4.dll.gz" />
<None Include="Resources\System.Data.SQLite.x86.NET2.dll.gz" />
<None Include="Resources\System.Data.SQLite.x86.NET4.dll.gz" />
<None Include="sn.snk" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<WebReferences Include="Web References\" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/Cache.cs
0,0 → 1,305

namespace GMap.NET.Internals
{
using System;
using System.Diagnostics;
using System.IO;
using System.Text;
using GMap.NET.CacheProviders;
using System.Security.Cryptography;
 
internal class CacheLocator
{
private static string location;
public static string Location
{
get
{
if(string.IsNullOrEmpty(location))
{
Reset();
}
 
return location;
}
set
{
if(string.IsNullOrEmpty(value)) // setting to null resets to default
{
Reset();
}
else
{
location = value;
}
 
if(Delay)
{
Cache.Instance.CacheLocation = location;
}
}
}
 
static void Reset()
{
string appDataLocation = GetApplicationDataFolderPath();
 
#if !PocketPC
// http://greatmaps.codeplex.com/discussions/403151
// by default Network Service don't have disk write access
if(string.IsNullOrEmpty(appDataLocation))
{
GMaps.Instance.Mode = AccessMode.ServerOnly;
GMaps.Instance.UseDirectionsCache = false;
GMaps.Instance.UseGeocoderCache = false;
GMaps.Instance.UsePlacemarkCache = false;
GMaps.Instance.UseRouteCache = false;
GMaps.Instance.UseUrlCache = false;
}
else
#endif
{
Location = appDataLocation;
}
}
 
public static string GetApplicationDataFolderPath()
{
#if !PocketPC
bool isSystem = false;
try
{
using(var identity = System.Security.Principal.WindowsIdentity.GetCurrent())
{
if(identity != null)
{
isSystem = identity.IsSystem;
}
}
}
catch(Exception ex)
{
Trace.WriteLine("SQLitePureImageCache, WindowsIdentity.GetCurrent: " + ex);
}
 
string path = string.Empty;
 
// https://greatmaps.codeplex.com/workitem/16112
if(isSystem)
{
path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData);
}
else
{
path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData);
}
#else
path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);
#endif
 
if(!string.IsNullOrEmpty(path))
{
path += Path.DirectorySeparatorChar + "GMap.NET" + Path.DirectorySeparatorChar;
}
 
return path;
}
 
public static bool Delay = false;
}
 
/// <summary>
/// cache system for tiles, geocoding, etc...
/// </summary>
internal class Cache : Singleton<Cache>
{
/// <summary>
/// abstract image cache
/// </summary>
public PureImageCache ImageCache;
 
/// <summary>
/// second level abstract image cache
/// </summary>
public PureImageCache ImageCacheSecond;
 
string cache;
 
/// <summary>
/// local cache location
/// </summary>
public string CacheLocation
{
get
{
return cache;
}
set
{
cache = value;
#if SQLite
if(ImageCache is SQLitePureImageCache)
{
(ImageCache as SQLitePureImageCache).CacheLocation = value;
}
#else
if(ImageCache is MsSQLCePureImageCache)
{
(ImageCache as MsSQLCePureImageCache).CacheLocation = value;
}
#endif
CacheLocator.Delay = true;
}
}
 
public Cache()
{
#region singleton check
if(Instance != null)
{
throw (new System.Exception("You have tried to create a new singleton class where you should have instanced it. Replace your \"new class()\" with \"class.Instance\""));
}
#endregion
 
#if SQLite
ImageCache = new SQLitePureImageCache();
#else
// you can use $ms stuff if you like too ;}
ImageCache = new MsSQLCePureImageCache();
#endif
 
#if PocketPC
// use sd card if exist for cache
string sd = Native.GetRemovableStorageDirectory();
if(!string.IsNullOrEmpty(sd))
{
CacheLocation = sd + Path.DirectorySeparatorChar + "GMap.NET" + Path.DirectorySeparatorChar;
}
else
#endif
{
#if PocketPC
CacheLocation = CacheLocator.Location;
#else
string newCache = CacheLocator.Location;
 
string oldCache = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData) + Path.DirectorySeparatorChar + "GMap.NET" + Path.DirectorySeparatorChar;
 
// move database to non-roaming user directory
if(Directory.Exists(oldCache))
{
try
{
if(Directory.Exists(newCache))
{
Directory.Delete(oldCache, true);
}
else
{
Directory.Move(oldCache, newCache);
}
CacheLocation = newCache;
}
catch(Exception ex)
{
CacheLocation = oldCache;
Trace.WriteLine("SQLitePureImageCache, moving data: " + ex.ToString());
}
}
else
{
CacheLocation = newCache;
}
#endif
}
}
 
#region -- etc cache --
 
static readonly SHA1CryptoServiceProvider HashProvider = new SHA1CryptoServiceProvider();
 
void ConvertToHash(ref string s)
{
s = BitConverter.ToString(HashProvider.ComputeHash(Encoding.Unicode.GetBytes(s)));
}
 
public void SaveContent(string url, CacheType type, string content)
{
try
{
ConvertToHash(ref url);
 
string dir = Path.Combine(cache, type.ToString()) + Path.DirectorySeparatorChar;
 
// precrete dir
if(!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
 
string file = dir + url + ".txt";
 
using(StreamWriter writer = new StreamWriter(file, false, Encoding.UTF8))
{
writer.Write(content);
}
}
catch(Exception ex)
{
Debug.WriteLine("SaveContent: " + ex);
}
}
 
public string GetContent(string url, CacheType type, TimeSpan stayInCache)
{
string ret = null;
 
try
{
ConvertToHash(ref url);
 
string dir = Path.Combine(cache, type.ToString()) + Path.DirectorySeparatorChar;
string file = dir + url + ".txt";
 
if(File.Exists(file))
{
var writeTime = File.GetLastWriteTime(file);
if (DateTime.Now - writeTime < stayInCache)
{
using (StreamReader r = new StreamReader(file, Encoding.UTF8))
{
ret = r.ReadToEnd();
}
}
else
{
File.Delete(file);
}
}
}
catch(Exception ex)
{
ret = null;
Debug.WriteLine("GetContent: " + ex);
}
 
return ret;
}
 
public string GetContent(string url, CacheType type)
{
return GetContent(url, type, TimeSpan.FromDays(88));
}
 
#endregion
}
 
internal enum CacheType
{
GeocoderCache,
PlacemarkCache,
RouteCache,
UrlCache,
DirectionsCache,
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/CacheQueueItem.cs
0,0 → 1,40

namespace GMap.NET.Internals
{
using System.IO;
using System;
 
/// <summary>
/// cache queue item
/// </summary>
internal struct CacheQueueItem
{
public RawTile Tile;
public byte[] Img;
public CacheUsage CacheType;
 
public CacheQueueItem(RawTile tile, byte[] Img, CacheUsage cacheType)
{
this.Tile = tile;
this.Img = Img;
this.CacheType = cacheType;
}
 
public override string ToString()
{
return Tile + ", CacheType:" + CacheType;
}
 
public void Clear()
{
Img = null;
}
}
 
internal enum CacheUsage
{
First = 2,
Second = 4,
Both = First | Second
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/Core.cs
0,0 → 1,1400

namespace GMap.NET.Internals
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
using GMap.NET.Projections;
using System.IO;
using GMap.NET.MapProviders;
using System.ComponentModel;
 
#if NET40
using System.Collections.Concurrent;
using System.Threading.Tasks;
#endif
 
#if PocketPC
using OpenNETCF.ComponentModel;
using OpenNETCF.Threading;
using Thread=OpenNETCF.Threading.Thread2;
#endif
 
/// <summary>
/// internal map control core
/// </summary>
internal class Core : IDisposable
{
public PointLatLng position;
public GPoint positionPixel;
 
public GPoint renderOffset;
public GPoint centerTileXYLocation;
public GPoint centerTileXYLocationLast;
public GPoint dragPoint;
public GPoint compensationOffset;
 
public GPoint mouseDown;
public GPoint mouseCurrent;
public GPoint mouseLastZoom;
 
public MouseWheelZoomType MouseWheelZoomType = MouseWheelZoomType.MousePositionAndCenter;
public bool MouseWheelZoomEnabled = true;
 
public PointLatLng? LastLocationInBounds = null;
public bool VirtualSizeEnabled = false;
 
public GSize sizeOfMapArea;
public GSize minOfTiles;
public GSize maxOfTiles;
 
public GRect tileRect;
public GRect tileRectBearing;
//public GRect currentRegion;
public float bearing = 0;
public bool IsRotated = false;
 
public bool fillEmptyTiles = true;
 
public TileMatrix Matrix = new TileMatrix();
 
public List<DrawTile> tileDrawingList = new List<DrawTile>();
public FastReaderWriterLock tileDrawingListLock = new FastReaderWriterLock();
 
#if !NET40
public readonly Stack<LoadTask> tileLoadQueue = new Stack<LoadTask>();
#endif
 
#if !PocketPC
static readonly int GThreadPoolSize = 4;
#else
static readonly int GThreadPoolSize = 2;
#endif
 
DateTime LastTileLoadStart = DateTime.Now;
DateTime LastTileLoadEnd = DateTime.Now;
internal volatile bool IsStarted = false;
int zoom;
 
internal double scaleX = 1;
internal double scaleY = 1;
 
internal int maxZoom = 2;
internal int minZoom = 2;
internal int Width;
internal int Height;
 
internal int pxRes100m; // 100 meters
internal int pxRes1000m; // 1km
internal int pxRes10km; // 10km
internal int pxRes100km; // 100km
internal int pxRes1000km; // 1000km
internal int pxRes5000km; // 5000km
 
/// <summary>
/// is user dragging map
/// </summary>
public bool IsDragging = false;
 
public Core()
{
Provider = EmptyProvider.Instance;
}
 
/// <summary>
/// map zoom
/// </summary>
public int Zoom
{
get
{
return zoom;
}
set
{
if (zoom != value && !IsDragging)
{
zoom = value;
 
minOfTiles = Provider.Projection.GetTileMatrixMinXY(value);
maxOfTiles = Provider.Projection.GetTileMatrixMaxXY(value);
 
positionPixel = Provider.Projection.FromLatLngToPixel(Position, value);
 
if (IsStarted)
{
CancelAsyncTasks();
 
Matrix.ClearLevelsBelove(zoom - LevelsKeepInMemmory);
Matrix.ClearLevelsAbove(zoom + LevelsKeepInMemmory);
 
lock (FailedLoads)
{
FailedLoads.Clear();
RaiseEmptyTileError = true;
}
 
GoToCurrentPositionOnZoom();
UpdateBounds();
 
if (OnMapZoomChanged != null)
{
OnMapZoomChanged();
}
}
}
}
}
 
/// <summary>
/// current marker position in pixel coordinates
/// </summary>
public GPoint PositionPixel
{
get
{
return positionPixel;
}
}
 
/// <summary>
/// current marker position
/// </summary>
public PointLatLng Position
{
get
{
 
return position;
}
set
{
position = value;
positionPixel = Provider.Projection.FromLatLngToPixel(value, Zoom);
 
if (IsStarted)
{
if (!IsDragging)
{
GoToCurrentPosition();
}
 
if (OnCurrentPositionChanged != null)
OnCurrentPositionChanged(position);
}
}
}
 
public GMapProvider provider;
public GMapProvider Provider
{
get
{
return provider;
}
set
{
if (provider == null || !provider.Equals(value))
{
bool diffProjection = (provider == null || provider.Projection != value.Projection);
 
provider = value;
 
if (!provider.IsInitialized)
{
provider.IsInitialized = true;
provider.OnInitialized();
}
 
if (provider.Projection != null && diffProjection)
{
tileRect = new GRect(GPoint.Empty, Provider.Projection.TileSize);
tileRectBearing = tileRect;
if (IsRotated)
{
tileRectBearing.Inflate(1, 1);
}
 
minOfTiles = Provider.Projection.GetTileMatrixMinXY(Zoom);
maxOfTiles = Provider.Projection.GetTileMatrixMaxXY(Zoom);
positionPixel = Provider.Projection.FromLatLngToPixel(Position, Zoom);
}
 
if (IsStarted)
{
CancelAsyncTasks();
if (diffProjection)
{
OnMapSizeChanged(Width, Height);
}
ReloadMap();
 
if (minZoom < provider.MinZoom)
{
minZoom = provider.MinZoom;
}
 
//if(provider.MaxZoom.HasValue && maxZoom > provider.MaxZoom)
//{
// maxZoom = provider.MaxZoom.Value;
//}
 
zoomToArea = true;
 
if (provider.Area.HasValue && !provider.Area.Value.Contains(Position))
{
SetZoomToFitRect(provider.Area.Value);
zoomToArea = false;
}
 
if (OnMapTypeChanged != null)
{
OnMapTypeChanged(value);
}
}
}
}
}
 
internal bool zoomToArea = true;
 
/// <summary>
/// sets zoom to max to fit rect
/// </summary>
/// <param name="rect"></param>
/// <returns></returns>
public bool SetZoomToFitRect(RectLatLng rect)
{
int mmaxZoom = GetMaxZoomToFitRect(rect);
if (mmaxZoom > 0)
{
PointLatLng center = new PointLatLng(rect.Lat - (rect.HeightLat / 2), rect.Lng + (rect.WidthLng / 2));
Position = center;
 
if (mmaxZoom > maxZoom)
{
mmaxZoom = maxZoom;
}
 
if (Zoom != mmaxZoom)
{
Zoom = (int)mmaxZoom;
}
 
return true;
}
return false;
}
 
/// <summary>
/// is polygons enabled
/// </summary>
public bool PolygonsEnabled = true;
 
/// <summary>
/// is routes enabled
/// </summary>
public bool RoutesEnabled = true;
 
/// <summary>
/// is markers enabled
/// </summary>
public bool MarkersEnabled = true;
 
/// <summary>
/// can user drag map
/// </summary>
public bool CanDragMap = true;
 
/// <summary>
/// retry count to get tile
/// </summary>
#if !PocketPC
public int RetryLoadTile = 0;
#else
public int RetryLoadTile = 1;
#endif
 
/// <summary>
/// how many levels of tiles are staying decompresed in memory
/// </summary>
#if !PocketPC
public int LevelsKeepInMemmory = 5;
#else
public int LevelsKeepInMemmory = 1;
#endif
 
/// <summary>
/// map render mode
/// </summary>
public RenderMode RenderMode = RenderMode.GDI_PLUS;
 
/// <summary>
/// occurs when current position is changed
/// </summary>
public event PositionChanged OnCurrentPositionChanged;
 
/// <summary>
/// occurs when tile set load is complete
/// </summary>
public event TileLoadComplete OnTileLoadComplete;
 
/// <summary>
/// occurs when tile set is starting to load
/// </summary>
public event TileLoadStart OnTileLoadStart;
 
/// <summary>
/// occurs on empty tile displayed
/// </summary>
public event EmptyTileError OnEmptyTileError;
 
/// <summary>
/// occurs on map drag
/// </summary>
public event MapDrag OnMapDrag;
 
/// <summary>
/// occurs on map zoom changed
/// </summary>
public event MapZoomChanged OnMapZoomChanged;
 
/// <summary>
/// occurs on map type changed
/// </summary>
public event MapTypeChanged OnMapTypeChanged;
 
readonly List<Thread> GThreadPool = new List<Thread>();
// ^
// should be only one pool for multiply controls, any ideas how to fix?
//static readonly List<Thread> GThreadPool = new List<Thread>();
 
// windows forms or wpf
internal string SystemType;
 
internal static int instances = 0;
 
BackgroundWorker invalidator;
 
public BackgroundWorker OnMapOpen()
{
if (!IsStarted)
{
int x = Interlocked.Increment(ref instances);
Debug.WriteLine("OnMapOpen: " + x);
 
IsStarted = true;
 
if (x == 1)
{
GMaps.Instance.noMapInstances = false;
}
 
GoToCurrentPosition();
 
invalidator = new BackgroundWorker();
invalidator.WorkerSupportsCancellation = true;
invalidator.WorkerReportsProgress = true;
invalidator.DoWork += new DoWorkEventHandler(invalidatorWatch);
invalidator.RunWorkerAsync();
 
//if(x == 1)
//{
// first control shown
//}
}
return invalidator;
}
 
public void OnMapClose()
{
Dispose();
}
 
internal readonly object invalidationLock = new object();
internal DateTime lastInvalidation = DateTime.Now;
 
void invalidatorWatch(object sender, DoWorkEventArgs e)
{
var w = sender as BackgroundWorker;
 
TimeSpan span = TimeSpan.FromMilliseconds(111);
int spanMs = (int)span.TotalMilliseconds;
bool skiped = false;
TimeSpan delta;
DateTime now = DateTime.Now;
 
while (Refresh != null && (!skiped && Refresh.WaitOne() || (Refresh.WaitOne(spanMs, false) || true)))
{
if (w.CancellationPending)
break;
 
now = DateTime.Now;
lock (invalidationLock)
{
delta = now - lastInvalidation;
}
 
if (delta > span)
{
lock (invalidationLock)
{
lastInvalidation = now;
}
skiped = false;
 
w.ReportProgress(1);
Debug.WriteLine("Invalidate delta: " + (int)delta.TotalMilliseconds + "ms");
}
else
{
skiped = true;
}
}
}
 
public void UpdateCenterTileXYLocation()
{
PointLatLng center = FromLocalToLatLng(Width / 2, Height / 2);
GPoint centerPixel = Provider.Projection.FromLatLngToPixel(center, Zoom);
centerTileXYLocation = Provider.Projection.FromPixelToTileXY(centerPixel);
}
 
public int vWidth = 800;
public int vHeight = 400;
 
public void OnMapSizeChanged(int width, int height)
{
this.Width = width;
this.Height = height;
 
if (IsRotated)
{
#if !PocketPC
int diag = (int)Math.Round(Math.Sqrt(Width * Width + Height * Height) / Provider.Projection.TileSize.Width, MidpointRounding.AwayFromZero);
#else
int diag = (int) Math.Round(Math.Sqrt(Width * Width + Height * Height) / Provider.Projection.TileSize.Width);
#endif
sizeOfMapArea.Width = 1 + (diag / 2);
sizeOfMapArea.Height = 1 + (diag / 2);
}
else
{
sizeOfMapArea.Width = 1 + (Width / Provider.Projection.TileSize.Width) / 2;
sizeOfMapArea.Height = 1 + (Height / Provider.Projection.TileSize.Height) / 2;
}
 
Debug.WriteLine("OnMapSizeChanged, w: " + width + ", h: " + height + ", size: " + sizeOfMapArea);
 
if (IsStarted)
{
UpdateBounds();
GoToCurrentPosition();
}
}
 
/// <summary>
/// gets current map view top/left coordinate, width in Lng, height in Lat
/// </summary>
/// <returns></returns>
public RectLatLng ViewArea
{
get
{
if (Provider.Projection != null)
{
var p = FromLocalToLatLng(0, 0);
var p2 = FromLocalToLatLng(Width, Height);
 
return RectLatLng.FromLTRB(p.Lng, p.Lat, p2.Lng, p2.Lat);
}
return RectLatLng.Empty;
}
}
 
/// <summary>
/// gets lat/lng from local control coordinates
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public PointLatLng FromLocalToLatLng(long x, long y)
{
GPoint p = new GPoint(x, y);
p.OffsetNegative(renderOffset);
p.Offset(compensationOffset);
 
return Provider.Projection.FromPixelToLatLng(p, Zoom);
}
 
/// <summary>
/// return local coordinates from lat/lng
/// </summary>
/// <param name="latlng"></param>
/// <returns></returns>
public GPoint FromLatLngToLocal(PointLatLng latlng)
{
GPoint pLocal = Provider.Projection.FromLatLngToPixel(latlng, Zoom);
pLocal.Offset(renderOffset);
pLocal.OffsetNegative(compensationOffset);
return pLocal;
}
 
/// <summary>
/// gets max zoom level to fit rectangle
/// </summary>
/// <param name="rect"></param>
/// <returns></returns>
public int GetMaxZoomToFitRect(RectLatLng rect)
{
int zoom = minZoom;
 
if (rect.HeightLat == 0 || rect.WidthLng == 0)
{
zoom = maxZoom / 2;
}
else
{
for (int i = (int)zoom; i <= maxZoom; i++)
{
GPoint p1 = Provider.Projection.FromLatLngToPixel(rect.LocationTopLeft, i);
GPoint p2 = Provider.Projection.FromLatLngToPixel(rect.LocationRightBottom, i);
 
if (((p2.X - p1.X) <= Width + 10) && (p2.Y - p1.Y) <= Height + 10)
{
zoom = i;
}
else
{
break;
}
}
}
 
return zoom;
}
 
/// <summary>
/// initiates map dragging
/// </summary>
/// <param name="pt"></param>
public void BeginDrag(GPoint pt)
{
dragPoint.X = pt.X - renderOffset.X;
dragPoint.Y = pt.Y - renderOffset.Y;
IsDragging = true;
}
 
/// <summary>
/// ends map dragging
/// </summary>
public void EndDrag()
{
IsDragging = false;
mouseDown = GPoint.Empty;
 
Refresh.Set();
}
 
/// <summary>
/// reloads map
/// </summary>
public void ReloadMap()
{
if (IsStarted)
{
Debug.WriteLine("------------------");
 
okZoom = 0;
skipOverZoom = 0;
 
CancelAsyncTasks();
 
Matrix.ClearAllLevels();
 
lock (FailedLoads)
{
FailedLoads.Clear();
RaiseEmptyTileError = true;
}
 
Refresh.Set();
 
UpdateBounds();
}
else
{
throw new Exception("Please, do not call ReloadMap before form is loaded, it's useless");
}
}
 
/// <summary>
/// moves current position into map center
/// </summary>
public void GoToCurrentPosition()
{
compensationOffset = positionPixel; // TODO: fix
 
// reset stuff
renderOffset = GPoint.Empty;
dragPoint = GPoint.Empty;
 
//var dd = new GPoint(-(CurrentPositionGPixel.X - Width / 2), -(CurrentPositionGPixel.Y - Height / 2));
//dd.Offset(compensationOffset);
 
var d = new GPoint(Width / 2, Height / 2);
 
this.Drag(d);
}
 
public bool MouseWheelZooming = false;
 
/// <summary>
/// moves current position into map center
/// </summary>
internal void GoToCurrentPositionOnZoom()
{
compensationOffset = positionPixel; // TODO: fix
 
// reset stuff
renderOffset = GPoint.Empty;
dragPoint = GPoint.Empty;
 
// goto location and centering
if (MouseWheelZooming)
{
if (MouseWheelZoomType != MouseWheelZoomType.MousePositionWithoutCenter)
{
GPoint pt = new GPoint(-(positionPixel.X - Width / 2), -(positionPixel.Y - Height / 2));
pt.Offset(compensationOffset);
renderOffset.X = pt.X - dragPoint.X;
renderOffset.Y = pt.Y - dragPoint.Y;
}
else // without centering
{
renderOffset.X = -positionPixel.X - dragPoint.X;
renderOffset.Y = -positionPixel.Y - dragPoint.Y;
renderOffset.Offset(mouseLastZoom);
renderOffset.Offset(compensationOffset);
}
}
else // use current map center
{
mouseLastZoom = GPoint.Empty;
 
GPoint pt = new GPoint(-(positionPixel.X - Width / 2), -(positionPixel.Y - Height / 2));
pt.Offset(compensationOffset);
renderOffset.X = pt.X - dragPoint.X;
renderOffset.Y = pt.Y - dragPoint.Y;
}
 
UpdateCenterTileXYLocation();
}
 
/// <summary>
/// darg map by offset in pixels
/// </summary>
/// <param name="offset"></param>
public void DragOffset(GPoint offset)
{
renderOffset.Offset(offset);
 
UpdateCenterTileXYLocation();
 
if (centerTileXYLocation != centerTileXYLocationLast)
{
centerTileXYLocationLast = centerTileXYLocation;
UpdateBounds();
}
 
{
LastLocationInBounds = Position;
 
IsDragging = true;
Position = FromLocalToLatLng((int)Width / 2, (int)Height / 2);
IsDragging = false;
}
 
if (OnMapDrag != null)
{
OnMapDrag();
}
}
 
/// <summary>
/// drag map
/// </summary>
/// <param name="pt"></param>
public void Drag(GPoint pt)
{
renderOffset.X = pt.X - dragPoint.X;
renderOffset.Y = pt.Y - dragPoint.Y;
 
UpdateCenterTileXYLocation();
 
if (centerTileXYLocation != centerTileXYLocationLast)
{
centerTileXYLocationLast = centerTileXYLocation;
UpdateBounds();
}
 
if (IsDragging)
{
LastLocationInBounds = Position;
Position = FromLocalToLatLng((int)Width / 2, (int)Height / 2);
 
if (OnMapDrag != null)
{
OnMapDrag();
}
}
}
 
/// <summary>
/// cancels tile loaders and bounds checker
/// </summary>
public void CancelAsyncTasks()
{
if (IsStarted)
{
#if NET40
//TODO: clear loading
#else
Monitor.Enter(tileLoadQueue);
try
{
tileLoadQueue.Clear();
}
finally
{
Monitor.Exit(tileLoadQueue);
}
#endif
}
}
 
bool RaiseEmptyTileError = false;
internal Dictionary<LoadTask, Exception> FailedLoads = new Dictionary<LoadTask, Exception>(new LoadTaskComparer());
 
internal static readonly int WaitForTileLoadThreadTimeout = 5 * 1000 * 60; // 5 min.
 
volatile int okZoom = 0;
volatile int skipOverZoom = 0;
 
#if NET40
static readonly BlockingCollection<LoadTask> tileLoadQueue4 = new BlockingCollection<LoadTask>(new ConcurrentStack<LoadTask>());
static List<Task> tileLoadQueue4Tasks;
static int loadWaitCount = 0;
void AddLoadTask(LoadTask t)
{
if (tileLoadQueue4Tasks == null)
{
lock (tileLoadQueue4)
{
if (tileLoadQueue4Tasks == null)
{
tileLoadQueue4Tasks = new List<Task>();
 
while (tileLoadQueue4Tasks.Count < GThreadPoolSize)
{
Debug.WriteLine("creating ProcessLoadTask: " + tileLoadQueue4Tasks.Count);
 
tileLoadQueue4Tasks.Add(Task.Factory.StartNew(delegate ()
{
string ctid = "ProcessLoadTask[" + Thread.CurrentThread.ManagedThreadId + "]";
Thread.CurrentThread.Name = ctid;
 
Debug.WriteLine(ctid + ": started");
do
{
if (tileLoadQueue4.Count == 0)
{
Debug.WriteLine(ctid + ": ready");
 
if (Interlocked.Increment(ref loadWaitCount) >= GThreadPoolSize)
{
Interlocked.Exchange(ref loadWaitCount, 0);
OnLoadComplete(ctid);
}
}
ProcessLoadTask(tileLoadQueue4.Take(), ctid);
}
while (!tileLoadQueue4.IsAddingCompleted);
 
Debug.WriteLine(ctid + ": exit");
 
}, TaskCreationOptions.LongRunning));
}
}
}
}
tileLoadQueue4.Add(t);
}
#else
byte loadWaitCount = 0;
 
void tileLoadThread()
{
LoadTask? task = null;
bool stop = false;
 
#if !PocketPC
Thread ct = Thread.CurrentThread;
string ctid = "Thread[" + ct.ManagedThreadId + "]";
#else
int ctid = 0;
#endif
while (!stop && IsStarted)
{
task = null;
 
Monitor.Enter(tileLoadQueue);
try
{
while (tileLoadQueue.Count == 0)
{
Debug.WriteLine(ctid + " - Wait " + loadWaitCount + " - " + DateTime.Now.TimeOfDay);
 
if (++loadWaitCount >= GThreadPoolSize)
{
loadWaitCount = 0;
OnLoadComplete(ctid);
}
 
if (!IsStarted || false == Monitor.Wait(tileLoadQueue, WaitForTileLoadThreadTimeout, false) || !IsStarted)
{
stop = true;
break;
}
}
 
if (IsStarted && !stop || tileLoadQueue.Count > 0)
{
task = tileLoadQueue.Pop();
}
}
finally
{
Monitor.Exit(tileLoadQueue);
}
 
if (task.HasValue && IsStarted)
{
ProcessLoadTask(task.Value, ctid);
}
}
 
#if !PocketPC
Monitor.Enter(tileLoadQueue);
try
{
Debug.WriteLine("Quit - " + ct.Name);
lock (GThreadPool)
{
GThreadPool.Remove(ct);
}
}
finally
{
Monitor.Exit(tileLoadQueue);
}
#endif
}
#endif
 
static void ProcessLoadTask(LoadTask task, string ctid)
{
try
{
#region -- execute --
 
var m = task.Core.Matrix.GetTileWithReadLock(task.Zoom, task.Pos);
if (!m.NotEmpty)
{
Debug.WriteLine(ctid + " - try load: " + task);
 
Tile t = new Tile(task.Zoom, task.Pos);
 
foreach (var tl in task.Core.provider.Overlays)
{
int retry = 0;
do
{
PureImage img = null;
Exception ex = null;
 
if (task.Zoom >= task.Core.provider.MinZoom && (!task.Core.provider.MaxZoom.HasValue || task.Zoom <= task.Core.provider.MaxZoom))
{
if (task.Core.skipOverZoom == 0 || task.Zoom <= task.Core.skipOverZoom)
{
// tile number inversion(BottomLeft -> TopLeft)
if (tl.InvertedAxisY)
{
img = GMaps.Instance.GetImageFrom(tl, new GPoint(task.Pos.X, task.Core.maxOfTiles.Height - task.Pos.Y), task.Zoom, out ex);
}
else // ok
{
img = GMaps.Instance.GetImageFrom(tl, task.Pos, task.Zoom, out ex);
}
}
}
 
if (img != null && ex == null)
{
if (task.Core.okZoom < task.Zoom)
{
task.Core.okZoom = task.Zoom;
task.Core.skipOverZoom = 0;
Debug.WriteLine("skipOverZoom disabled, okZoom: " + task.Core.okZoom);
}
}
else if (ex != null)
{
if ((task.Core.skipOverZoom != task.Core.okZoom) && (task.Zoom > task.Core.okZoom))
{
if (ex.Message.Contains("(404) Not Found"))
{
task.Core.skipOverZoom = task.Core.okZoom;
Debug.WriteLine("skipOverZoom enabled: " + task.Core.skipOverZoom);
}
}
}
 
// check for parent tiles if not found
if (img == null && task.Core.okZoom > 0 && task.Core.fillEmptyTiles && task.Core.Provider.Projection is MercatorProjection)
{
int zoomOffset = task.Zoom > task.Core.okZoom ? task.Zoom - task.Core.okZoom : 1;
long Ix = 0;
GPoint parentTile = GPoint.Empty;
 
while (img == null && zoomOffset < task.Zoom)
{
Ix = (long)Math.Pow(2, zoomOffset);
parentTile = new GMap.NET.GPoint((task.Pos.X / Ix), (task.Pos.Y / Ix));
img = GMaps.Instance.GetImageFrom(tl, parentTile, task.Zoom - zoomOffset++, out ex);
}
 
if (img != null)
{
// offsets in quadrant
long Xoff = Math.Abs(task.Pos.X - (parentTile.X * Ix));
long Yoff = Math.Abs(task.Pos.Y - (parentTile.Y * Ix));
 
img.IsParent = true;
img.Ix = Ix;
img.Xoff = Xoff;
img.Yoff = Yoff;
 
// wpf
//var geometry = new RectangleGeometry(new Rect(Core.tileRect.X + 0.6, Core.tileRect.Y + 0.6, Core.tileRect.Width + 0.6, Core.tileRect.Height + 0.6));
//var parentImgRect = new Rect(Core.tileRect.X - Core.tileRect.Width * Xoff + 0.6, Core.tileRect.Y - Core.tileRect.Height * Yoff + 0.6, Core.tileRect.Width * Ix + 0.6, Core.tileRect.Height * Ix + 0.6);
 
// gdi+
//System.Drawing.Rectangle dst = new System.Drawing.Rectangle((int)Core.tileRect.X, (int)Core.tileRect.Y, (int)Core.tileRect.Width, (int)Core.tileRect.Height);
//System.Drawing.RectangleF srcRect = new System.Drawing.RectangleF((float)(Xoff * (img.Img.Width / Ix)), (float)(Yoff * (img.Img.Height / Ix)), (img.Img.Width / Ix), (img.Img.Height / Ix));
}
}
 
if (img != null)
{
Debug.WriteLine(ctid + " - tile loaded: " + img.Data.Length / 1024 + "KB, " + task);
{
t.AddOverlay(img);
}
break;
}
else
{
if (ex != null)
{
lock (task.Core.FailedLoads)
{
if (!task.Core.FailedLoads.ContainsKey(task))
{
task.Core.FailedLoads.Add(task, ex);
 
if (task.Core.OnEmptyTileError != null)
{
if (!task.Core.RaiseEmptyTileError)
{
task.Core.RaiseEmptyTileError = true;
task.Core.OnEmptyTileError(task.Zoom, task.Pos);
}
}
}
}
}
 
if (task.Core.RetryLoadTile > 0)
{
Debug.WriteLine(ctid + " - ProcessLoadTask: " + task + " -> empty tile, retry " + retry);
{
Thread.Sleep(1111);
}
}
}
}
while (++retry < task.Core.RetryLoadTile);
}
 
if (t.HasAnyOverlays && task.Core.IsStarted)
{
task.Core.Matrix.SetTile(t);
}
else
{
t.Dispose();
}
}
 
#endregion
}
catch (Exception ex)
{
Debug.WriteLine(ctid + " - ProcessLoadTask: " + ex.ToString());
}
finally
{
if (task.Core.Refresh != null)
{
task.Core.Refresh.Set();
}
}
}
 
void OnLoadComplete(string ctid)
{
LastTileLoadEnd = DateTime.Now;
long lastTileLoadTimeMs = (long)(LastTileLoadEnd - LastTileLoadStart).TotalMilliseconds;
 
#region -- clear stuff--
if (IsStarted)
{
GMaps.Instance.MemoryCache.RemoveOverload();
 
tileDrawingListLock.AcquireReaderLock();
try
{
Matrix.ClearLevelAndPointsNotIn(Zoom, tileDrawingList);
}
finally
{
tileDrawingListLock.ReleaseReaderLock();
}
}
#endregion
 
UpdateGroundResolution();
#if UseGC
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
#endif
Debug.WriteLine(ctid + " - OnTileLoadComplete: " + lastTileLoadTimeMs + "ms, MemoryCacheSize: " + GMaps.Instance.MemoryCache.Size + "MB");
 
if (OnTileLoadComplete != null)
{
OnTileLoadComplete(lastTileLoadTimeMs);
}
}
 
public AutoResetEvent Refresh = new AutoResetEvent(false);
 
public bool updatingBounds = false;
 
/// <summary>
/// updates map bounds
/// </summary>
void UpdateBounds()
{
if (!IsStarted || Provider.Equals(EmptyProvider.Instance))
{
return;
}
 
updatingBounds = true;
 
tileDrawingListLock.AcquireWriterLock();
try
{
#region -- find tiles around --
tileDrawingList.Clear();
 
for (long i = (int)Math.Floor(-sizeOfMapArea.Width * scaleX), countI = (int)Math.Ceiling(sizeOfMapArea.Width * scaleX); i <= countI; i++)
{
for (long j = (int)Math.Floor(-sizeOfMapArea.Height * scaleY), countJ = (int)Math.Ceiling(sizeOfMapArea.Height * scaleY); j <= countJ; j++)
{
GPoint p = centerTileXYLocation;
p.X += i;
p.Y += j;
 
#if ContinuesMap
// ----------------------------
if(p.X < minOfTiles.Width)
{
p.X += (maxOfTiles.Width + 1);
}
 
if(p.X > maxOfTiles.Width)
{
p.X -= (maxOfTiles.Width + 1);
}
// ----------------------------
#endif
 
if (p.X >= minOfTiles.Width && p.Y >= minOfTiles.Height && p.X <= maxOfTiles.Width && p.Y <= maxOfTiles.Height)
{
DrawTile dt = new DrawTile()
{
PosXY = p,
PosPixel = new GPoint(p.X * tileRect.Width, p.Y * tileRect.Height),
DistanceSqr = (centerTileXYLocation.X - p.X) * (centerTileXYLocation.X - p.X) + (centerTileXYLocation.Y - p.Y) * (centerTileXYLocation.Y - p.Y)
};
 
if (!tileDrawingList.Contains(dt))
{
tileDrawingList.Add(dt);
}
}
}
}
 
if (GMaps.Instance.ShuffleTilesOnLoad)
{
Stuff.Shuffle<DrawTile>(tileDrawingList);
}
else
{
tileDrawingList.Sort();
}
#endregion
}
finally
{
tileDrawingListLock.ReleaseWriterLock();
}
 
#if NET40
Interlocked.Exchange(ref loadWaitCount, 0);
#else
Monitor.Enter(tileLoadQueue);
try
{
#endif
tileDrawingListLock.AcquireReaderLock();
try
{
foreach (DrawTile p in tileDrawingList)
{
LoadTask task = new LoadTask(p.PosXY, Zoom, this);
#if NET40
AddLoadTask(task);
#else
{
if (!tileLoadQueue.Contains(task))
{
tileLoadQueue.Push(task);
}
}
#endif
}
}
finally
{
tileDrawingListLock.ReleaseReaderLock();
}
 
#if !NET40
#region -- starts loader threads if needed --
 
lock (GThreadPool)
{
while (GThreadPool.Count < GThreadPoolSize)
{
Thread t = new Thread(new ThreadStart(tileLoadThread));
{
t.Name = "TileLoader: " + GThreadPool.Count;
t.IsBackground = true;
t.Priority = ThreadPriority.BelowNormal;
}
GThreadPool.Add(t);
 
Debug.WriteLine("add " + t.Name + " to GThreadPool");
 
t.Start();
}
}
#endregion
#endif
{
LastTileLoadStart = DateTime.Now;
Debug.WriteLine("OnTileLoadStart - at zoom " + Zoom + ", time: " + LastTileLoadStart.TimeOfDay);
}
#if !NET40
loadWaitCount = 0;
Monitor.PulseAll(tileLoadQueue);
}
finally
{
Monitor.Exit(tileLoadQueue);
}
#endif
updatingBounds = false;
 
if (OnTileLoadStart != null)
{
OnTileLoadStart();
}
}
 
/// <summary>
/// updates ground resolution info
/// </summary>
void UpdateGroundResolution()
{
double rez = Provider.Projection.GetGroundResolution(Zoom, Position.Lat);
pxRes100m = (int)(100.0 / rez); // 100 meters
pxRes1000m = (int)(1000.0 / rez); // 1km
pxRes10km = (int)(10000.0 / rez); // 10km
pxRes100km = (int)(100000.0 / rez); // 100km
pxRes1000km = (int)(1000000.0 / rez); // 1000km
pxRes5000km = (int)(5000000.0 / rez); // 5000km
}
 
#region IDisposable Members
 
~Core()
{
Dispose(false);
}
 
void Dispose(bool disposing)
{
if (IsStarted)
{
if (invalidator != null)
{
invalidator.CancelAsync();
invalidator.DoWork -= new DoWorkEventHandler(invalidatorWatch);
invalidator.Dispose();
invalidator = null;
}
 
if (Refresh != null)
{
Refresh.Set();
Refresh.Close();
Refresh = null;
}
 
int x = Interlocked.Decrement(ref instances);
Debug.WriteLine("OnMapClose: " + x);
 
CancelAsyncTasks();
IsStarted = false;
 
if (Matrix != null)
{
Matrix.Dispose();
Matrix = null;
}
 
if (FailedLoads != null)
{
lock (FailedLoads)
{
FailedLoads.Clear();
RaiseEmptyTileError = false;
}
FailedLoads = null;
}
 
tileDrawingListLock.AcquireWriterLock();
try
{
tileDrawingList.Clear();
}
finally
{
tileDrawingListLock.ReleaseWriterLock();
}
 
#if NET40
//TODO: maybe
#else
// cancel waiting loaders
Monitor.Enter(tileLoadQueue);
try
{
Monitor.PulseAll(tileLoadQueue);
}
finally
{
Monitor.Exit(tileLoadQueue);
}
 
lock (GThreadPool)
{
#if PocketPC
Debug.WriteLine("waiting until loaders are stopped...");
while(GThreadPool.Count > 0)
{
var t = GThreadPool[0];
 
if (t.State != ThreadState.Stopped)
{
var tr = t.Join(1111);
 
Debug.WriteLine(t.Name + ", " + t.State);
 
if (!tr)
{
continue;
}
else
{
GThreadPool.Remove(t);
}
}
else
{
GThreadPool.Remove(t);
}
}
Thread.Sleep(1111);
#endif
}
#endif
 
if (tileDrawingListLock != null)
{
tileDrawingListLock.Dispose();
tileDrawingListLock = null;
tileDrawingList = null;
}
 
if (x == 0)
{
#if DEBUG
GMaps.Instance.CancelTileCaching();
#endif
GMaps.Instance.noMapInstances = true;
GMaps.Instance.WaitForCache.Set();
if (disposing)
{
GMaps.Instance.MemoryCache.Clear();
}
}
}
}
 
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/DrawTile.cs
0,0 → 1,37

using System;
namespace GMap.NET.Internals
{
/// <summary>
/// struct for drawing tile
/// </summary>
internal struct DrawTile : IEquatable<DrawTile>, IComparable<DrawTile>
{
public GPoint PosXY;
public GPoint PosPixel;
public double DistanceSqr;
 
public override string ToString()
{
return PosXY + ", px: " + PosPixel;
}
 
#region IEquatable<DrawTile> Members
 
public bool Equals(DrawTile other)
{
return (PosXY == other.PosXY);
}
 
#endregion
 
#region IComparable<DrawTile> Members
 
public int CompareTo(DrawTile other)
{
return other.DistanceSqr.CompareTo(DistanceSqr);
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/FastReaderWriterLock.cs
0,0 → 1,194
#if !MONO && !PocketPC
#define UseFastResourceLock
#endif
 
namespace GMap.NET.Internals
{
using System;
using System.Threading;
#if !MONO
using System.Runtime.InteropServices;
#endif
 
/// <summary>
/// custom ReaderWriterLock
/// in Vista and later uses integrated Slim Reader/Writer (SRW) Lock
/// http://msdn.microsoft.com/en-us/library/aa904937(VS.85).aspx
/// http://msdn.microsoft.com/en-us/magazine/cc163405.aspx#S2
/// </summary>
public sealed class FastReaderWriterLock : IDisposable
{
#if !MONO && !PocketPC
private static class NativeMethods
{
// Methods
[DllImport("Kernel32", ExactSpelling = true)]
internal static extern void AcquireSRWLockExclusive(ref IntPtr srw);
[DllImport("Kernel32", ExactSpelling = true)]
internal static extern void AcquireSRWLockShared(ref IntPtr srw);
[DllImport("Kernel32", ExactSpelling = true)]
internal static extern void InitializeSRWLock(out IntPtr srw);
[DllImport("Kernel32", ExactSpelling = true)]
internal static extern void ReleaseSRWLockExclusive(ref IntPtr srw);
[DllImport("Kernel32", ExactSpelling = true)]
internal static extern void ReleaseSRWLockShared(ref IntPtr srw);
}
 
IntPtr LockSRW = IntPtr.Zero;
 
public FastReaderWriterLock()
{
if (UseNativeSRWLock)
{
NativeMethods.InitializeSRWLock(out this.LockSRW);
}
else
{
#if UseFastResourceLock
pLock = new FastResourceLock();
#endif
}
}
 
#if UseFastResourceLock
~FastReaderWriterLock()
{
Dispose(false);
}
 
void Dispose(bool disposing)
{
if (pLock != null)
{
pLock.Dispose();
pLock = null;
}
}
 
FastResourceLock pLock;
#endif
 
static readonly bool UseNativeSRWLock = Stuff.IsRunningOnVistaOrLater() && IntPtr.Size == 4; // works only in 32-bit mode, any ideas on native 64-bit support?
 
#endif
 
#if !UseFastResourceLock
Int32 busy = 0;
Int32 readCount = 0;
#endif
 
public void AcquireReaderLock()
{
#if !MONO && !PocketPC
if (UseNativeSRWLock)
{
NativeMethods.AcquireSRWLockShared(ref LockSRW);
}
else
#endif
{
#if UseFastResourceLock
pLock.AcquireShared();
#else
Thread.BeginCriticalRegion();
 
while(Interlocked.CompareExchange(ref busy, 1, 0) != 0)
{
Thread.Sleep(1);
}
 
Interlocked.Increment(ref readCount);
 
// somehow this fix deadlock on heavy reads
Thread.Sleep(0);
Thread.Sleep(0);
Thread.Sleep(0);
Thread.Sleep(0);
Thread.Sleep(0);
Thread.Sleep(0);
Thread.Sleep(0);
 
Interlocked.Exchange(ref busy, 0);
#endif
}
}
 
public void ReleaseReaderLock()
{
#if !MONO && !PocketPC
if (UseNativeSRWLock)
{
NativeMethods.ReleaseSRWLockShared(ref LockSRW);
}
else
#endif
{
#if UseFastResourceLock
pLock.ReleaseShared();
#else
Interlocked.Decrement(ref readCount);
Thread.EndCriticalRegion();
#endif
}
}
 
public void AcquireWriterLock()
{
#if !MONO && !PocketPC
if (UseNativeSRWLock)
{
NativeMethods.AcquireSRWLockExclusive(ref LockSRW);
}
else
#endif
{
#if UseFastResourceLock
pLock.AcquireExclusive();
#else
Thread.BeginCriticalRegion();
 
while(Interlocked.CompareExchange(ref busy, 1, 0) != 0)
{
Thread.Sleep(1);
}
 
while(Interlocked.CompareExchange(ref readCount, 0, 0) != 0)
{
Thread.Sleep(1);
}
#endif
}
}
 
public void ReleaseWriterLock()
{
#if !MONO && !PocketPC
if (UseNativeSRWLock)
{
NativeMethods.ReleaseSRWLockExclusive(ref LockSRW);
}
else
#endif
{
#if UseFastResourceLock
pLock.ReleaseExclusive();
#else
Interlocked.Exchange(ref busy, 0);
Thread.EndCriticalRegion();
#endif
}
}
 
#region IDisposable Members
 
public void Dispose()
{
#if UseFastResourceLock
this.Dispose(true);
GC.SuppressFinalize(this);
#endif
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/FastResourceLock.cs
0,0 → 1,976
/*
* Process Hacker -
* fast resource lock
*
* Copyright (C) 2009 wj32
*
* This file is part of Process Hacker.
*
* Process Hacker is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Process Hacker is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Process Hacker. If not, see <http://www.gnu.org/licenses/>.
*/
 
//#define DEFER_EVENT_CREATION
//#define ENABLE_STATISTICS
//#define RIGOROUS_CHECKS
 
using System;
using System.Runtime.InteropServices;
using System.Security;
using System.Threading;
 
namespace GMap.NET.Internals
{
#if !MONO && !PocketPC
/// <summary>
/// Provides a fast resource (reader-writer) lock.
/// </summary>
/// <remarks>
/// There are three types of acquire methods in this lock:
///
/// Normal methods (AcquireExclusive, AcquireShared) are preferred
/// for general purpose use.
/// Busy wait methods (SpinAcquireExclusive, SpinAcquireShared) are
/// preferred if very little time is spent while the lock is acquired.
/// However, these do not give exclusive acquires precedence over
/// shared acquires.
/// Try methods (TryAcquireExclusive, TryAcquireShared) can be used to
/// quickly test if the lock is available.
///
/// Note that all three types of functions can be used concurrently
/// in the same class instance.
/// </remarks>
internal sealed class FastResourceLock : IDisposable
{
// Details
//
// Resource lock value width: 32 bits.
// Lock owned (either exclusive or shared): L (1 bit).
// Exclusive waking: W (1 bit).
// Shared owners count: SC (10 bits).
// Shared waiters count: SW (10 bits).
// Exclusive waiters count: EW (10 bits).
//
// Acquire exclusive:
// {L=0,W=0,SC=0,SW,EW=0} -> {L=1,W=0,SC=0,SW,EW=0}
// {L=0,W=1,SC=0,SW,EW} or {L=1,W,SC,SW,EW} ->
// {L,W,SC,SW,EW+1},
// wait on event,
// {L=0,W=1,SC=0,SW,EW} -> {L=1,W=0,SC=0,SW,EW}
//
// Acquire shared:
// {L=0,W=0,SC=0,SW,EW=0} -> {L=1,W=0,SC=1,SW,EW=0}
// {L=1,W=0,SC>0,SW,EW=0} -> {L=1,W=0,SC+1,SW,EW=0}
// {L=1,W=0,SC=0,SW,EW=0} or {L,W=1,SC,SW,EW} or
// {L,W,SC,SW,EW>0} -> {L,W,SC,SW+1,EW},
// wait on event,
// retry.
//
// Release exclusive:
// {L=1,W=0,SC=0,SW,EW>0} ->
// {L=0,W=1,SC=0,SW,EW-1},
// release one exclusive waiter.
// {L=1,W=0,SC=0,SW,EW=0} ->
// {L=0,W=0,SC=0,SW=0,EW=0},
// release all shared waiters.
//
// Note that we never do a direct acquire when W=1
// (i.e. L=0 if W=1), so here we don't have to check
// the value of W.
//
// Release shared:
// {L=1,W=0,SC>1,SW,EW} -> {L=1,W=0,SC-1,SW,EW}
// {L=1,W=0,SC=1,SW,EW=0} -> {L=0,W=0,SC=0,SW,EW=0}
// {L=1,W=0,SC=1,SW,EW>0} ->
// {L=0,W=1,SC=0,SW,EW-1},
// release one exclusive waiter.
//
// Again, we don't need to check the value of W.
//
// Convert exclusive to shared:
// {L=1,W=0,SC=0,SW,EW} ->
// {L=1,W=0,SC=1,SW=0,EW},
// release all shared waiters.
//
// Convert shared to exclusive:
// {L=1,W=0,SC=1,SW,EW} ->
// {L=1,W=0,SC=0,SW,EW}
//
 
/* */
 
// Note: I have included many small optimizations in the code
// because of the CLR's dumbass JIT compiler.
 
#region Constants
 
// Lock owned: 1 bit.
private const int LockOwned = 0x1;
 
// Exclusive waking: 1 bit.
private const int LockExclusiveWaking = 0x2;
 
// Shared owners count: 10 bits.
private const int LockSharedOwnersShift = 2;
private const int LockSharedOwnersMask = 0x3ff;
private const int LockSharedOwnersIncrement = 0x4;
 
// Shared waiters count: 10 bits.
private const int LockSharedWaitersShift = 12;
private const int LockSharedWaitersMask = 0x3ff;
private const int LockSharedWaitersIncrement = 0x1000;
 
// Exclusive waiters count: 10 bits.
private const int LockExclusiveWaitersShift = 22;
private const int LockExclusiveWaitersMask = 0x3ff;
private const int LockExclusiveWaitersIncrement = 0x400000;
 
private const int ExclusiveMask = LockExclusiveWaking | (LockExclusiveWaitersMask << LockExclusiveWaitersShift);
 
#endregion
 
public struct Statistics
{
/// <summary>
/// The number of times the lock has been acquired in exclusive mode.
/// </summary>
public int AcqExcl;
/// <summary>
/// The number of times the lock has been acquired in shared mode.
/// </summary>
public int AcqShrd;
/// <summary>
/// The number of times either the fast path was retried due to the
/// spin count or the exclusive waiter went to sleep.
/// </summary>
/// <remarks>
/// This number is usually much higher than AcqExcl, and indicates
/// a good spin count if AcqExclSlp is very small.
/// </remarks>
public int AcqExclCont;
/// <summary>
/// The number of times either the fast path was retried due to the
/// spin count or the shared waiter went to sleep.
/// </summary>
/// <remarks>
/// This number is usually much higher than AcqShrd, and indicates
/// a good spin count if AcqShrdSlp is very small.
/// </remarks>
public int AcqShrdCont;
/// <summary>
/// The number of times exclusive waiters have gone to sleep.
/// </summary>
/// <remarks>
/// If this number is high and not much time is spent in the
/// lock, consider increasing the spin count.
/// </remarks>
public int AcqExclSlp;
/// <summary>
/// The number of times shared waiters have gone to sleep.
/// </summary>
/// <remarks>
/// If this number is high and not much time is spent in the
/// lock, consider increasing the spin count.
/// </remarks>
public int AcqShrdSlp;
/// <summary>
/// The highest number of exclusive waiters at any one time.
/// </summary>
public int PeakExclWtrsCount;
/// <summary>
/// The highest number of shared waiters at any one time.
/// </summary>
public int PeakShrdWtrsCount;
}
 
// The number of times to spin before going to sleep.
private static readonly int SpinCount = NativeMethods.SpinCount;
 
private int _value;
private IntPtr _sharedWakeEvent;
private IntPtr _exclusiveWakeEvent;
 
#if ENABLE_STATISTICS
private int _acqExclCount = 0;
private int _acqShrdCount = 0;
private int _acqExclContCount = 0;
private int _acqShrdContCount = 0;
private int _acqExclSlpCount = 0;
private int _acqShrdSlpCount = 0;
private int _peakExclWtrsCount = 0;
private int _peakShrdWtrsCount = 0;
#endif
 
/// <summary>
/// Creates a FastResourceLock.
/// </summary>
public FastResourceLock()
{
_value = 0;
 
#if !DEFER_EVENT_CREATION
_sharedWakeEvent = NativeMethods.CreateSemaphore(IntPtr.Zero, 0, int.MaxValue, null);
_exclusiveWakeEvent = NativeMethods.CreateSemaphore(IntPtr.Zero, 0, int.MaxValue, null);
#endif
}
 
~FastResourceLock()
{
this.Dispose(false);
}
 
private void Dispose(bool disposing)
{
if(_sharedWakeEvent != IntPtr.Zero)
{
NativeMethods.CloseHandle(_sharedWakeEvent);
_sharedWakeEvent = IntPtr.Zero;
}
 
if(_exclusiveWakeEvent != IntPtr.Zero)
{
NativeMethods.CloseHandle(_exclusiveWakeEvent);
_exclusiveWakeEvent = IntPtr.Zero;
}
}
 
/// <summary>
/// Disposes resources associated with the FastResourceLock.
/// </summary>
public void Dispose()
{
this.Dispose(true);
GC.SuppressFinalize(this);
}
 
/// <summary>
/// Gets the number of exclusive waiters.
/// </summary>
public int ExclusiveWaiters
{
get
{
return (_value >> LockExclusiveWaitersShift) & LockExclusiveWaitersMask;
}
}
 
/// <summary>
/// Gets whether the lock is owned in either
/// exclusive or shared mode.
/// </summary>
public bool Owned
{
get
{
return (_value & LockOwned) != 0;
}
}
 
/// <summary>
/// Gets the number of shared owners.
/// </summary>
public int SharedOwners
{
get
{
return (_value >> LockSharedOwnersShift) & LockSharedOwnersMask;
}
}
 
/// <summary>
/// Gets the number of shared waiters.
/// </summary>
public int SharedWaiters
{
get
{
return (_value >> LockSharedWaitersShift) & LockSharedWaitersMask;
}
}
 
/// <summary>
/// Acquires the lock in exclusive mode, blocking
/// if necessary.
/// </summary>
/// <remarks>
/// Exclusive acquires are given precedence over shared
/// acquires.
/// </remarks>
public void AcquireExclusive()
{
int value;
int i = 0;
 
#if ENABLE_STATISTICS
Interlocked.Increment(ref _acqExclCount);
 
#endif
while(true)
{
value = _value;
 
// Case 1: lock not owned AND an exclusive waiter is not waking up.
// Here we don't have to check if there are exclusive waiters, because
// if there are the lock would be owned, and we are checking that anyway.
if((value & (LockOwned | LockExclusiveWaking)) == 0)
{
#if RIGOROUS_CHECKS
System.Diagnostics.Trace.Assert(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) == 0);
System.Diagnostics.Trace.Assert(((value >> LockExclusiveWaitersShift) & LockExclusiveWaitersMask) == 0);
 
#endif
if(Interlocked.CompareExchange(
ref _value,
value + LockOwned,
value
) == value)
break;
}
// Case 2: lock owned OR lock not owned and an exclusive waiter is waking up.
// The second case means an exclusive waiter has just been woken up and is
// going to acquire the lock. We have to go to sleep to make sure we don't
// steal the lock.
else if(i >= SpinCount)
{
#if DEFER_EVENT_CREATION
// This call must go *before* the next operation. Otherwise,
// we will have a race condition between potential releasers
// and us.
this.EnsureEventCreated(ref _exclusiveWakeEvent);
 
#endif
if(Interlocked.CompareExchange(
ref _value,
value + LockExclusiveWaitersIncrement,
value
) == value)
{
#if ENABLE_STATISTICS
Interlocked.Increment(ref _acqExclSlpCount);
 
int exclWtrsCount = (value >> LockExclusiveWaitersShift) & LockExclusiveWaitersMask;
 
Interlocked2.Set(
ref _peakExclWtrsCount,
(p) => p < exclWtrsCount,
(p) => exclWtrsCount
);
 
#endif
// Go to sleep.
if(NativeMethods.WaitForSingleObject(
_exclusiveWakeEvent,
Timeout.Infinite
) != NativeMethods.WaitObject0)
UtilsBreak("Utils.MsgFailedToWaitIndefinitely");
 
// Acquire the lock.
// At this point *no one* should be able to steal the lock from us.
do
{
value = _value;
#if RIGOROUS_CHECKS
 
System.Diagnostics.Trace.Assert((value & LockOwned) == 0);
System.Diagnostics.Trace.Assert((value & LockExclusiveWaking) != 0);
#endif
} while(Interlocked.CompareExchange(
ref _value,
value + LockOwned - LockExclusiveWaking,
value
) != value);
 
break;
}
}
 
#if ENABLE_STATISTICS
Interlocked.Increment(ref _acqExclContCount);
#endif
i++;
}
}
 
/// <summary>
/// Acquires the lock in shared mode, blocking
/// if necessary.
/// </summary>
/// <remarks>
/// Exclusive acquires are given precedence over shared
/// acquires.
/// </remarks>
public void AcquireShared()
{
int value;
int i = 0;
 
#if ENABLE_STATISTICS
Interlocked.Increment(ref _acqShrdCount);
 
#endif
while(true)
{
value = _value;
 
// Case 1: lock not owned AND no exclusive waiter is waking up AND
// there are no shared owners AND there are no exclusive waiters
if((value & (
LockOwned |
(LockSharedOwnersMask << LockSharedOwnersShift) |
ExclusiveMask
)) == 0)
{
if(Interlocked.CompareExchange(
ref _value,
value + LockOwned + LockSharedOwnersIncrement,
value
) == value)
break;
}
// Case 2: lock is owned AND no exclusive waiter is waking up AND
// there are shared owners AND there are no exclusive waiters
else if(
(value & LockOwned) != 0 &&
((value >> LockSharedOwnersShift) & LockSharedOwnersMask) != 0 &&
(value & ExclusiveMask) == 0
)
{
if(Interlocked.CompareExchange(
ref _value,
value + LockSharedOwnersIncrement,
value
) == value)
break;
}
// Other cases.
else if(i >= SpinCount)
{
#if DEFER_EVENT_CREATION
this.EnsureEventCreated(ref _sharedWakeEvent);
 
#endif
if(Interlocked.CompareExchange(
ref _value,
value + LockSharedWaitersIncrement,
value
) == value)
{
#if ENABLE_STATISTICS
Interlocked.Increment(ref _acqShrdSlpCount);
 
int shrdWtrsCount = (value >> LockSharedWaitersShift) & LockSharedWaitersMask;
 
Interlocked2.Set(
ref _peakShrdWtrsCount,
(p) => p < shrdWtrsCount,
(p) => shrdWtrsCount
);
 
#endif
// Go to sleep.
if(NativeMethods.WaitForSingleObject(
_sharedWakeEvent,
Timeout.Infinite
) != NativeMethods.WaitObject0)
UtilsBreak("Utils.MsgFailedToWaitIndefinitely");
 
// Go back and try again.
continue;
}
}
 
#if ENABLE_STATISTICS
Interlocked.Increment(ref _acqShrdContCount);
#endif
i++;
}
}
 
public static void UtilsBreak(string logMessage)
{
System.Diagnostics.Debugger.Log(0, "Error", logMessage);
System.Diagnostics.Debugger.Break();
}
 
/// <summary>
/// Converts the ownership mode from exclusive to shared.
/// </summary>
/// <remarks>
/// Exclusive acquires are not given a chance to acquire
/// the lock before this function does - as a result,
/// this function will never block.
/// </remarks>
public void ConvertExclusiveToShared()
{
int value;
int sharedWaiters;
 
while(true)
{
value = _value;
#if RIGOROUS_CHECKS
 
System.Diagnostics.Trace.Assert((value & LockOwned) != 0);
System.Diagnostics.Trace.Assert((value & LockExclusiveWaking) == 0);
System.Diagnostics.Trace.Assert(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) == 0);
#endif
 
sharedWaiters = (value >> LockSharedWaitersShift) & LockSharedWaitersMask;
 
if(Interlocked.CompareExchange(
ref _value,
(value + LockSharedOwnersIncrement) & ~(LockSharedWaitersMask << LockSharedWaitersShift),
value
) == value)
{
if(sharedWaiters != 0)
NativeMethods.ReleaseSemaphore(_sharedWakeEvent, sharedWaiters, IntPtr.Zero);
 
break;
}
}
}
 
#if DEFER_EVENT_CREATION
/// <summary>
/// Checks if the specified event has been created, and
/// if not, creates it.
/// </summary>
/// <param name="handle">A reference to the event handle.</param>
private void EnsureEventCreated(ref IntPtr handle)
{
IntPtr eventHandle;
 
if(Thread.VolatileRead(ref handle) != IntPtr.Zero)
return;
 
eventHandle = NativeMethods.CreateSemaphore(IntPtr.Zero, 0, int.MaxValue, null);
 
if(Interlocked.CompareExchange(ref handle, eventHandle, IntPtr.Zero) != IntPtr.Zero)
NativeMethods.CloseHandle(eventHandle);
}
#endif
 
/// <summary>
/// Gets statistics information for the lock.
/// </summary>
/// <returns>A structure containing statistics.</returns>
public Statistics GetStatistics()
{
#if ENABLE_STATISTICS
return new Statistics()
{
AcqExcl = _acqExclCount,
AcqShrd = _acqShrdCount,
AcqExclCont = _acqExclContCount,
AcqShrdCont = _acqShrdContCount,
AcqExclSlp = _acqExclSlpCount,
AcqShrdSlp = _acqShrdSlpCount,
PeakExclWtrsCount = _peakExclWtrsCount,
PeakShrdWtrsCount = _peakShrdWtrsCount
};
#else
return new Statistics();
#endif
}
 
/// <summary>
/// Releases the lock in exclusive mode.
/// </summary>
public void ReleaseExclusive()
{
int value;
 
while(true)
{
value = _value;
#if RIGOROUS_CHECKS
 
System.Diagnostics.Trace.Assert((value & LockOwned) != 0);
System.Diagnostics.Trace.Assert((value & LockExclusiveWaking) == 0);
System.Diagnostics.Trace.Assert(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) == 0);
#endif
 
// Case 1: if we have exclusive waiters, release one.
if(((value >> LockExclusiveWaitersShift) & LockExclusiveWaitersMask) != 0)
{
if(Interlocked.CompareExchange(
ref _value,
value - LockOwned + LockExclusiveWaking - LockExclusiveWaitersIncrement,
value
) == value)
{
NativeMethods.ReleaseSemaphore(_exclusiveWakeEvent, 1, IntPtr.Zero);
 
break;
}
}
// Case 2: if we have shared waiters, release all of them.
else
{
int sharedWaiters;
 
sharedWaiters = (value >> LockSharedWaitersShift) & LockSharedWaitersMask;
 
if(Interlocked.CompareExchange(
ref _value,
value & ~(LockOwned | (LockSharedWaitersMask << LockSharedWaitersShift)),
value
) == value)
{
if(sharedWaiters != 0)
NativeMethods.ReleaseSemaphore(_sharedWakeEvent, sharedWaiters, IntPtr.Zero);
 
break;
}
}
}
}
 
/// <summary>
/// Releases the lock in shared mode.
/// </summary>
public void ReleaseShared()
{
int value;
int sharedOwners;
 
while(true)
{
value = _value;
#if RIGOROUS_CHECKS
 
System.Diagnostics.Trace.Assert((value & LockOwned) != 0);
System.Diagnostics.Trace.Assert((value & LockExclusiveWaking) == 0);
System.Diagnostics.Trace.Assert(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) != 0);
#endif
 
sharedOwners = (value >> LockSharedOwnersShift) & LockSharedOwnersMask;
 
// Case 1: there are multiple shared owners.
if(sharedOwners > 1)
{
if(Interlocked.CompareExchange(
ref _value,
value - LockSharedOwnersIncrement,
value
) == value)
break;
}
// Case 2: we are the last shared owner AND there are exclusive waiters.
else if(((value >> LockExclusiveWaitersShift) & LockExclusiveWaitersMask) != 0)
{
if(Interlocked.CompareExchange(
ref _value,
value - LockOwned + LockExclusiveWaking - LockSharedOwnersIncrement - LockExclusiveWaitersIncrement,
value
) == value)
{
NativeMethods.ReleaseSemaphore(_exclusiveWakeEvent, 1, IntPtr.Zero);
 
break;
}
}
// Case 3: we are the last shared owner AND there are no exclusive waiters.
else
{
if(Interlocked.CompareExchange(
ref _value,
value - LockOwned - LockSharedOwnersIncrement,
value
) == value)
break;
}
}
}
 
/// <summary>
/// Acquires the lock in exclusive mode, busy waiting
/// if necessary.
/// </summary>
/// <remarks>
/// Exclusive acquires are *not* given precedence over shared
/// acquires for busy wait methods.
/// </remarks>
public void SpinAcquireExclusive()
{
int value;
 
while(true)
{
value = _value;
 
if((value & (LockOwned | LockExclusiveWaking)) == 0)
{
if(Interlocked.CompareExchange(
ref _value,
value + LockOwned,
value
) == value)
break;
}
 
if(NativeMethods.SpinEnabled)
Thread.SpinWait(8);
else
Thread.Sleep(0);
}
}
 
/// <summary>
/// Acquires the lock in shared mode, busy waiting
/// if necessary.
/// </summary>
/// <remarks>
/// Exclusive acquires are *not* given precedence over shared
/// acquires for busy wait methods.
/// </remarks>
public void SpinAcquireShared()
{
int value;
 
while(true)
{
value = _value;
 
if((value & ExclusiveMask) == 0)
{
if((value & LockOwned) == 0)
{
if(Interlocked.CompareExchange(
ref _value,
value + LockOwned + LockSharedOwnersIncrement,
value
) == value)
break;
}
else if(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) != 0)
{
if(Interlocked.CompareExchange(
ref _value,
value + LockSharedOwnersIncrement,
value
) == value)
break;
}
}
 
if(NativeMethods.SpinEnabled)
Thread.SpinWait(8);
else
Thread.Sleep(0);
}
}
 
/// <summary>
/// Converts the ownership mode from shared to exclusive,
/// busy waiting if necessary.
/// </summary>
public void SpinConvertSharedToExclusive()
{
int value;
 
while(true)
{
value = _value;
 
// Can't convert if there are other shared owners.
if(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) == 1)
{
if(Interlocked.CompareExchange(
ref _value,
value - LockSharedOwnersIncrement,
value
) == value)
break;
}
 
if(NativeMethods.SpinEnabled)
Thread.SpinWait(8);
else
Thread.Sleep(0);
}
}
 
/// <summary>
/// Attempts to acquire the lock in exclusive mode.
/// </summary>
/// <returns>Whether the lock was acquired.</returns>
public bool TryAcquireExclusive()
{
int value;
 
value = _value;
 
if((value & (LockOwned | LockExclusiveWaking)) != 0)
return false;
 
return Interlocked.CompareExchange(
ref _value,
value + LockOwned,
value
) == value;
}
 
/// <summary>
/// Attempts to acquire the lock in shared mode.
/// </summary>
/// <returns>Whether the lock was acquired.</returns>
public bool TryAcquireShared()
{
int value;
 
value = _value;
 
if((value & ExclusiveMask) != 0)
return false;
 
if((value & LockOwned) == 0)
{
return Interlocked.CompareExchange(
ref _value,
value + LockOwned + LockSharedOwnersIncrement,
value
) == value;
}
else if(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) != 0)
{
return Interlocked.CompareExchange(
ref _value,
value + LockSharedOwnersIncrement,
value
) == value;
}
else
{
return false;
}
}
 
/// <summary>
/// Attempts to convert the ownership mode from shared
/// to exclusive.
/// </summary>
/// <returns>Whether the lock was converted.</returns>
public bool TryConvertSharedToExclusive()
{
int value;
 
while(true)
{
value = _value;
#if RIGOROUS_CHECKS
 
System.Diagnostics.Trace.Assert((value & LockOwned) != 0);
System.Diagnostics.Trace.Assert((value & LockExclusiveWaking) == 0);
System.Diagnostics.Trace.Assert(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) != 0);
#endif
 
// Can't convert if there are other shared owners.
if(((value >> LockSharedOwnersShift) & LockSharedOwnersMask) != 1)
return false;
 
if(Interlocked.CompareExchange(
ref _value,
value - LockSharedOwnersIncrement,
value
) == value)
return true;
}
}
}
 
[SuppressUnmanagedCodeSecurity]
internal class NativeMethods
{
public const int WaitObject0 = 0x0;
public const int WaitAbandoned = 0x80;
public const int WaitTimeout = 0x102;
public const int WaitFailed = -1;
 
public static readonly int SpinCount = Environment.ProcessorCount != 1 ? 4000 : 0;
public static readonly bool SpinEnabled = Environment.ProcessorCount != 1;
 
// We need to import some stuff. We can't use
// ProcessHacker.Native because it depends on this library.
 
[DllImport("kernel32.dll")]
public static extern bool CloseHandle(
[In] IntPtr Handle
);
 
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr CreateEvent(
[In] [Optional] IntPtr EventAttributes,
[In] bool ManualReset,
[In] bool InitialState,
[In] [Optional] string Name
);
 
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr CreateSemaphore(
[In] [Optional] IntPtr SemaphoreAttributes,
[In] int InitialCount,
[In] int MaximumCount,
[In] [Optional] string Name
);
 
[DllImport("kernel32.dll")]
public static extern bool ReleaseSemaphore(
[In] IntPtr SemaphoreHandle,
[In] int ReleaseCount,
[In] IntPtr PreviousCount // out int
);
 
[DllImport("kernel32.dll")]
public static extern bool ResetEvent(
[In] IntPtr EventHandle
);
 
[DllImport("kernel32.dll")]
public static extern bool SetEvent(
[In] IntPtr EventHandle
);
 
[DllImport("kernel32.dll")]
public static extern int WaitForSingleObject(
[In] IntPtr Handle,
[In] int Milliseconds
);
 
[DllImport("ntdll.dll")]
public static extern int NtCreateKeyedEvent(
[Out] out IntPtr KeyedEventHandle,
[In] int DesiredAccess,
[In] [Optional] IntPtr ObjectAttributes,
[In] int Flags
);
 
[DllImport("ntdll.dll")]
public static extern int NtReleaseKeyedEvent(
[In] IntPtr KeyedEventHandle,
[In] IntPtr KeyValue,
[In] bool Alertable,
[In] [Optional] IntPtr Timeout
);
 
[DllImport("ntdll.dll")]
public static extern int NtWaitForKeyedEvent(
[In] IntPtr KeyedEventHandle,
[In] IntPtr KeyValue,
[In] bool Alertable,
[In] [Optional] IntPtr Timeout
);
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/KiberTileCache.cs
0,0 → 1,91

namespace GMap.NET.Internals
{
using System.Collections.Generic;
using System.IO;
using System;
using System.Diagnostics;
 
/// <summary>
/// kiber speed memory cache for tiles with history support ;}
/// </summary>
internal class KiberTileCache : Dictionary<RawTile, byte[]>
{
public KiberTileCache() : base(new RawTileComparer())
{
}
 
readonly Queue<RawTile> Queue = new Queue<RawTile>();
 
/// <summary>
/// the amount of tiles in MB to keep in memmory, default: 22MB, if each ~100Kb it's ~222 tiles
/// </summary>
#if !PocketPC
public int MemoryCacheCapacity = 22;
#else
public int MemoryCacheCapacity = 3;
#endif
 
long memoryCacheSize = 0;
 
/// <summary>
/// current memmory cache size in MB
/// </summary>
public double MemoryCacheSize
{
get
{
return memoryCacheSize / 1048576.0;
}
}
 
public new void Add(RawTile key, byte[] value)
{
Queue.Enqueue(key);
base.Add(key, value);
 
memoryCacheSize += value.Length;
}
 
// do not allow directly removal of elements
private new void Remove(RawTile key)
{
 
}
 
public new void Clear()
{
Queue.Clear();
base.Clear();
memoryCacheSize = 0;
}
 
internal void RemoveMemoryOverload()
{
while(MemoryCacheSize > MemoryCacheCapacity)
{
if(Keys.Count > 0 && Queue.Count > 0)
{
RawTile first = Queue.Dequeue();
try
{
var m = base[first];
{
base.Remove(first);
memoryCacheSize -= m.Length;
}
m = null;
}
catch(Exception ex)
{
Debug.WriteLine("RemoveMemoryOverload: " + ex);
}
}
else
{
break;
}
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/LoadTask.cs
0,0 → 1,50

using System;
using System.Collections.Generic;
namespace GMap.NET.Internals
{
/// <summary>
/// tile load task
/// </summary>
internal struct LoadTask : IEquatable<LoadTask>
{
public GPoint Pos;
public int Zoom;
 
internal Core Core;
 
public LoadTask(GPoint pos, int zoom, Core core = null)
{
Pos = pos;
Zoom = zoom;
Core = core;
}
 
public override string ToString()
{
return Zoom + " - " + Pos.ToString();
}
 
#region IEquatable<LoadTask> Members
 
public bool Equals(LoadTask other)
{
return (Zoom == other.Zoom && Pos == other.Pos);
}
 
#endregion
}
 
internal class LoadTaskComparer : IEqualityComparer<LoadTask>
{
public bool Equals(LoadTask x, LoadTask y)
{
return x.Zoom == y.Zoom && x.Pos == y.Pos;
}
 
public int GetHashCode(LoadTask obj)
{
return obj.Zoom ^ obj.Pos.GetHashCode();
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/PureImage.cs
0,0 → 1,52

namespace GMap.NET
{
using System;
using System.IO;
 
/// <summary>
/// image abstraction proxy
/// </summary>
public abstract class PureImageProxy
{
abstract public PureImage FromStream(Stream stream);
abstract public bool Save(Stream stream, PureImage image);
 
public PureImage FromArray(byte[] data)
{
MemoryStream m = new MemoryStream(data, 0, data.Length, false, true);
var pi = FromStream(m);
if(pi != null)
{
m.Position = 0;
pi.Data = m;
}
else
{
m.Dispose();
}
m = null;
 
return pi;
}
}
 
/// <summary>
/// image abstraction
/// </summary>
public abstract class PureImage : IDisposable
{
public MemoryStream Data;
 
internal bool IsParent;
internal long Ix;
internal long Xoff;
internal long Yoff;
 
#region IDisposable Members
 
public abstract void Dispose();
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/RawTile.cs
0,0 → 1,42
namespace GMap.NET.Internals
{
using System.IO;
using System;
using System.Collections.Generic;
 
/// <summary>
/// struct for raw tile
/// </summary>
internal struct RawTile
{
public int Type;
public GPoint Pos;
public int Zoom;
 
public RawTile(int Type, GPoint Pos, int Zoom)
{
this.Type = Type;
this.Pos = Pos;
this.Zoom = Zoom;
}
 
public override string ToString()
{
return Type + " at zoom " + Zoom + ", pos: " + Pos;
}
}
 
internal class RawTileComparer : IEqualityComparer<RawTile>
{
public bool Equals(RawTile x, RawTile y)
{
return x.Type == y.Type && x.Zoom == y.Zoom && x.Pos == y.Pos;
}
 
public int GetHashCode(RawTile obj)
{
return obj.Type ^ obj.Zoom ^ obj.Pos.GetHashCode();
}
}
}
 
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/AuthMethod.cs
0,0 → 1,113
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Net;
using System.Net.Sockets;
 
namespace Org.Mentalis.Network.ProxySocket.Authentication {
/// <summary>
/// Implements a SOCKS authentication scheme.
/// </summary>
/// <remarks>This is an abstract class; it must be inherited.</remarks>
internal abstract class AuthMethod {
/// <summary>
/// Initializes an AuthMethod instance.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
public AuthMethod(Socket server) {
Server = server;
}
/// <summary>
/// Authenticates the user.
/// </summary>
/// <exception cref="ProxyException">Authentication with the proxy server failed.</exception>
/// <exception cref="ProtocolViolationException">The proxy server uses an invalid protocol.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
public abstract void Authenticate();
/// <summary>
/// Authenticates the user asynchronously.
/// </summary>
/// <param name="callback">The method to call when the authentication is complete.</param>
/// <exception cref="ProxyException">Authentication with the proxy server failed.</exception>
/// <exception cref="ProtocolViolationException">The proxy server uses an invalid protocol.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
public abstract void BeginAuthenticate(HandShakeComplete callback);
/// <summary>
/// Gets or sets the socket connection with the proxy server.
/// </summary>
/// <value>The socket connection with the proxy server.</value>
protected Socket Server {
get {
return m_Server;
}
set {
if (value == null)
throw new ArgumentNullException();
m_Server = value;
}
}
/// <summary>
/// Gets or sets a byt array that can be used to store data.
/// </summary>
/// <value>A byte array to store data.</value>
protected byte[] Buffer {
get {
return m_Buffer;
}
set {
m_Buffer = value;
}
}
/// <summary>
/// Gets or sets the number of bytes that have been received from the remote proxy server.
/// </summary>
/// <value>An integer that holds the number of bytes that have been received from the remote proxy server.</value>
protected int Received {
get {
return m_Received;
}
set {
m_Received = value;
}
}
// private variables
/// <summary>Holds the value of the Buffer property.</summary>
private byte[] m_Buffer;
/// <summary>Holds the value of the Server property.</summary>
private Socket m_Server;
/// <summary>Holds the address of the method to call when the proxy has authenticated the client.</summary>
protected HandShakeComplete CallBack;
/// <summary>Holds the value of the Received property.</summary>
private int m_Received;
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/AuthNone.cs
0,0 → 1,60
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Net;
using System.Net.Sockets;
 
namespace Org.Mentalis.Network.ProxySocket.Authentication {
/// <summary>
/// This class implements the 'No Authentication' scheme.
/// </summary>
internal sealed class AuthNone : AuthMethod {
/// <summary>
/// Initializes an AuthNone instance.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
public AuthNone(Socket server) : base(server) {}
/// <summary>
/// Authenticates the user.
/// </summary>
public override void Authenticate() {
return; // Do Nothing
}
/// <summary>
/// Authenticates the user asynchronously.
/// </summary>
/// <param name="callback">The method to call when the authentication is complete.</param>
/// <remarks>This method immediately calls the callback method.</remarks>
public override void BeginAuthenticate(HandShakeComplete callback) {
callback(null);
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/AuthUserPass.cs
0,0 → 1,157
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
 
namespace Org.Mentalis.Network.ProxySocket.Authentication {
/// <summary>
/// This class implements the 'username/password authentication' scheme.
/// </summary>
internal sealed class AuthUserPass : AuthMethod {
/// <summary>
/// Initializes a new AuthUserPass instance.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
/// <param name="user">The username to use.</param>
/// <param name="pass">The password to use.</param>
/// <exception cref="ArgumentNullException"><c>user</c> -or- <c>pass</c> is null.</exception>
public AuthUserPass(Socket server, string user, string pass) : base(server) {
Username = user;
Password = pass;
}
/// <summary>
/// Creates an array of bytes that has to be sent if the user wants to authenticate with the username/password authentication scheme.
/// </summary>
/// <returns>An array of bytes that has to be sent if the user wants to authenticate with the username/password authentication scheme.</returns>
private byte[] GetAuthenticationBytes() {
byte[] buffer = new byte[3 + Username.Length + Password.Length];
buffer[0] = 1;
buffer[1] = (byte)Username.Length;
Array.Copy(Encoding.ASCII.GetBytes(Username), 0, buffer, 2, Username.Length);
buffer[Username.Length + 2] = (byte)Password.Length;
Array.Copy(Encoding.ASCII.GetBytes(Password), 0, buffer, Username.Length + 3, Password.Length);
return buffer;
}
/// <summary>
/// Starts the authentication process.
/// </summary>
public override void Authenticate() {
Server.Send(GetAuthenticationBytes());
byte[] buffer = new byte[2];
int received = 0;
while (received != 2) {
received += Server.Receive(buffer, received, 2 - received, SocketFlags.None);
}
if (buffer[1] != 0) {
Server.Close();
throw new ProxyException("Username/password combination rejected.");
}
return;
}
/// <summary>
/// Starts the asynchronous authentication process.
/// </summary>
/// <param name="callback">The method to call when the authentication is complete.</param>
public override void BeginAuthenticate(HandShakeComplete callback) {
CallBack = callback;
Server.BeginSend(GetAuthenticationBytes(), 0, 3 + Username.Length + Password.Length, SocketFlags.None, new AsyncCallback(this.OnSent), Server);
return;
}
/// <summary>
/// Called when the authentication bytes have been sent.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnSent(IAsyncResult ar) {
try {
Server.EndSend(ar);
Buffer = new byte[2];
Server.BeginReceive(Buffer, 0, 2, SocketFlags.None, new AsyncCallback(this.OnReceive), Server);
} catch (Exception e) {
CallBack(e);
}
}
/// <summary>
/// Called when the socket received an authentication reply.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnReceive(IAsyncResult ar) {
try {
Received += Server.EndReceive(ar);
if (Received == Buffer.Length)
if (Buffer[1] == 0)
CallBack(null);
else
throw new ProxyException("Username/password combination not accepted.");
else
Server.BeginReceive(Buffer, Received, Buffer.Length - Received, SocketFlags.None, new AsyncCallback(this.OnReceive), Server);
} catch (Exception e) {
CallBack(e);
}
}
/// <summary>
/// Gets or sets the username to use when authenticating with the proxy server.
/// </summary>
/// <value>The username to use when authenticating with the proxy server.</value>
/// <exception cref="ArgumentNullException">The specified value is null.</exception>
private string Username {
get {
return m_Username;
}
set {
if (value == null)
throw new ArgumentNullException();
m_Username = value;
}
}
/// <summary>
/// Gets or sets the password to use when authenticating with the proxy server.
/// </summary>
/// <value>The password to use when authenticating with the proxy server.</value>
/// <exception cref="ArgumentNullException">The specified value is null.</exception>
private string Password {
get {
return m_Password;
}
set {
if (value == null)
throw new ArgumentNullException();
m_Password = value;
}
}
// private variables
/// <summary>Holds the value of the Username property.</summary>
private string m_Username;
/// <summary>Holds the value of the Password property.</summary>
private string m_Password;
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/IAsyncProxyResult.cs
0,0 → 1,96
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Threading;
 
namespace Org.Mentalis.Network.ProxySocket {
/// <summary>
/// A class that implements the IAsyncResult interface. Objects from this class are returned by the BeginConnect method of the ProxySocket class.
/// </summary>
internal class IAsyncProxyResult : IAsyncResult {
/// <summary>Initializes the internal variables of this object</summary>
/// <param name="stateObject">An object that contains state information for this request.</param>
internal void Init(object stateObject) {
m_StateObject = stateObject;
m_Completed = false;
if (m_WaitHandle != null)
m_WaitHandle.Reset();
}
/// <summary>Initializes the internal variables of this object</summary>
internal void Reset() {
m_StateObject = null;
m_Completed = true;
if (m_WaitHandle != null)
m_WaitHandle.Set();
}
/// <summary>Gets a value that indicates whether the server has completed processing the call. It is illegal for the server to use any client supplied resources outside of the agreed upon sharing semantics after it sets the IsCompleted property to "true". Thus, it is safe for the client to destroy the resources after IsCompleted property returns "true".</summary>
/// <value>A boolean that indicates whether the server has completed processing the call.</value>
public bool IsCompleted {
get {
return m_Completed;
}
}
/// <summary>Gets a value that indicates whether the BeginXXXX call has been completed synchronously. If this is detected in the AsyncCallback delegate, it is probable that the thread that called BeginInvoke is the current thread.</summary>
/// <value>Returns false.</value>
public bool CompletedSynchronously {
get {
return false;
}
}
/// <summary>Gets an object that was passed as the state parameter of the BeginXXXX method call.</summary>
/// <value>The object that was passed as the state parameter of the BeginXXXX method call.</value>
public object AsyncState {
get {
return m_StateObject;
}
}
/// <summary>
/// The AsyncWaitHandle property returns the WaitHandle that can use to perform a WaitHandle.WaitOne or WaitAny or WaitAll. The object which implements IAsyncResult need not derive from the System.WaitHandle classes directly. The WaitHandle wraps its underlying synchronization primitive and should be signaled after the call is completed. This enables the client to wait for the call to complete instead polling. The Runtime supplies a number of waitable objects that mirror Win32 synchronization primitives e.g. ManualResetEvent, AutoResetEvent and Mutex.
/// WaitHandle supplies methods that support waiting for such synchronization objects to become signaled with "any" or "all" semantics i.e. WaitHandle.WaitOne, WaitAny and WaitAll. Such methods are context aware to avoid deadlocks. The AsyncWaitHandle can be allocated eagerly or on demand. It is the choice of the IAsyncResult implementer.
///</summary>
/// <value>The WaitHandle associated with this asynchronous result.</value>
public WaitHandle AsyncWaitHandle {
get {
if (m_WaitHandle == null)
m_WaitHandle = new ManualResetEvent(false);
return m_WaitHandle;
}
}
// private variables
/// <summary>Used internally to represent the state of the asynchronous request</summary>
internal bool m_Completed = true;
/// <summary>Holds the value of the StateObject property.</summary>
private object m_StateObject;
/// <summary>Holds the value of the WaitHandle property.</summary>
private ManualResetEvent m_WaitHandle;
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/ProxyException.cs
0,0 → 1,82
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
 
namespace Org.Mentalis.Network.ProxySocket {
/// <summary>
/// The exception that is thrown when a proxy error occurs.
/// </summary>
internal class ProxyException : Exception {
/// <summary>
/// Initializes a new instance of the ProxyException class.
/// </summary>
public ProxyException() : this("An error occured while talking to the proxy server.") {}
/// <summary>
/// Initializes a new instance of the ProxyException class.
/// </summary>
/// <param name="message">The message that describes the error.</param>
public ProxyException(string message) : base(message) {}
/// <summary>
/// Initializes a new instance of the ProxyException class.
/// </summary>
/// <param name="socks5Error">The error number returned by a SOCKS5 server.</param>
public ProxyException(int socks5Error) : this(ProxyException.Socks5ToString(socks5Error)) {}
/// <summary>
/// Converts a SOCKS5 error number to a human readable string.
/// </summary>
/// <param name="socks5Error">The error number returned by a SOCKS5 server.</param>
/// <returns>A string representation of the specified SOCKS5 error number.</returns>
public static string Socks5ToString(int socks5Error) {
switch(socks5Error) {
case 0:
return "Connection succeeded.";
case 1:
return "General SOCKS server failure.";
case 2:
return "Connection not allowed by ruleset.";
case 3:
return "Network unreachable.";
case 4:
return "Host unreachable.";
case 5:
return "Connection refused.";
case 6:
return "TTL expired.";
case 7:
return "Command not supported.";
case 8:
return "Address type not supported.";
default:
return "Unspecified SOCKS error.";
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/ProxySocket.cs
0,0 → 1,467
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Net;
using System.Net.Sockets;
 
// Implements a number of classes to allow Sockets to connect trough a firewall.
namespace Org.Mentalis.Network.ProxySocket
{
/// <summary>
/// Specifies the type of proxy servers that an instance of the ProxySocket class can use.
/// </summary>
internal enum ProxyTypes
{
/// <summary>No proxy server; the ProxySocket object behaves exactly like an ordinary Socket object.</summary>
None,
/// <summary>A SOCKS4[A] proxy server.</summary>
Socks4,
/// <summary>A SOCKS5 proxy server.</summary>
Socks5
}
 
/// <summary>
/// Implements a Socket class that can connect trough a SOCKS proxy server.
/// </summary>
/// <remarks>This class implements SOCKS4[A] and SOCKS5.<br>It does not, however, implement the BIND commands, so you cannot .</br></remarks>
internal class ProxySocket : Socket
{
/// <summary>
/// Initializes a new instance of the ProxySocket class.
/// </summary>
/// <param name="addressFamily">One of the AddressFamily values.</param>
/// <param name="socketType">One of the SocketType values.</param>
/// <param name="protocolType">One of the ProtocolType values.</param>
/// <exception cref="SocketException">The combination of addressFamily, socketType, and protocolType results in an invalid socket.</exception>
public ProxySocket(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType) : this(addressFamily, socketType, protocolType, "") { }
/// <summary>
/// Initializes a new instance of the ProxySocket class.
/// </summary>
/// <param name="addressFamily">One of the AddressFamily values.</param>
/// <param name="socketType">One of the SocketType values.</param>
/// <param name="protocolType">One of the ProtocolType values.</param>
/// <param name="proxyUsername">The username to use when authenticating with the proxy server.</param>
/// <exception cref="SocketException">The combination of addressFamily, socketType, and protocolType results in an invalid socket.</exception>
/// <exception cref="ArgumentNullException"><c>proxyUsername</c> is null.</exception>
public ProxySocket(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType, string proxyUsername) : this(addressFamily, socketType, protocolType, proxyUsername, "") { }
/// <summary>
/// Initializes a new instance of the ProxySocket class.
/// </summary>
/// <param name="addressFamily">One of the AddressFamily values.</param>
/// <param name="socketType">One of the SocketType values.</param>
/// <param name="protocolType">One of the ProtocolType values.</param>
/// <param name="proxyUsername">The username to use when authenticating with the proxy server.</param>
/// <param name="proxyPassword">The password to use when authenticating with the proxy server.</param>
/// <exception cref="SocketException">The combination of addressFamily, socketType, and protocolType results in an invalid socket.</exception>
/// <exception cref="ArgumentNullException"><c>proxyUsername</c> -or- <c>proxyPassword</c> is null.</exception>
public ProxySocket(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType, string proxyUsername, string proxyPassword)
: base(addressFamily, socketType, protocolType)
{
ProxyUser = proxyUsername;
ProxyPass = proxyPassword;
ToThrow = new InvalidOperationException();
}
/// <summary>
/// Establishes a connection to a remote device.
/// </summary>
/// <param name="remoteEP">An EndPoint that represents the remote device.</param>
/// <exception cref="ArgumentNullException">The remoteEP parameter is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
/// <exception cref="ProxyException">An error occured while talking to the proxy server.</exception>
public new void Connect(EndPoint remoteEP)
{
if (remoteEP == null)
throw new ArgumentNullException("<remoteEP> cannot be null.");
if (this.ProtocolType != ProtocolType.Tcp || ProxyType == ProxyTypes.None || ProxyEndPoint == null)
base.Connect(remoteEP);
else
{
base.Connect(ProxyEndPoint);
if (ProxyType == ProxyTypes.Socks4)
(new Socks4Handler(this, ProxyUser)).Negotiate((IPEndPoint)remoteEP);
else if (ProxyType == ProxyTypes.Socks5)
(new Socks5Handler(this, ProxyUser, ProxyPass)).Negotiate((IPEndPoint)remoteEP);
}
}
/// <summary>
/// Establishes a connection to a remote device.
/// </summary>
/// <param name="host">The remote host to connect to.</param>
/// <param name="port">The remote port to connect to.</param>
/// <exception cref="ArgumentNullException">The host parameter is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="ArgumentException">The port parameter is invalid.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
/// <exception cref="ProxyException">An error occured while talking to the proxy server.</exception>
/// <remarks>If you use this method with a SOCKS4 server, it will let the server resolve the hostname. Not all SOCKS4 servers support this 'remote DNS' though.</remarks>
public void Connect(string host, int port)
{
if (host == null)
throw new ArgumentNullException("<host> cannot be null.");
if (port <= 0 || port > 65535)
throw new ArgumentException("Invalid port.");
if (this.ProtocolType != ProtocolType.Tcp || ProxyType == ProxyTypes.None || ProxyEndPoint == null)
base.Connect(new IPEndPoint(Dns.GetHostEntry(host).AddressList[0], port));
else
{
base.Connect(ProxyEndPoint);
if (ProxyType == ProxyTypes.Socks4)
(new Socks4Handler(this, ProxyUser)).Negotiate(host, port);
else if (ProxyType == ProxyTypes.Socks5)
(new Socks5Handler(this, ProxyUser, ProxyPass)).Negotiate(host, port);
}
}
/// <summary>
/// Begins an asynchronous request for a connection to a network device.
/// </summary>
/// <param name="remoteEP">An EndPoint that represents the remote device.</param>
/// <param name="callback">The AsyncCallback delegate.</param>
/// <param name="state">An object that contains state information for this request.</param>
/// <returns>An IAsyncResult that references the asynchronous connection.</returns>
/// <exception cref="ArgumentNullException">The remoteEP parameter is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="SocketException">An operating system error occurs while creating the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
public new IAsyncResult BeginConnect(EndPoint remoteEP, AsyncCallback callback, object state)
{
if (remoteEP == null || callback == null)
throw new ArgumentNullException();
if (this.ProtocolType != ProtocolType.Tcp || ProxyType == ProxyTypes.None || ProxyEndPoint == null)
{
return base.BeginConnect(remoteEP, callback, state);
}
else
{
CallBack = callback;
if (ProxyType == ProxyTypes.Socks4)
{
AsyncResult = (new Socks4Handler(this, ProxyUser)).BeginNegotiate((IPEndPoint)remoteEP, new HandShakeComplete(this.OnHandShakeComplete), ProxyEndPoint);
return AsyncResult;
}
else if (ProxyType == ProxyTypes.Socks5)
{
AsyncResult = (new Socks5Handler(this, ProxyUser, ProxyPass)).BeginNegotiate((IPEndPoint)remoteEP, new HandShakeComplete(this.OnHandShakeComplete), ProxyEndPoint);
return AsyncResult;
}
return null;
}
}
/// <summary>
/// Begins an asynchronous request for a connection to a network device.
/// </summary>
/// <param name="host">The host to connect to.</param>
/// <param name="port">The port on the remote host to connect to.</param>
/// <param name="callback">The AsyncCallback delegate.</param>
/// <param name="state">An object that contains state information for this request.</param>
/// <returns>An IAsyncResult that references the asynchronous connection.</returns>
/// <exception cref="ArgumentNullException">The host parameter is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="ArgumentException">The port parameter is invalid.</exception>
/// <exception cref="SocketException">An operating system error occurs while creating the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
public IAsyncResult BeginConnect(string host, int port, AsyncCallback callback, object state)
{
if (host == null || callback == null)
throw new ArgumentNullException();
if (port <= 0 || port > 65535)
throw new ArgumentException();
CallBack = callback;
if (this.ProtocolType != ProtocolType.Tcp || ProxyType == ProxyTypes.None || ProxyEndPoint == null)
{
RemotePort = port;
AsyncResult = BeginDns(host, new HandShakeComplete(this.OnHandShakeComplete));
return AsyncResult;
}
else
{
if (ProxyType == ProxyTypes.Socks4)
{
AsyncResult = (new Socks4Handler(this, ProxyUser)).BeginNegotiate(host, port, new HandShakeComplete(this.OnHandShakeComplete), ProxyEndPoint);
return AsyncResult;
}
else if (ProxyType == ProxyTypes.Socks5)
{
AsyncResult = (new Socks5Handler(this, ProxyUser, ProxyPass)).BeginNegotiate(host, port, new HandShakeComplete(this.OnHandShakeComplete), ProxyEndPoint);
return AsyncResult;
}
return null;
}
}
/// <summary>
/// Ends a pending asynchronous connection request.
/// </summary>
/// <param name="asyncResult">Stores state information for this asynchronous operation as well as any user-defined data.</param>
/// <exception cref="ArgumentNullException">The asyncResult parameter is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="ArgumentException">The asyncResult parameter was not returned by a call to the BeginConnect method.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
/// <exception cref="InvalidOperationException">EndConnect was previously called for the asynchronous connection.</exception>
/// <exception cref="ProxyException">The proxy server refused the connection.</exception>
public new void EndConnect(IAsyncResult asyncResult)
{
if (asyncResult == null)
throw new ArgumentNullException();
if (!asyncResult.IsCompleted)
throw new ArgumentException();
if (ToThrow != null)
throw ToThrow;
return;
}
/// <summary>
/// Begins an asynchronous request to resolve a DNS host name or IP address in dotted-quad notation to an IPAddress instance.
/// </summary>
/// <param name="host">The host to resolve.</param>
/// <param name="callback">The method to call when the hostname has been resolved.</param>
/// <returns>An IAsyncResult instance that references the asynchronous request.</returns>
/// <exception cref="SocketException">There was an error while trying to resolve the host.</exception>
internal IAsyncProxyResult BeginDns(string host, HandShakeComplete callback)
{
try
{
Dns.BeginGetHostEntry(host, new AsyncCallback(this.OnResolved), this);
return new IAsyncProxyResult();
}
catch
{
throw new SocketException();
}
}
/// <summary>
/// Called when the specified hostname has been resolved.
/// </summary>
/// <param name="asyncResult">The result of the asynchronous operation.</param>
private void OnResolved(IAsyncResult asyncResult)
{
try
{
IPHostEntry dns = Dns.EndGetHostEntry(asyncResult);
base.BeginConnect(new IPEndPoint(dns.AddressList[0], RemotePort), new AsyncCallback(this.OnConnect), State);
}
catch (Exception e)
{
OnHandShakeComplete(e);
}
}
/// <summary>
/// Called when the Socket is connected to the remote host.
/// </summary>
/// <param name="asyncResult">The result of the asynchronous operation.</param>
private void OnConnect(IAsyncResult asyncResult)
{
try
{
base.EndConnect(asyncResult);
OnHandShakeComplete(null);
}
catch (Exception e)
{
OnHandShakeComplete(e);
}
}
/// <summary>
/// Called when the Socket has finished talking to the proxy server and is ready to relay data.
/// </summary>
/// <param name="error">The error to throw when the EndConnect method is called.</param>
private void OnHandShakeComplete(Exception error)
{
if (error != null)
this.Close();
ToThrow = error;
AsyncResult.Reset();
if (CallBack != null)
CallBack(AsyncResult);
}
/// <summary>
/// Gets or sets the EndPoint of the proxy server.
/// </summary>
/// <value>An IPEndPoint object that holds the IP address and the port of the proxy server.</value>
public IPEndPoint ProxyEndPoint
{
get
{
return m_ProxyEndPoint;
}
set
{
m_ProxyEndPoint = value;
}
}
/// <summary>
/// Gets or sets the type of proxy server to use.
/// </summary>
/// <value>One of the ProxyTypes values.</value>
public ProxyTypes ProxyType
{
get
{
return m_ProxyType;
}
set
{
m_ProxyType = value;
}
}
/// <summary>
/// Gets or sets a user-defined object.
/// </summary>
/// <value>The user-defined object.</value>
private object State
{
get
{
return m_State;
}
set
{
m_State = value;
}
}
/// <summary>
/// Gets or sets the username to use when authenticating with the proxy.
/// </summary>
/// <value>A string that holds the username that's used when authenticating with the proxy.</value>
/// <exception cref="ArgumentNullException">The specified value is null.</exception>
public string ProxyUser
{
get
{
return m_ProxyUser;
}
set
{
if (value == null)
throw new ArgumentNullException();
m_ProxyUser = value;
}
}
/// <summary>
/// Gets or sets the password to use when authenticating with the proxy.
/// </summary>
/// <value>A string that holds the password that's used when authenticating with the proxy.</value>
/// <exception cref="ArgumentNullException">The specified value is null.</exception>
public string ProxyPass
{
get
{
return m_ProxyPass;
}
set
{
if (value == null)
throw new ArgumentNullException();
m_ProxyPass = value;
}
}
/// <summary>
/// Gets or sets the asynchronous result object.
/// </summary>
/// <value>An instance of the IAsyncProxyResult class.</value>
private IAsyncProxyResult AsyncResult
{
get
{
return m_AsyncResult;
}
set
{
m_AsyncResult = value;
}
}
/// <summary>
/// Gets or sets the exception to throw when the EndConnect method is called.
/// </summary>
/// <value>An instance of the Exception class (or subclasses of Exception).</value>
private Exception ToThrow
{
get
{
return m_ToThrow;
}
set
{
m_ToThrow = value;
}
}
/// <summary>
/// Gets or sets the remote port the user wants to connect to.
/// </summary>
/// <value>An integer that specifies the port the user wants to connect to.</value>
private int RemotePort
{
get
{
return m_RemotePort;
}
set
{
m_RemotePort = value;
}
}
// private variables
/// <summary>Holds the value of the State property.</summary>
private object m_State;
/// <summary>Holds the value of the ProxyEndPoint property.</summary>
private IPEndPoint m_ProxyEndPoint = null;
/// <summary>Holds the value of the ProxyType property.</summary>
private ProxyTypes m_ProxyType = ProxyTypes.None;
/// <summary>Holds the value of the ProxyUser property.</summary>
private string m_ProxyUser = null;
/// <summary>Holds the value of the ProxyPass property.</summary>
private string m_ProxyPass = null;
/// <summary>Holds a pointer to the method that should be called when the Socket is connected to the remote device.</summary>
private AsyncCallback CallBack = null;
/// <summary>Holds the value of the AsyncResult property.</summary>
private IAsyncProxyResult m_AsyncResult;
/// <summary>Holds the value of the ToThrow property.</summary>
private Exception m_ToThrow = null;
/// <summary>Holds the value of the RemotePort property.</summary>
private int m_RemotePort;
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/Socks4Handler.cs
0,0 → 1,234
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
 
namespace Org.Mentalis.Network.ProxySocket {
/// <summary>
/// Implements the SOCKS4[A] protocol.
/// </summary>
internal sealed class Socks4Handler : SocksHandler {
/// <summary>
/// Initilizes a new instance of the SocksHandler class.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
/// <param name="user">The username to use when authenticating with the server.</param>
/// <exception cref="ArgumentNullException"><c>server</c> -or- <c>user</c> is null.</exception>
public Socks4Handler(Socket server, string user) : base(server, user) {}
/// <summary>
/// Creates an array of bytes that has to be sent when the user wants to connect to a specific host/port combination.
/// </summary>
/// <param name="host">The host to connect to.</param>
/// <param name="port">The port to connect to.</param>
/// <returns>An array of bytes that has to be sent when the user wants to connect to a specific host/port combination.</returns>
/// <remarks>Resolving the host name will be done at server side. Do note that some SOCKS4 servers do not implement this functionality.</remarks>
/// <exception cref="ArgumentNullException"><c>host</c> is null.</exception>
/// <exception cref="ArgumentException"><c>port</c> is invalid.</exception>
private byte[] GetHostPortBytes(string host, int port) {
if (host == null)
throw new ArgumentNullException();
if (port <= 0 || port > 65535)
throw new ArgumentException();
byte [] connect = new byte[10 + Username.Length + host.Length];
connect[0] = 4;
connect[1] = 1;
Array.Copy(PortToBytes(port), 0, connect, 2, 2);
connect[4] = connect[5] = connect[6] = 0;
connect[7] = 1;
Array.Copy(Encoding.ASCII.GetBytes(Username), 0, connect, 8, Username.Length);
connect[8 + Username.Length] = 0;
Array.Copy(Encoding.ASCII.GetBytes(host), 0, connect, 9 + Username.Length, host.Length);
connect[9 + Username.Length + host.Length] = 0;
return connect;
}
/// <summary>
/// Creates an array of bytes that has to be sent when the user wants to connect to a specific IPEndPoint.
/// </summary>
/// <param name="remoteEP">The IPEndPoint to connect to.</param>
/// <returns>An array of bytes that has to be sent when the user wants to connect to a specific IPEndPoint.</returns>
/// <exception cref="ArgumentNullException"><c>remoteEP</c> is null.</exception>
private byte[] GetEndPointBytes(IPEndPoint remoteEP) {
if (remoteEP == null)
throw new ArgumentNullException();
byte [] connect = new byte[9 + Username.Length];
connect[0] = 4;
connect[1] = 1;
Array.Copy(PortToBytes(remoteEP.Port), 0, connect, 2, 2);
Array.Copy(remoteEP.Address.GetAddressBytes(), 0, connect, 4, 4);
Array.Copy(Encoding.ASCII.GetBytes(Username), 0, connect, 8, Username.Length);
connect[8 + Username.Length] = 0;
return connect;
}
/// <summary>
/// Starts negotiating with the SOCKS server.
/// </summary>
/// <param name="host">The host to connect to.</param>
/// <param name="port">The port to connect to.</param>
/// <exception cref="ArgumentNullException"><c>host</c> is null.</exception>
/// <exception cref="ArgumentException"><c>port</c> is invalid.</exception>
/// <exception cref="ProxyException">The proxy rejected the request.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
public override void Negotiate(string host, int port) {
Negotiate(GetHostPortBytes(host, port));
}
/// <summary>
/// Starts negotiating with the SOCKS server.
/// </summary>
/// <param name="remoteEP">The IPEndPoint to connect to.</param>
/// <exception cref="ArgumentNullException"><c>remoteEP</c> is null.</exception>
/// <exception cref="ProxyException">The proxy rejected the request.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
public override void Negotiate(IPEndPoint remoteEP) {
Negotiate(GetEndPointBytes(remoteEP));
}
/// <summary>
/// Starts negotiating with the SOCKS server.
/// </summary>
/// <param name="connect">The bytes to send when trying to authenticate.</param>
/// <exception cref="ArgumentNullException"><c>connect</c> is null.</exception>
/// <exception cref="ArgumentException"><c>connect</c> is too small.</exception>
/// <exception cref="ProxyException">The proxy rejected the request.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
private void Negotiate(byte [] connect) {
if (connect == null)
throw new ArgumentNullException();
if (connect.Length < 2)
throw new ArgumentException();
Server.Send(connect);
byte [] buffer = ReadBytes(8);
if (buffer[1] != 90) {
Server.Close();
throw new ProxyException("Negotiation failed.");
}
}
/// <summary>
/// Starts negotiating asynchronously with a SOCKS proxy server.
/// </summary>
/// <param name="host">The remote server to connect to.</param>
/// <param name="port">The remote port to connect to.</param>
/// <param name="callback">The method to call when the connection has been established.</param>
/// <param name="proxyEndPoint">The IPEndPoint of the SOCKS proxy server.</param>
/// <returns>An IAsyncProxyResult that references the asynchronous connection.</returns>
public override IAsyncProxyResult BeginNegotiate(string host, int port, HandShakeComplete callback, IPEndPoint proxyEndPoint) {
ProtocolComplete = callback;
Buffer = GetHostPortBytes(host, port);
Server.BeginConnect(proxyEndPoint, new AsyncCallback(this.OnConnect), Server);
AsyncResult = new IAsyncProxyResult();
return AsyncResult;
}
/// <summary>
/// Starts negotiating asynchronously with a SOCKS proxy server.
/// </summary>
/// <param name="remoteEP">An IPEndPoint that represents the remote device.</param>
/// <param name="callback">The method to call when the connection has been established.</param>
/// <param name="proxyEndPoint">The IPEndPoint of the SOCKS proxy server.</param>
/// <returns>An IAsyncProxyResult that references the asynchronous connection.</returns>
public override IAsyncProxyResult BeginNegotiate(IPEndPoint remoteEP, HandShakeComplete callback, IPEndPoint proxyEndPoint) {
ProtocolComplete = callback;
Buffer = GetEndPointBytes(remoteEP);
Server.BeginConnect(proxyEndPoint, new AsyncCallback(this.OnConnect), Server);
AsyncResult = new IAsyncProxyResult();
return AsyncResult;
}
/// <summary>
/// Called when the Socket is connected to the remote proxy server.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnConnect(IAsyncResult ar) {
try {
Server.EndConnect(ar);
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
Server.BeginSend(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(this.OnSent), Server);
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Called when the Socket has sent the handshake data.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnSent(IAsyncResult ar) {
try {
if (Server.EndSend(ar) < Buffer.Length) {
ProtocolComplete(new SocketException());
return;
}
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
Buffer = new byte[8];
Received = 0;
Server.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(this.OnReceive), Server);
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Called when the Socket has received a reply from the remote proxy server.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnReceive(IAsyncResult ar) {
try {
int received = Server.EndReceive(ar);
if (received <= 0) {
ProtocolComplete(new SocketException());
return;
}
Received += received;
if (Received == 8) {
if (Buffer[1] == 90)
ProtocolComplete(null);
else {
Server.Close();
ProtocolComplete(new ProxyException("Negotiation failed."));
}
} else {
Server.BeginReceive(Buffer, Received, Buffer.Length - Received, SocketFlags.None, new AsyncCallback(this.OnReceive), Server);
}
} catch (Exception e) {
ProtocolComplete(e);
}
}
}
}
 
 
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/Socks5Handler.cs
0,0 → 1,420
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using Org.Mentalis.Network.ProxySocket.Authentication;
 
namespace Org.Mentalis.Network.ProxySocket {
/// <summary>
/// Implements the SOCKS5 protocol.
/// </summary>
internal sealed class Socks5Handler : SocksHandler {
/// <summary>
/// Initiliazes a new Socks5Handler instance.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
/// <exception cref="ArgumentNullException"><c>server</c> is null.</exception>
public Socks5Handler(Socket server) : this(server, "") {}
/// <summary>
/// Initiliazes a new Socks5Handler instance.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
/// <param name="user">The username to use.</param>
/// <exception cref="ArgumentNullException"><c>server</c> -or- <c>user</c> is null.</exception>
public Socks5Handler(Socket server, string user) : this(server, user, "") {}
/// <summary>
/// Initiliazes a new Socks5Handler instance.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
/// <param name="user">The username to use.</param>
/// <param name="pass">The password to use.</param>
/// <exception cref="ArgumentNullException"><c>server</c> -or- <c>user</c> -or- <c>pass</c> is null.</exception>
public Socks5Handler(Socket server, string user, string pass) : base(server, user) {
Password = pass;
}
/// <summary>
/// Starts the synchronous authentication process.
/// </summary>
/// <exception cref="ProxyException">Authentication with the proxy server failed.</exception>
/// <exception cref="ProtocolViolationException">The proxy server uses an invalid protocol.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
private void Authenticate() {
Server.Send(new byte [] {5, 2, 0, 2});
byte[] buffer = ReadBytes(2);
if (buffer[1] == 255)
throw new ProxyException("No authentication method accepted.");
AuthMethod authenticate;
switch (buffer[1]) {
case 0:
authenticate = new AuthNone(Server);
break;
case 2:
authenticate = new AuthUserPass(Server, Username, Password);
break;
default:
throw new ProtocolViolationException();
}
authenticate.Authenticate();
}
/// <summary>
/// Creates an array of bytes that has to be sent when the user wants to connect to a specific host/port combination.
/// </summary>
/// <param name="host">The host to connect to.</param>
/// <param name="port">The port to connect to.</param>
/// <returns>An array of bytes that has to be sent when the user wants to connect to a specific host/port combination.</returns>
/// <exception cref="ArgumentNullException"><c>host</c> is null.</exception>
/// <exception cref="ArgumentException"><c>port</c> or <c>host</c> is invalid.</exception>
private byte[] GetHostPortBytes(string host, int port) {
if (host == null)
throw new ArgumentNullException();
if (port <= 0 || port > 65535 || host.Length > 255)
throw new ArgumentException();
byte [] connect = new byte[7 + host.Length];
connect[0] = 5;
connect[1] = 1;
connect[2] = 0; //reserved
connect[3] = 3;
connect[4] = (byte)host.Length;
Array.Copy(Encoding.ASCII.GetBytes(host), 0, connect, 5, host.Length);
Array.Copy(PortToBytes(port), 0, connect, host.Length + 5, 2);
return connect;
}
/// <summary>
/// Creates an array of bytes that has to be sent when the user wants to connect to a specific IPEndPoint.
/// </summary>
/// <param name="remoteEP">The IPEndPoint to connect to.</param>
/// <returns>An array of bytes that has to be sent when the user wants to connect to a specific IPEndPoint.</returns>
/// <exception cref="ArgumentNullException"><c>remoteEP</c> is null.</exception>
private byte[] GetEndPointBytes(IPEndPoint remoteEP) {
if (remoteEP == null)
throw new ArgumentNullException();
byte [] connect = new byte[10];
connect[0] = 5;
connect[1] = 1;
connect[2] = 0; //reserved
connect[3] = 1;
 
Array.Copy(remoteEP.Address.GetAddressBytes(), 0, connect, 4, 4);
Array.Copy(PortToBytes(remoteEP.Port), 0, connect, 8, 2);
return connect;
}
/// <summary>
/// Starts negotiating with the SOCKS server.
/// </summary>
/// <param name="host">The host to connect to.</param>
/// <param name="port">The port to connect to.</param>
/// <exception cref="ArgumentNullException"><c>host</c> is null.</exception>
/// <exception cref="ArgumentException"><c>port</c> is invalid.</exception>
/// <exception cref="ProxyException">The proxy rejected the request.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
/// <exception cref="ProtocolViolationException">The proxy server uses an invalid protocol.</exception>
public override void Negotiate(string host, int port) {
Negotiate(GetHostPortBytes(host, port));
}
/// <summary>
/// Starts negotiating with the SOCKS server.
/// </summary>
/// <param name="remoteEP">The IPEndPoint to connect to.</param>
/// <exception cref="ArgumentNullException"><c>remoteEP</c> is null.</exception>
/// <exception cref="ProxyException">The proxy rejected the request.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
/// <exception cref="ProtocolViolationException">The proxy server uses an invalid protocol.</exception>
public override void Negotiate(IPEndPoint remoteEP) {
Negotiate(GetEndPointBytes(remoteEP));
}
/// <summary>
/// Starts negotiating with the SOCKS server.
/// </summary>
/// <param name="connect">The bytes to send when trying to authenticate.</param>
/// <exception cref="ArgumentNullException"><c>connect</c> is null.</exception>
/// <exception cref="ArgumentException"><c>connect</c> is too small.</exception>
/// <exception cref="ProxyException">The proxy rejected the request.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
/// <exception cref="ProtocolViolationException">The proxy server uses an invalid protocol.</exception>
private void Negotiate(byte[] connect) {
Authenticate();
Server.Send(connect);
byte[] buffer = ReadBytes(4);
if (buffer[1] != 0) {
Server.Close();
throw new ProxyException(buffer[1]);
}
switch(buffer[3]) {
case 1:
buffer = ReadBytes(6); //IPv4 address with port
break;
case 3:
buffer = ReadBytes(1);
buffer = ReadBytes(buffer[0] + 2); //domain name with port
break;
case 4:
buffer = ReadBytes(18); //IPv6 address with port
break;
default:
Server.Close();
throw new ProtocolViolationException();
}
}
/// <summary>
/// Starts negotiating asynchronously with the SOCKS server.
/// </summary>
/// <param name="host">The host to connect to.</param>
/// <param name="port">The port to connect to.</param>
/// <param name="callback">The method to call when the negotiation is complete.</param>
/// <param name="proxyEndPoint">The IPEndPoint of the SOCKS proxy server.</param>
/// <returns>An IAsyncProxyResult that references the asynchronous connection.</returns>
public override IAsyncProxyResult BeginNegotiate(string host, int port, HandShakeComplete callback, IPEndPoint proxyEndPoint) {
ProtocolComplete = callback;
HandShake = GetHostPortBytes(host, port);
Server.BeginConnect(proxyEndPoint, new AsyncCallback(this.OnConnect), Server);
AsyncResult = new IAsyncProxyResult();
return AsyncResult;
}
/// <summary>
/// Starts negotiating asynchronously with the SOCKS server.
/// </summary>
/// <param name="remoteEP">An IPEndPoint that represents the remote device.</param>
/// <param name="callback">The method to call when the negotiation is complete.</param>
/// <param name="proxyEndPoint">The IPEndPoint of the SOCKS proxy server.</param>
/// <returns>An IAsyncProxyResult that references the asynchronous connection.</returns>
public override IAsyncProxyResult BeginNegotiate(IPEndPoint remoteEP, HandShakeComplete callback, IPEndPoint proxyEndPoint) {
ProtocolComplete = callback;
HandShake = GetEndPointBytes(remoteEP);
Server.BeginConnect(proxyEndPoint, new AsyncCallback(this.OnConnect), Server);
AsyncResult = new IAsyncProxyResult();
return AsyncResult;
}
/// <summary>
/// Called when the socket is connected to the remote server.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnConnect(IAsyncResult ar) {
try {
Server.EndConnect(ar);
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
Server.BeginSend(new byte [] {5, 2, 0, 2}, 0, 4, SocketFlags.None, new AsyncCallback(this.OnAuthSent), Server);
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Called when the authentication bytes have been sent.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnAuthSent(IAsyncResult ar) {
try {
Server.EndSend(ar);
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
Buffer = new byte[1024];
Received = 0;
Server.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(this.OnAuthReceive), Server);
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Called when an authentication reply has been received.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnAuthReceive(IAsyncResult ar) {
try {
Received += Server.EndReceive(ar);
if (Received <= 0)
throw new SocketException();
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
if (Received < 2) {
Server.BeginReceive(Buffer, Received, Buffer.Length - Received, SocketFlags.None, new AsyncCallback(this.OnAuthReceive), Server);
} else {
AuthMethod authenticate;
switch(Buffer[1]) {
case 0:
authenticate = new AuthNone(Server);
break;
case 2:
authenticate = new AuthUserPass(Server, Username, Password);
break;
default:
ProtocolComplete(new SocketException());
return;
}
authenticate.BeginAuthenticate(new HandShakeComplete(this.OnAuthenticated));
}
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Called when the socket has been successfully authenticated with the server.
/// </summary>
/// <param name="e">The exception that has occured while authenticating, or <em>null</em> if no error occured.</param>
private void OnAuthenticated(Exception e) {
if (e != null) {
ProtocolComplete(e);
return;
}
try {
Server.BeginSend(HandShake, 0, HandShake.Length, SocketFlags.None, new AsyncCallback(this.OnSent), Server);
} catch (Exception ex) {
ProtocolComplete(ex);
}
}
/// <summary>
/// Called when the connection request has been sent.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnSent(IAsyncResult ar) {
try {
Server.EndSend(ar);
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
Buffer = new byte[5];
Received = 0;
Server.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(this.OnReceive), Server);
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Called when a connection reply has been received.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnReceive(IAsyncResult ar) {
try {
Received += Server.EndReceive(ar);
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
if (Received == Buffer.Length)
ProcessReply(Buffer);
else
Server.BeginReceive(Buffer, Received, Buffer.Length - Received, SocketFlags.None, new AsyncCallback(this.OnReceive), Server);
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Processes the received reply.
/// </summary>
/// <param name="buffer">The received reply</param>
/// <exception cref="ProtocolViolationException">The received reply is invalid.</exception>
private void ProcessReply(byte[] buffer) {
switch(buffer[3]) {
case 1:
Buffer = new byte[5]; //IPv4 address with port - 1 byte
break;
case 3:
Buffer = new byte[buffer[4] + 2]; //domain name with port
break;
case 4:
buffer = new byte[17]; //IPv6 address with port - 1 byte
break;
default:
throw new ProtocolViolationException();
}
Received = 0;
Server.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(this.OnReadLast), Server);
}
/// <summary>
/// Called when the last bytes are read from the socket.
/// </summary>
/// <param name="ar">Stores state information for this asynchronous operation as well as any user-defined data.</param>
private void OnReadLast(IAsyncResult ar) {
try {
Received += Server.EndReceive(ar);
} catch (Exception e) {
ProtocolComplete(e);
return;
}
try {
if (Received == Buffer.Length)
ProtocolComplete(null);
else
Server.BeginReceive(Buffer, Received, Buffer.Length - Received, SocketFlags.None, new AsyncCallback(this.OnReadLast), Server);
} catch (Exception e) {
ProtocolComplete(e);
}
}
/// <summary>
/// Gets or sets the password to use when authenticating with the SOCKS5 server.
/// </summary>
/// <value>The password to use when authenticating with the SOCKS5 server.</value>
private string Password {
get {
return m_Password;
}
set {
if (value == null)
throw new ArgumentNullException();
m_Password = value;
}
}
/// <summary>
/// Gets or sets the bytes to use when sending a connect request to the proxy server.
/// </summary>
/// <value>The array of bytes to use when sending a connect request to the proxy server.</value>
private byte[] HandShake {
get {
return m_HandShake;
}
set {
m_HandShake = value;
}
}
// private variables
/// <summary>Holds the value of the Password property.</summary>
private string m_Password;
/// <summary>Holds the value of the HandShake property.</summary>
private byte[] m_HandShake;
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/SocksHandler.cs
0,0 → 1,192
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
 
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
using System;
using System.Net;
using System.Net.Sockets;
 
namespace Org.Mentalis.Network.ProxySocket {
/// <summary>
/// References the callback method to be called when the protocol negotiation is completed.
/// </summary>
internal delegate void HandShakeComplete(Exception error);
/// <summary>
/// Implements a specific version of the SOCKS protocol. This is an abstract class; it must be inherited.
/// </summary>
internal abstract class SocksHandler {
/// <summary>
/// Initilizes a new instance of the SocksHandler class.
/// </summary>
/// <param name="server">The socket connection with the proxy server.</param>
/// <param name="user">The username to use when authenticating with the server.</param>
/// <exception cref="ArgumentNullException"><c>server</c> -or- <c>user</c> is null.</exception>
public SocksHandler(Socket server, string user) {
Server = server;
Username = user;
}
/// <summary>
/// Converts a port number to an array of bytes.
/// </summary>
/// <param name="port">The port to convert.</param>
/// <returns>An array of two bytes that represents the specified port.</returns>
protected byte[] PortToBytes(int port) {
byte [] ret = new byte[2];
ret[0] = (byte)(port / 256);
ret[1] = (byte)(port % 256);
return ret;
}
 
/// <summary>
/// Reads a specified number of bytes from the Server socket.
/// </summary>
/// <param name="count">The number of bytes to return.</param>
/// <returns>An array of bytes.</returns>
/// <exception cref="ArgumentException">The number of bytes to read is invalid.</exception>
/// <exception cref="SocketException">An operating system error occurs while accessing the Socket.</exception>
/// <exception cref="ObjectDisposedException">The Socket has been closed.</exception>
protected byte[] ReadBytes(int count) {
if (count <= 0)
throw new ArgumentException();
byte[] buffer = new byte[count];
int received = 0;
while(received != count) {
received += Server.Receive(buffer, received, count - received, SocketFlags.None);
}
return buffer;
}
/// <summary>
/// Gets or sets the socket connection with the proxy server.
/// </summary>
/// <value>A Socket object that represents the connection with the proxy server.</value>
/// <exception cref="ArgumentNullException">The specified value is null.</exception>
protected Socket Server {
get {
return m_Server;
}
set {
if (value == null)
throw new ArgumentNullException();
m_Server = value;
}
}
/// <summary>
/// Gets or sets the username to use when authenticating with the proxy server.
/// </summary>
/// <value>A string that holds the username to use when authenticating with the proxy server.</value>
/// <exception cref="ArgumentNullException">The specified value is null.</exception>
protected string Username {
get {
return m_Username;
}
set {
if (value == null)
throw new ArgumentNullException();
m_Username = value;
}
}
/// <summary>
/// Gets or sets the return value of the BeginConnect call.
/// </summary>
/// <value>An IAsyncProxyResult object that is the return value of the BeginConnect call.</value>
protected IAsyncProxyResult AsyncResult {
get {
return m_AsyncResult;
}
set {
m_AsyncResult = value;
}
}
/// <summary>
/// Gets or sets a byte buffer.
/// </summary>
/// <value>An array of bytes.</value>
protected byte[] Buffer {
get {
return m_Buffer;
}
set {
m_Buffer = value;
}
}
/// <summary>
/// Gets or sets the number of bytes that have been received from the remote proxy server.
/// </summary>
/// <value>An integer that holds the number of bytes that have been received from the remote proxy server.</value>
protected int Received {
get {
return m_Received;
}
set {
m_Received = value;
}
}
// private variables
/// <summary>Holds the value of the Server property.</summary>
private Socket m_Server;
/// <summary>Holds the value of the Username property.</summary>
private string m_Username;
/// <summary>Holds the value of the AsyncResult property.</summary>
private IAsyncProxyResult m_AsyncResult;
/// <summary>Holds the value of the Buffer property.</summary>
private byte[] m_Buffer;
/// <summary>Holds the value of the Received property.</summary>
private int m_Received;
/// <summary>Holds the address of the method to call when the SOCKS protocol has been completed.</summary>
protected HandShakeComplete ProtocolComplete;
/// <summary>
/// Starts negotiating with a SOCKS proxy server.
/// </summary>
/// <param name="host">The remote server to connect to.</param>
/// <param name="port">The remote port to connect to.</param>
public abstract void Negotiate(string host, int port);
/// <summary>
/// Starts negotiating with a SOCKS proxy server.
/// </summary>
/// <param name="remoteEP">The remote endpoint to connect to.</param>
public abstract void Negotiate(IPEndPoint remoteEP);
/// <summary>
/// Starts negotiating asynchronously with a SOCKS proxy server.
/// </summary>
/// <param name="remoteEP">An IPEndPoint that represents the remote device. </param>
/// <param name="callback">The method to call when the connection has been established.</param>
/// <param name="proxyEndPoint">The IPEndPoint of the SOCKS proxy server.</param>
/// <returns>An IAsyncProxyResult that references the asynchronous connection.</returns>
public abstract IAsyncProxyResult BeginNegotiate(IPEndPoint remoteEP, HandShakeComplete callback, IPEndPoint proxyEndPoint);
/// <summary>
/// Starts negotiating asynchronously with a SOCKS proxy server.
/// </summary>
/// <param name="host">The remote server to connect to.</param>
/// <param name="port">The remote port to connect to.</param>
/// <param name="callback">The method to call when the connection has been established.</param>
/// <param name="proxyEndPoint">The IPEndPoint of the SOCKS proxy server.</param>
/// <returns>An IAsyncProxyResult that references the asynchronous connection.</returns>
public abstract IAsyncProxyResult BeginNegotiate(string host, int port, HandShakeComplete callback, IPEndPoint proxyEndPoint);
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/SocksProxySocket/SocksHttpWebRequest.cs
0,0 → 1,413
using System;
using System.Collections.Generic;
using System.Text;
 
namespace GMap.NET.Internals
{
using System;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using Org.Mentalis.Network.ProxySocket; // http://www.mentalis.org/soft/class.qpx?id=9
 
/// <summary>
/// http://ditrans.blogspot.com/2009/03/making-witty-work-with-socks-proxy.html
/// </summary>
internal class SocksHttpWebRequest : WebRequest
{
#region Member Variables
 
private readonly Uri _requestUri;
private WebHeaderCollection _requestHeaders;
private string _method;
private SocksHttpWebResponse _response;
private string _requestMessage;
private byte[] _requestContentBuffer;
 
// darn MS for making everything internal (yeah, I'm talking about you, System.net.KnownHttpVerb)
static readonly StringCollection validHttpVerbs =
new StringCollection { "GET", "HEAD", "POST", "PUT", "DELETE", "TRACE", "OPTIONS" };
 
#endregion
 
#region Constructor
 
private SocksHttpWebRequest(Uri requestUri)
{
_requestUri = requestUri;
}
 
#endregion
 
#region WebRequest Members
 
public override WebResponse GetResponse()
{
if (Proxy == null)
{
throw new InvalidOperationException("Proxy property cannot be null.");
}
if (String.IsNullOrEmpty(Method))
{
throw new InvalidOperationException("Method has not been set.");
}
 
if (RequestSubmitted)
{
return _response;
}
_response = InternalGetResponse();
RequestSubmitted = true;
return _response;
}
 
public override Uri RequestUri
{
get
{
return _requestUri;
}
}
 
public override IWebProxy Proxy
{
get;
set;
}
 
public override WebHeaderCollection Headers
{
get
{
if (_requestHeaders == null)
{
_requestHeaders = new WebHeaderCollection();
}
return _requestHeaders;
}
set
{
if (RequestSubmitted)
{
throw new InvalidOperationException("This operation cannot be performed after the request has been submitted.");
}
_requestHeaders = value;
}
}
 
public bool RequestSubmitted
{
get;
private set;
}
 
public override string Method
{
get
{
return _method ?? "GET";
}
set
{
if (validHttpVerbs.Contains(value))
{
_method = value;
}
else
{
throw new ArgumentOutOfRangeException("value", string.Format("'{0}' is not a known HTTP verb.", value));
}
}
}
 
public override long ContentLength
{
get;
set;
}
 
public override string ContentType
{
get;
set;
}
 
public override Stream GetRequestStream()
{
if (RequestSubmitted)
{
throw new InvalidOperationException("This operation cannot be performed after the request has been submitted.");
}
 
if (_requestContentBuffer == null)
{
_requestContentBuffer = new byte[ContentLength];
}
else if (ContentLength == default(long))
{
_requestContentBuffer = new byte[int.MaxValue];
}
else if (_requestContentBuffer.Length != ContentLength)
{
Array.Resize(ref _requestContentBuffer, (int)ContentLength);
}
return new MemoryStream(_requestContentBuffer);
}
 
#endregion
 
#region Methods
 
public static new WebRequest Create(string requestUri)
{
return new SocksHttpWebRequest(new Uri(requestUri));
}
 
public static new WebRequest Create(Uri requestUri)
{
return new SocksHttpWebRequest(requestUri);
}
 
private string BuildHttpRequestMessage()
{
if (RequestSubmitted)
{
throw new InvalidOperationException("This operation cannot be performed after the request has been submitted.");
}
 
var message = new StringBuilder();
 
message.AppendFormat("{0} {1} HTTP/1.0\r\nHost: {2}\r\n", Method, RequestUri.PathAndQuery, RequestUri.Host);
 
// add the headers
foreach (var key in Headers.Keys)
{
message.AppendFormat("{0}: {1}\r\n", key, Headers[key.ToString()]);
}
 
if (!string.IsNullOrEmpty(ContentType))
{
message.AppendFormat("Content-Type: {0}\r\n", ContentType);
}
if (ContentLength > 0)
{
message.AppendFormat("Content-Length: {0}\r\n", ContentLength);
}
 
// add a blank line to indicate the end of the headers
message.Append("\r\n");
 
// add content
if (_requestContentBuffer != null && _requestContentBuffer.Length > 0)
{
using (var stream = new MemoryStream(_requestContentBuffer, false))
{
using (var reader = new StreamReader(stream))
{
message.Append(reader.ReadToEnd());
}
}
}
 
return message.ToString();
}
 
private SocksHttpWebResponse InternalGetResponse()
{
MemoryStream data = null;
string header = string.Empty;
 
using (var _socksConnection = new ProxySocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
{
var proxyUri = Proxy.GetProxy(RequestUri);
var ipAddress = GetProxyIpAddress(proxyUri);
_socksConnection.ProxyEndPoint = new IPEndPoint(ipAddress, proxyUri.Port);
_socksConnection.ProxyType = ProxyTypes.Socks5;
 
// open connection
_socksConnection.Connect(RequestUri.Host, 80);
 
// send an HTTP request
_socksConnection.Send(Encoding.UTF8.GetBytes(RequestMessage));
 
// read the HTTP reply
var buffer = new byte[1024 * 4];
int bytesReceived = 0;
bool headerDone = false;
 
while ((bytesReceived = _socksConnection.Receive(buffer)) > 0)
{
if (!headerDone)
{
var headPart = Encoding.UTF8.GetString(buffer, 0, bytesReceived > 1024 ? 1024 : bytesReceived);
var indexOfFirstBlankLine = headPart.IndexOf("\r\n\r\n");
if (indexOfFirstBlankLine > 0)
{
headPart = headPart.Substring(0, indexOfFirstBlankLine);
header += headPart;
headerDone = true;
 
var headerPartLength = Encoding.UTF8.GetByteCount(headPart) + 4;
 
// 0123456789
// ----
if (headerPartLength < bytesReceived)
{
data = new MemoryStream();
data.Write(buffer, headerPartLength, bytesReceived - headerPartLength);
}
}
else
{
header += headPart;
}
}
else
{
if (data == null)
{
data = new MemoryStream();
}
data.Write(buffer, 0, bytesReceived);
}
}
 
if (data != null)
{
data.Position = 0;
}
}
 
return new SocksHttpWebResponse(data, header);
}
 
private static IPAddress GetProxyIpAddress(Uri proxyUri)
{
IPAddress ipAddress;
if (!IPAddress.TryParse(proxyUri.Host, out ipAddress))
{
try
{
return Dns.GetHostEntry(proxyUri.Host).AddressList[0];
}
catch (Exception e)
{
throw new InvalidOperationException(
string.Format("Unable to resolve proxy hostname '{0}' to a valid IP address.", proxyUri.Host), e);
}
}
return ipAddress;
}
 
#endregion
 
#region Properties
 
public string RequestMessage
{
get
{
if (string.IsNullOrEmpty(_requestMessage))
{
_requestMessage = BuildHttpRequestMessage();
}
return _requestMessage;
}
}
 
#endregion
 
}
 
internal class SocksHttpWebResponse : WebResponse
{
 
#region Member Variables
 
WebHeaderCollection _httpResponseHeaders;
MemoryStream data;
 
public override long ContentLength
{
get;
set;
}
 
public override string ContentType
{
get;
set;
}
 
#endregion
 
#region Constructors
 
public SocksHttpWebResponse(MemoryStream data, string headers)
{
this.data = data;
 
var headerValues = headers.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
 
// ignore the first line in the header since it is the HTTP response code
for (int i = 1; i < headerValues.Length; i++)
{
var headerEntry = headerValues[i].Split(new[] { ':' });
Headers.Add(headerEntry[0], headerEntry[1]);
 
switch (headerEntry[0])
{
case "Content-Type":
{
ContentType = headerEntry[1];
}
break;
 
case "Content-Length":
{
long r = 0;
if(long.TryParse(headerEntry[1], out r))
{
ContentLength = r;
}
}
break;
}
}
}
 
#endregion
 
#region WebResponse Members
 
public override Stream GetResponseStream()
{
return data != null ? data : Stream.Null;
}
 
public override void Close()
{
if (data != null)
{
data.Close();
}
/* the base implementation throws an exception */
}
 
public override WebHeaderCollection Headers
{
get
{
if (_httpResponseHeaders == null)
{
_httpResponseHeaders = new WebHeaderCollection();
}
return _httpResponseHeaders;
}
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/Stuff.cs
0,0 → 1,254

namespace GMap.NET.Internals
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
 
/// <summary>
/// etc functions...
/// </summary>
internal class Stuff
{
public static string EnumToString(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes =
(DescriptionAttribute[])fi.GetCustomAttributes(
typeof(DescriptionAttribute), false);
 
return (attributes.Length > 0) ? attributes[0].Description : value.ToString();
}
 
[System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint = "SetCursorPos")]
[return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)]
public static extern bool SetCursorPos(int X, int Y);
 
public static readonly Random random = new System.Random();
 
public static void Shuffle<T>(List<T> deck)
{
int N = deck.Count;
 
for(int i = 0; i < N; ++i)
{
int r = i + (int)(random.Next(N - i));
T t = deck[r];
deck[r] = deck[i];
deck[i] = t;
}
}
 
public static MemoryStream CopyStream(Stream inputStream, bool SeekOriginBegin)
{
const int readSize = 32 * 1024;
byte[] buffer = new byte[readSize];
MemoryStream ms = new MemoryStream();
{
int count = 0;
while((count = inputStream.Read(buffer, 0, readSize)) > 0)
{
ms.Write(buffer, 0, count);
}
}
buffer = null;
if(SeekOriginBegin)
{
inputStream.Seek(0, SeekOrigin.Begin);
}
ms.Seek(0, SeekOrigin.Begin);
return ms;
}
 
public static bool IsRunningOnVistaOrLater()
{
OperatingSystem os = Environment.OSVersion;
 
if(os.Platform == PlatformID.Win32NT)
{
Version vs = os.Version;
 
if(vs.Major >= 6 && vs.Minor >= 0)
{
return true;
}
}
 
return false;
}
 
public static bool IsRunningOnWin7orLater()
{
OperatingSystem os = Environment.OSVersion;
 
if(os.Platform == PlatformID.Win32NT)
{
Version vs = os.Version;
 
if(vs.Major >= 6 && vs.Minor > 0)
{
return true;
}
}
 
return false;
}
 
public static void RemoveInvalidPathSymbols(ref string url)
{
#if !PocketPC
char[] ilg = Path.GetInvalidFileNameChars();
#else
char[] ilg = new char[41];
for(int i = 0; i < 32; i++)
ilg[i] = (char) i;
 
ilg[32] = '"';
ilg[33] = '<';
ilg[34] = '>';
ilg[35] = '|';
ilg[36] = '?';
ilg[37] = ':';
ilg[38] = '/';
ilg[39] = '\\';
ilg[39] = '*';
#endif
foreach(char c in ilg)
{
url = url.Replace(c, '_');
}
}
 
#region -- encryption --
static string EncryptString(string Message, string Passphrase)
{
byte[] Results;
 
using (var HashProvider = new SHA1CryptoServiceProvider())
{
byte[] TDESKey = HashProvider.ComputeHash(Encoding.UTF8.GetBytes(Passphrase));
Array.Resize(ref TDESKey, 16);
 
using (TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider())
{
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
 
byte[] DataToEncrypt = Encoding.UTF8.GetBytes(Message);
 
// Step 5. Attempt to encrypt the string
try
{
using (ICryptoTransform Encryptor = TDESAlgorithm.CreateEncryptor())
{
Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length);
}
}
finally
{
// Clear the TripleDes and Hashprovider services of any sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
}
}
 
// Step 6. Return the encrypted string as a base64 encoded string
return Convert.ToBase64String(Results);
}
 
static string DecryptString(string Message, string Passphrase)
{
byte[] Results;
 
using (var HashProvider = new SHA1CryptoServiceProvider())
{
byte[] TDESKey = HashProvider.ComputeHash(Encoding.UTF8.GetBytes(Passphrase));
Array.Resize(ref TDESKey, 16);
 
// Step 2. Create a new TripleDESCryptoServiceProvider object
using (TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider())
{
// Step 3. Setup the decoder
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
 
// Step 4. Convert the input string to a byte[]
byte[] DataToDecrypt = Convert.FromBase64String(Message);
 
// Step 5. Attempt to decrypt the string
try
{
using (ICryptoTransform Decryptor = TDESAlgorithm.CreateDecryptor())
{
Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length);
}
}
finally
{
// Clear the TripleDes and Hashprovider services of any sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
}
}
 
// Step 6. Return the decrypted string in UTF8 format
return Encoding.UTF8.GetString(Results, 0, Results.Length);
}
 
public static string EncryptString(string Message)
{
return EncryptString(Message, manifesto);
}
 
public static string GString(string Message)
{
var ret = DecryptString(Message, manifesto);
 
return ret;
}
 
static readonly string manifesto = "GMap.NET is great and Powerful, Free, cross platform, open source .NET control.";
#endregion
}
 
#if PocketPC
static class Monitor
{
static readonly OpenNETCF.Threading.Monitor2 wait = new OpenNETCF.Threading.Monitor2();
 
public static void Enter(Stack<LoadTask> tileLoadQueue)
{
wait.Enter();
}
 
public static void Exit(Stack<LoadTask> tileLoadQueue)
{
wait.Exit();
}
 
public static void Wait(Stack<LoadTask> tileLoadQueue)
{
wait.Wait();
}
 
public static bool Wait(Stack<LoadTask> tileLoadQueue, int WaitForTileLoadThreadTimeout, bool p)
{
wait.Wait();
return true;
}
 
internal static void PulseAll(Stack<LoadTask> tileLoadQueue)
{
wait.PulseAll();
}
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/Tile.cs
0,0 → 1,147

namespace GMap.NET.Internals
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
 
/// <summary>
/// represent tile
/// </summary>
public struct Tile : IDisposable
{
public static readonly Tile Empty = new Tile();
 
GPoint pos;
int zoom;
PureImage[] overlays;
long OverlaysCount;
 
public readonly bool NotEmpty;
 
public Tile(int zoom, GPoint pos)
{
this.NotEmpty = true;
this.zoom = zoom;
this.pos = pos;
this.overlays = null;
this.OverlaysCount = 0;
}
 
public IEnumerable<PureImage> Overlays
{
get
{
#if PocketPC
for (long i = 0, size = OverlaysCount; i < size; i++)
#else
for (long i = 0, size = Interlocked.Read(ref OverlaysCount); i < size; i++)
#endif
{
yield return overlays[i];
}
}
}
 
internal void AddOverlay(PureImage i)
{
if (overlays == null)
{
overlays = new PureImage[4];
}
#if !PocketPC
overlays[Interlocked.Increment(ref OverlaysCount) - 1] = i;
#else
overlays[++OverlaysCount - 1] = i;
#endif
}
 
internal bool HasAnyOverlays
{
get
{
#if PocketPC
return OverlaysCount > 0;
#else
return Interlocked.Read(ref OverlaysCount) > 0;
#endif
}
}
 
public int Zoom
{
get
{
return zoom;
}
private set
{
zoom = value;
}
}
 
public GPoint Pos
{
get
{
return pos;
}
private set
{
pos = value;
}
}
 
#region IDisposable Members
 
public void Dispose()
{
if (overlays != null)
{
#if PocketPC
for (long i = OverlaysCount - 1; i >= 0; i--)
 
#else
for (long i = Interlocked.Read(ref OverlaysCount) - 1; i >= 0; i--)
#endif
{
#if !PocketPC
Interlocked.Decrement(ref OverlaysCount);
#else
OverlaysCount--;
#endif
overlays[i].Dispose();
overlays[i] = null;
}
overlays = null;
}
}
 
#endregion
 
public static bool operator ==(Tile m1, Tile m2)
{
return m1.pos == m2.pos && m1.zoom == m2.zoom;
}
 
public static bool operator !=(Tile m1, Tile m2)
{
return !(m1 == m2);
}
 
public override bool Equals(object obj)
{
if (!(obj is Tile))
return false;
 
Tile comp = (Tile)obj;
return comp.Zoom == this.Zoom && comp.Pos == this.Pos;
}
 
public override int GetHashCode()
{
return zoom ^ pos.GetHashCode();
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/TileHttpHost.cs
0,0 → 1,157
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Diagnostics;
using System.IO;
using GMap.NET.MapProviders;
 
namespace GMap.NET.Internals
{
internal class TileHttpHost
{
volatile bool listen = false;
TcpListener server;
int port;
 
readonly byte[] responseHeaderBytes;
 
public TileHttpHost()
{
string response = "HTTP/1.0 200 OK\r\nContent-Type: image\r\nConnection: close\r\n\r\n";
responseHeaderBytes = Encoding.ASCII.GetBytes(response);
}
 
public void Stop()
{
if (listen)
{
listen = false;
if (server != null)
{
server.Stop();
}
}
}
 
public void Start(int port)
{
if (server == null)
{
this.port = port;
server = new TcpListener(IPAddress.Any, port);
}
else
{
if (this.port != port)
{
Stop();
this.port = port;
server = null;
server = new TcpListener(IPAddress.Any, port);
}
else
{
if (listen)
{
return;
}
}
}
 
server.Start();
listen = true;
 
Thread t = new Thread(() =>
{
Debug.WriteLine("TileHttpHost: " + server.LocalEndpoint);
 
while (listen)
{
try
{
if (!server.Pending())
{
Thread.Sleep(111);
}
else
{
ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessRequest), server.AcceptTcpClient());
}
}
catch (Exception ex)
{
Debug.WriteLine("TileHttpHost: " + ex);
}
}
 
Debug.WriteLine("TileHttpHost: stoped");
});
 
t.Name = "TileHost";
t.IsBackground = true;
t.Start();
}
 
void ProcessRequest(object p)
{
try
{
using(TcpClient c = p as TcpClient)
{
using(var s = c.GetStream())
{
using(StreamReader r = new StreamReader(s, Encoding.UTF8))
{
var request = r.ReadLine();
 
if(!string.IsNullOrEmpty(request) && request.StartsWith("GET"))
{
//Debug.WriteLine("TileHttpHost: " + request);
 
// http://localhost:88/88888/5/15/11
// GET /8888888888/5/15/11 HTTP/1.1
 
var rq = request.Split(' ');
if(rq.Length >= 2)
{
var ids = rq[1].Split(new char[]{'/'}, StringSplitOptions.RemoveEmptyEntries);
if(ids.Length == 4)
{
int dbId = int.Parse(ids[0]);
int zoom = int.Parse(ids[1]);
int x = int.Parse(ids[2]);
int y = int.Parse(ids[3]);
 
var pr = GMapProviders.TryGetProvider(dbId);
if(pr != null)
{
Exception ex;
var img = GMaps.Instance.GetImageFrom(pr, new GPoint(x, y), zoom, out ex);
if (img != null)
{
using (img)
{
s.Write(responseHeaderBytes, 0, responseHeaderBytes.Length);
img.Data.WriteTo(s);
}
}
}
}
}
}
}
}
c.Close();
}
}
catch (Exception ex)
{
Debug.WriteLine("TileHttpHost, ProcessRequest: " + ex);
}
//Debug.WriteLine("disconnected");
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Internals/TileMatrix.cs
0,0 → 1,246

namespace GMap.NET.Internals
{
using System.Collections.Generic;
using System.Threading;
using System.Diagnostics;
using System;
 
/// <summary>
/// matrix for tiles
/// </summary>
internal class TileMatrix : IDisposable
{
List<Dictionary<GPoint, Tile>> Levels = new List<Dictionary<GPoint, Tile>>(33);
FastReaderWriterLock Lock = new FastReaderWriterLock();
 
public TileMatrix()
{
for(int i = 0; i < Levels.Capacity; i++)
{
Levels.Add(new Dictionary<GPoint, Tile>(55, new GPointComparer()));
}
}
 
public void ClearAllLevels()
{
Lock.AcquireWriterLock();
try
{
foreach(var matrix in Levels)
{
foreach(var t in matrix)
{
t.Value.Dispose();
}
matrix.Clear();
}
}
finally
{
Lock.ReleaseWriterLock();
}
}
 
public void ClearLevel(int zoom)
{
Lock.AcquireWriterLock();
try
{
if(zoom < Levels.Count)
{
var l = Levels[zoom];
 
foreach(var t in l)
{
t.Value.Dispose();
}
 
l.Clear();
}
}
finally
{
Lock.ReleaseWriterLock();
}
}
 
List<KeyValuePair<GPoint, Tile>> tmp = new List<KeyValuePair<GPoint, Tile>>(44);
 
public void ClearLevelAndPointsNotIn(int zoom, List<DrawTile> list)
{
Lock.AcquireWriterLock();
try
{
if(zoom < Levels.Count)
{
var l = Levels[zoom];
 
tmp.Clear();
 
foreach(var t in l)
{
if(!list.Exists(p => p.PosXY == t.Key))
{
tmp.Add(t);
}
}
 
foreach(var r in tmp)
{
l.Remove(r.Key);
r.Value.Dispose();
}
 
tmp.Clear();
}
}
finally
{
Lock.ReleaseWriterLock();
}
}
 
public void ClearLevelsBelove(int zoom)
{
Lock.AcquireWriterLock();
try
{
if(zoom - 1 < Levels.Count)
{
for(int i = zoom - 1; i >= 0; i--)
{
var l = Levels[i];
 
foreach(var t in l)
{
t.Value.Dispose();
}
 
l.Clear();
}
}
}
finally
{
Lock.ReleaseWriterLock();
}
}
 
public void ClearLevelsAbove(int zoom)
{
Lock.AcquireWriterLock();
try
{
if(zoom + 1 < Levels.Count)
{
for(int i = zoom + 1; i < Levels.Count; i++)
{
var l = Levels[i];
 
foreach(var t in l)
{
t.Value.Dispose();
}
 
l.Clear();
}
}
}
finally
{
Lock.ReleaseWriterLock();
}
}
 
public void EnterReadLock()
{
Lock.AcquireReaderLock();
}
 
public void LeaveReadLock()
{
Lock.ReleaseReaderLock();
}
 
public Tile GetTileWithNoLock(int zoom, GPoint p)
{
Tile ret = Tile.Empty;
 
//if(zoom < Levels.Count)
{
Levels[zoom].TryGetValue(p, out ret);
}
 
return ret;
}
 
public Tile GetTileWithReadLock(int zoom, GPoint p)
{
Tile ret = Tile.Empty;
 
Lock.AcquireReaderLock();
try
{
ret = GetTileWithNoLock(zoom, p);
}
finally
{
Lock.ReleaseReaderLock();
}
 
return ret;
}
 
public void SetTile(Tile t)
{
Lock.AcquireWriterLock();
try
{
if(t.Zoom < Levels.Count)
{
Levels[t.Zoom][t.Pos] = t;
}
}
finally
{
Lock.ReleaseWriterLock();
}
}
 
#region IDisposable Members
 
~TileMatrix()
{
Dispose(false);
}
 
void Dispose(bool disposing)
{
if(Lock != null)
{
if(disposing)
{
ClearAllLevels();
}
 
Levels.Clear();
Levels = null;
 
tmp.Clear();
tmp = null;
 
Lock.Dispose();
Lock = null;
}
}
 
public void Dispose()
{
this.Dispose(true);
GC.SuppressFinalize(this);
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider.cs
0,0 → 1,86

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
/// <summary>
/// ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_Map provider,
/// http://www.darb.ae/ArcGIS/rest/services/BaseMaps/Q2_2011_NAVTQ_Eng_V5/MapServer
/// </summary>
public class ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider : GMapProvider
{
public static readonly ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider Instance;
 
ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider()
{
MaxZoom = 12;
Area = RectLatLng.FromLTRB(49.8846923723311, 28.0188609585523, 58.2247031977662, 21.154115956732);
Copyright = string.Format("©{0} ESRI - Map data ©{0} ArcGIS", DateTime.Today.Year);
}
 
static ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider()
{
Instance = new ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("E03CFEDF-9277-49B3-9912-D805347F934B");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider";
public override string Name
{
get
{
return name;
}
}
 
public override PureProjection Projection
{
get
{
return PlateCarreeProjectionDarbAe.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom)
{
// http://www.darb.ae/ArcGIS/rest/services/BaseMaps/Q2_2011_NAVTQ_Eng_V5/MapServer/tile/0/121/144
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://www.darb.ae/ArcGIS/rest/services/BaseMaps/Q2_2011_NAVTQ_Eng_V5/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_Imagery_World_2D_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_Imagery_World_2D_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_Imagery_World_2D_MapProvider : ArcGISMapPlateCarreeProviderBase
{
public static readonly ArcGIS_Imagery_World_2D_MapProvider Instance;
 
ArcGIS_Imagery_World_2D_MapProvider()
{
}
 
static ArcGIS_Imagery_World_2D_MapProvider()
{
Instance = new ArcGIS_Imagery_World_2D_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("FF7ADDAD-F155-41DB-BC42-CC6FD97C8B9D");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_Imagery_World_2D_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/tile/1/0/1.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_ShadedRelief_World_2D_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_ShadedRelief_World_2D_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_ShadedRelief_World_2D_MapProvider : ArcGISMapPlateCarreeProviderBase
{
public static readonly ArcGIS_ShadedRelief_World_2D_MapProvider Instance;
 
ArcGIS_ShadedRelief_World_2D_MapProvider()
{
}
 
static ArcGIS_ShadedRelief_World_2D_MapProvider()
{
Instance = new ArcGIS_ShadedRelief_World_2D_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("A8995FA4-D9D8-415B-87D0-51A7E53A90D4");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_ShadedRelief_World_2D_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_ShadedRelief_World_2D/MapServer/tile/1/0/1.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_ShadedRelief_World_2D/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_StreetMap_World_2D_MapProvider.cs
0,0 → 1,166

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class ArcGISMapPlateCarreeProviderBase : GMapProvider
{
public ArcGISMapPlateCarreeProviderBase()
{
Copyright = string.Format("©{0} ESRI - Map data ©{0} ArcGIS", DateTime.Today.Year);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return PlateCarreeProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
}
 
public abstract class ArcGISMapMercatorProviderBase : GMapProvider
{
public ArcGISMapMercatorProviderBase()
{
MaxZoom = null;
Copyright = string.Format("©{0} ESRI - Map data ©{0} ArcGIS", DateTime.Today.Year);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
}
 
/// <summary>
/// ArcGIS_StreetMap_World_2D_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_StreetMap_World_2D_MapProvider : ArcGISMapPlateCarreeProviderBase
{
public static readonly ArcGIS_StreetMap_World_2D_MapProvider Instance;
 
ArcGIS_StreetMap_World_2D_MapProvider()
{
}
 
static ArcGIS_StreetMap_World_2D_MapProvider()
{
Instance = new ArcGIS_StreetMap_World_2D_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("00BF56D4-4B48-4939-9B11-575BBBE4A718");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_StreetMap_World_2D_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/tile/0/0/0.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_Topo_US_2D_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_Topo_US_2D_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_Topo_US_2D_MapProvider : ArcGISMapPlateCarreeProviderBase
{
public static readonly ArcGIS_Topo_US_2D_MapProvider Instance;
 
ArcGIS_Topo_US_2D_MapProvider()
{
}
 
static ArcGIS_Topo_US_2D_MapProvider()
{
Instance = new ArcGIS_Topo_US_2D_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("7652CC72-5C92-40F5-B572-B8FEAA728F6D");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_Topo_US_2D_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer/tile/4/3/15
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Physical_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_World_Physical_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_World_Physical_MapProvider : ArcGISMapMercatorProviderBase
{
public static readonly ArcGIS_World_Physical_MapProvider Instance;
 
ArcGIS_World_Physical_MapProvider()
{
}
 
static ArcGIS_World_Physical_MapProvider()
{
Instance = new ArcGIS_World_Physical_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("0C0E73E3-5EA6-4F08-901C-AE85BCB1BFC8");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_World_Physical_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer/tile/2/0/2.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Shaded_Relief_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_World_Shaded_Relief_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_World_Shaded_Relief_MapProvider : ArcGISMapMercatorProviderBase
{
public static readonly ArcGIS_World_Shaded_Relief_MapProvider Instance;
 
ArcGIS_World_Shaded_Relief_MapProvider()
{
}
 
static ArcGIS_World_Shaded_Relief_MapProvider()
{
Instance = new ArcGIS_World_Shaded_Relief_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("2E821FEF-8EA1-458A-BC82-4F699F4DEE79");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_World_Shaded_Relief_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://services.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/0/0/0jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Street_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_World_Street_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_World_Street_MapProvider : ArcGISMapMercatorProviderBase
{
public static readonly ArcGIS_World_Street_MapProvider Instance;
 
ArcGIS_World_Street_MapProvider()
{
}
 
static ArcGIS_World_Street_MapProvider()
{
Instance = new ArcGIS_World_Street_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("E1FACDF6-E535-4D69-A49F-12B623A467A9");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_World_Street_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/0/0/0jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Terrain_Base_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_World_Terrain_Base_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_World_Terrain_Base_MapProvider : ArcGISMapMercatorProviderBase
{
public static readonly ArcGIS_World_Terrain_Base_MapProvider Instance;
 
ArcGIS_World_Terrain_Base_MapProvider()
{
}
 
static ArcGIS_World_Terrain_Base_MapProvider()
{
Instance = new ArcGIS_World_Terrain_Base_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("927F175B-5200-4D95-A99B-1C87C93099DA");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_World_Terrain_Base_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/0/0/0jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/ArcGIS/ArcGIS_World_Topo_MapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// ArcGIS_World_Topo_Map provider, http://server.arcgisonline.com
/// </summary>
public class ArcGIS_World_Topo_MapProvider : ArcGISMapMercatorProviderBase
{
public static readonly ArcGIS_World_Topo_MapProvider Instance;
 
ArcGIS_World_Topo_MapProvider()
{
}
 
static ArcGIS_World_Topo_MapProvider()
{
Instance = new ArcGIS_World_Topo_MapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("E0354A49-7447-4C9A-814F-A68565ED834B");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "ArcGIS_World_Topo_Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/0/0/0jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{0}/{1}/{2}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Bing/BingHybridMapProvider.cs
0,0 → 1,85

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// BingHybridMap provider
/// </summary>
public class BingHybridMapProvider : BingMapProviderBase
{
public static readonly BingHybridMapProvider Instance;
 
BingHybridMapProvider()
{
}
 
static BingHybridMapProvider()
{
Instance = new BingHybridMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("94E2FCB4-CAAC-45EA-A1F9-8147C4B14970");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "BingHybridMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
public override void OnInitialized()
{
base.OnInitialized();
 
if(!DisableDynamicTileUrlFormat)
{
//UrlFormat[AerialWithLabels]: http://ecn.{subdomain}.tiles.virtualearth.net/tiles/h{quadkey}.jpeg?g=3179&mkt={culture}
 
UrlDynamicFormat = GetTileUrl("AerialWithLabels");
if(!string.IsNullOrEmpty(UrlDynamicFormat))
{
UrlDynamicFormat = UrlDynamicFormat.Replace("{subdomain}", "t{0}").Replace("{quadkey}", "{1}").Replace("{culture}", "{2}");
}
}
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string key = TileXYToQuadKey(pos.X, pos.Y, zoom);
 
if(!DisableDynamicTileUrlFormat && !string.IsNullOrEmpty(UrlDynamicFormat))
{
return string.Format(UrlDynamicFormat, GetServerNum(pos, 4), key, language);
}
 
return string.Format(UrlFormat, GetServerNum(pos, 4), key, Version, language, ForceSessionIdOnTileAccess ? "&key=" + SessionId : string.Empty);
}
 
string UrlDynamicFormat = string.Empty;
 
// http://ecn.dynamic.t3.tiles.virtualearth.net/comp/CompositionHandler/12030012020203?mkt=en-us&it=A,G,L&n=z
 
static readonly string UrlFormat = "http://ecn.t{0}.tiles.virtualearth.net/tiles/h{1}.jpeg?g={2}&mkt={3}&n=z{4}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Bing/BingMapProvider.cs
0,0 → 1,779

namespace GMap.NET.MapProviders
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Xml;
using GMap.NET.Internals;
using GMap.NET.Projections;
 
public abstract class BingMapProviderBase : GMapProvider, RoutingProvider, GeocodingProvider
{
public BingMapProviderBase()
{
MaxZoom = null;
RefererUrl = "http://www.bing.com/maps/";
Copyright = string.Format("©{0} Microsoft Corporation, ©{0} NAVTEQ, ©{0} Image courtesy of NASA", DateTime.Today.Year);
}
 
public string Version = "4810";
 
/// <summary>
/// Bing Maps Customer Identification.
/// |
/// FOR LEGAL AND COMMERCIAL USAGE SET YOUR OWN REGISTERED KEY
/// |
/// http://msdn.microsoft.com/en-us/library/ff428642.aspx
/// </summary>
public string ClientKey = string.Empty;
 
internal string SessionId = string.Empty;
 
/// <summary>
/// set true to append SessionId on requesting tiles
/// </summary>
public bool ForceSessionIdOnTileAccess = false;
 
/// <summary>
/// set true to avoid using dynamic tile url format
/// </summary>
public bool DisableDynamicTileUrlFormat = false;
 
/// <summary>
/// Converts tile XY coordinates into a QuadKey at a specified level of detail.
/// </summary>
/// <param name="tileX">Tile X coordinate.</param>
/// <param name="tileY">Tile Y coordinate.</param>
/// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)
/// to 23 (highest detail).</param>
/// <returns>A string containing the QuadKey.</returns>
internal string TileXYToQuadKey(long tileX, long tileY, int levelOfDetail)
{
StringBuilder quadKey = new StringBuilder();
for(int i = levelOfDetail; i > 0; i--)
{
char digit = '0';
int mask = 1 << (i - 1);
if((tileX & mask) != 0)
{
digit++;
}
if((tileY & mask) != 0)
{
digit++;
digit++;
}
quadKey.Append(digit);
}
return quadKey.ToString();
}
 
/// <summary>
/// Converts a QuadKey into tile XY coordinates.
/// </summary>
/// <param name="quadKey">QuadKey of the tile.</param>
/// <param name="tileX">Output parameter receiving the tile X coordinate.</param>
/// <param name="tileY">Output parameter receiving the tile Y coordinate.</param>
/// <param name="levelOfDetail">Output parameter receiving the level of detail.</param>
internal void QuadKeyToTileXY(string quadKey, out int tileX, out int tileY, out int levelOfDetail)
{
tileX = tileY = 0;
levelOfDetail = quadKey.Length;
for(int i = levelOfDetail; i > 0; i--)
{
int mask = 1 << (i - 1);
switch(quadKey[levelOfDetail - i])
{
case '0':
break;
 
case '1':
tileX |= mask;
break;
 
case '2':
tileY |= mask;
break;
 
case '3':
tileX |= mask;
tileY |= mask;
break;
 
default:
throw new ArgumentException("Invalid QuadKey digit sequence.");
}
}
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
 
public bool TryCorrectVersion = true;
 
/// <summary>
/// set false to use your own key.
/// FOR LEGAL AND COMMERCIAL USAGE SET YOUR OWN REGISTERED KEY
/// http://msdn.microsoft.com/en-us/library/ff428642.aspx
/// </summary>
public bool TryGetDefaultKey = true;
static bool init = false;
 
public override void OnInitialized()
{
if(!init)
{
try
{
var key = ClientKey;
 
// to avoid registration stuff, default key
if(TryGetDefaultKey && string.IsNullOrEmpty(ClientKey))
{
//old: Vx8dmDflxzT02jJUG8bEjMU07Xr9QWRpPTeRuAZTC1uZFQdDCvK/jUbHKdyHEWj4LvccTPoKofDHtzHsWu/0xuo5u2Y9rj88
key = Stuff.GString("Jq7FrGTyaYqcrvv9ugBKv4OVSKnmzpigqZtdvtcDdgZexmOZ2RugOexFSmVzTAhOWiHrdhFoNCoySnNF3MyyIOo5u2Y9rj88");
}
 
#region -- try get sesion key --
if(!string.IsNullOrEmpty(key))
{
string keyResponse = GMaps.Instance.UseUrlCache ? Cache.Instance.GetContent("BingLoggingServiceV1" + key, CacheType.UrlCache, TimeSpan.FromHours(8)) : string.Empty;
 
if(string.IsNullOrEmpty(keyResponse))
{
// Bing Maps WPF Control
// http://dev.virtualearth.net/webservices/v1/LoggingService/LoggingService.svc/Log?entry=0&auth={0}&fmt=1&type=3&group=MapControl&name=WPF&version=1.0.0.0&session=00000000-0000-0000-0000-000000000000&mkt=en-US
 
keyResponse = GetContentUsingHttp(string.Format("http://dev.virtualearth.net/webservices/v1/LoggingService/LoggingService.svc/Log?entry=0&fmt=1&type=3&group=MapControl&name=AJAX&mkt=en-us&auth={0}&jsonp=microsoftMapsNetworkCallback", key));
 
if(!string.IsNullOrEmpty(keyResponse) && keyResponse.Contains("ValidCredentials"))
{
if(GMaps.Instance.UseUrlCache)
{
Cache.Instance.SaveContent("BingLoggingServiceV1" + key, CacheType.UrlCache, keyResponse);
}
}
}
 
if(!string.IsNullOrEmpty(keyResponse) && keyResponse.Contains("sessionId") && keyResponse.Contains("ValidCredentials"))
{
// microsoftMapsNetworkCallback({"sessionId" : "xxx", "authenticationResultCode" : "ValidCredentials"})
 
SessionId = keyResponse.Split(',')[0].Split(':')[1].Replace("\"", string.Empty).Replace(" ", string.Empty);
Debug.WriteLine("GMapProviders.BingMap.SessionId: " + SessionId);
}
else
{
Debug.WriteLine("BingLoggingServiceV1: " + keyResponse);
}
}
#endregion
 
// supporting old road
if(TryCorrectVersion && DisableDynamicTileUrlFormat)
{
#region -- get the version --
string url = @"http://www.bing.com/maps";
string html = GMaps.Instance.UseUrlCache ? Cache.Instance.GetContent(url, CacheType.UrlCache, TimeSpan.FromDays(7)) : string.Empty;
 
if(string.IsNullOrEmpty(html))
{
html = GetContentUsingHttp(url);
if(!string.IsNullOrEmpty(html))
{
if(GMaps.Instance.UseUrlCache)
{
Cache.Instance.SaveContent(url, CacheType.UrlCache, html);
}
}
}
 
if(!string.IsNullOrEmpty(html))
{
#region -- match versions --
 
Regex reg = new Regex("tilegeneration:(\\d*)", RegexOptions.IgnoreCase);
Match mat = reg.Match(html);
if(mat.Success)
{
GroupCollection gc = mat.Groups;
int count = gc.Count;
if(count == 2)
{
string ver = gc[1].Value;
string old = GMapProviders.BingMap.Version;
if(ver != old)
{
GMapProviders.BingMap.Version = ver;
GMapProviders.BingSatelliteMap.Version = ver;
GMapProviders.BingHybridMap.Version = ver;
#if DEBUG
Debug.WriteLine("GMapProviders.BingMap.Version: " + ver + ", old: " + old + ", consider updating source");
if(Debugger.IsAttached)
{
Thread.Sleep(5555);
}
#endif
}
else
{
Debug.WriteLine("GMapProviders.BingMap.Version: " + ver + ", OK");
}
}
}
#endregion
}
#endregion
}
 
init = true; // try it only once
}
catch(Exception ex)
{
Debug.WriteLine("TryCorrectBingVersions failed: " + ex);
}
}
}
 
protected override bool CheckTileImageHttpResponse(WebResponse response)
{
var pass = base.CheckTileImageHttpResponse(response);
if(pass)
{
var tileInfo = response.Headers.Get("X-VE-Tile-Info");
if(tileInfo != null)
{
return !tileInfo.Equals("no-tile");
}
}
return pass;
}
 
internal string GetTileUrl(string imageryType)
{
//Retrieve map tile URL from the Imagery Metadata service: http://msdn.microsoft.com/en-us/library/ff701716.aspx
//This ensures that the current tile URL is always used.
//This will prevent the app from breaking when the map tiles change.
 
string ret = string.Empty;
if(!string.IsNullOrEmpty(SessionId))
{
try
{
string url = "http://dev.virtualearth.net/REST/V1/Imagery/Metadata/" + imageryType + "?output=xml&key=" + SessionId;
 
string r = GMaps.Instance.UseUrlCache ? Cache.Instance.GetContent("GetTileUrl" + imageryType, CacheType.UrlCache, TimeSpan.FromDays(7)) : string.Empty;
bool cache = false;
 
if(string.IsNullOrEmpty(r))
{
r = GetContentUsingHttp(url);
cache = true;
}
 
if(!string.IsNullOrEmpty(r))
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(r);
 
XmlNode xn = doc["Response"];
string statuscode = xn["StatusCode"].InnerText;
if(string.Compare(statuscode, "200", true) == 0)
{
xn = xn["ResourceSets"]["ResourceSet"]["Resources"];
XmlNodeList xnl = xn.ChildNodes;
foreach(XmlNode xno in xnl)
{
XmlNode imageUrl = xno["ImageUrl"];
 
if(imageUrl != null && !string.IsNullOrEmpty(imageUrl.InnerText))
{
if(cache && GMaps.Instance.UseUrlCache)
{
Cache.Instance.SaveContent("GetTileUrl" + imageryType, CacheType.UrlCache, r);
}
 
var baseTileUrl = imageUrl.InnerText;
 
if(baseTileUrl.Contains("{key}") || baseTileUrl.Contains("{token}"))
{
baseTileUrl.Replace("{key}", SessionId).Replace("{token}", SessionId);
}
else if(ForceSessionIdOnTileAccess)
{
// haven't seen anyone doing that, yet? ;/
baseTileUrl += "&key=" + SessionId;
}
 
Debug.WriteLine("GetTileUrl, UrlFormat[" + imageryType + "]: " + baseTileUrl);
 
ret = baseTileUrl;
break;
}
}
}
}
}
catch(Exception ex)
{
Debug.WriteLine("GetTileUrl: Error getting Bing Maps tile URL - " + ex);
}
}
return ret;
}
 
#region RoutingProvider
 
public MapRoute GetRoute(PointLatLng start, PointLatLng end, bool avoidHighways, bool walkingMode, int Zoom)
{
string tooltip;
int numLevels;
int zoomFactor;
MapRoute ret = null;
List<PointLatLng> points = GetRoutePoints(MakeRouteUrl(start, end, LanguageStr, avoidHighways, walkingMode), Zoom, out tooltip, out numLevels, out zoomFactor);
if(points != null)
{
ret = new MapRoute(points, tooltip);
}
return ret;
}
 
public MapRoute GetRoute(string start, string end, bool avoidHighways, bool walkingMode, int Zoom)
{
string tooltip;
int numLevels;
int zoomFactor;
MapRoute ret = null;
List<PointLatLng> points = GetRoutePoints(MakeRouteUrl(start, end, LanguageStr, avoidHighways, walkingMode), Zoom, out tooltip, out numLevels, out zoomFactor);
if(points != null)
{
ret = new MapRoute(points, tooltip);
}
return ret;
}
 
string MakeRouteUrl(string start, string end, string language, bool avoidHighways, bool walkingMode)
{
string addition = avoidHighways ? "&avoid=highways" : string.Empty;
string mode = walkingMode ? "Walking" : "Driving";
 
return string.Format(CultureInfo.InvariantCulture, RouteUrlFormatPointQueries, mode, start, end, addition, SessionId);
}
 
string MakeRouteUrl(PointLatLng start, PointLatLng end, string language, bool avoidHighways, bool walkingMode)
{
string addition = avoidHighways ? "&avoid=highways" : string.Empty;
string mode = walkingMode ? "Walking" : "Driving";
 
return string.Format(CultureInfo.InvariantCulture, RouteUrlFormatPointLatLng, mode, start.Lat, start.Lng, end.Lat, end.Lng, addition, SessionId);
}
 
List<PointLatLng> GetRoutePoints(string url, int zoom, out string tooltipHtml, out int numLevel, out int zoomFactor)
{
List<PointLatLng> points = null;
tooltipHtml = string.Empty;
numLevel = -1;
zoomFactor = -1;
try
{
string route = GMaps.Instance.UseRouteCache ? Cache.Instance.GetContent(url, CacheType.RouteCache) : string.Empty;
 
if(string.IsNullOrEmpty(route))
{
route = GetContentUsingHttp(url);
 
if(!string.IsNullOrEmpty(route))
{
if(GMaps.Instance.UseRouteCache)
{
Cache.Instance.SaveContent(url, CacheType.RouteCache, route);
}
}
}
 
// parse values
if(!string.IsNullOrEmpty(route))
{
#region -- title --
int tooltipEnd = 0;
{
int x = route.IndexOf("<RoutePath><Line>") + 17;
if(x >= 17)
{
tooltipEnd = route.IndexOf("</Line></RoutePath>", x + 1);
if(tooltipEnd > 0)
{
int l = tooltipEnd - x;
if(l > 0)
{
//tooltipHtml = route.Substring(x, l).Replace(@"\x26#160;", " ");
tooltipHtml = route.Substring(x, l);
}
}
}
}
#endregion
 
#region -- points --
XmlDocument doc = new XmlDocument();
doc.LoadXml(route);
XmlNode xn = doc["Response"];
string statuscode = xn["StatusCode"].InnerText;
switch(statuscode)
{
case "200":
{
xn = xn["ResourceSets"]["ResourceSet"]["Resources"]["Route"]["RoutePath"]["Line"];
XmlNodeList xnl = xn.ChildNodes;
if(xnl.Count > 0)
{
points = new List<PointLatLng>();
foreach(XmlNode xno in xnl)
{
XmlNode latitude = xno["Latitude"];
XmlNode longitude = xno["Longitude"];
points.Add(new PointLatLng(double.Parse(latitude.InnerText, CultureInfo.InvariantCulture),
double.Parse(longitude.InnerText, CultureInfo.InvariantCulture)));
}
}
break;
}
// no status implementation on routes yet although when introduced these are the codes. Exception will be catched.
case "400":
throw new Exception("Bad Request, The request contained an error.");
case "401":
throw new Exception("Unauthorized, Access was denied. You may have entered your credentials incorrectly, or you might not have access to the requested resource or operation.");
case "403":
throw new Exception("Forbidden, The request is for something forbidden. Authorization will not help.");
case "404":
throw new Exception("Not Found, The requested resource was not found.");
case "500":
throw new Exception("Internal Server Error, Your request could not be completed because there was a problem with the service.");
case "501":
throw new Exception("Service Unavailable, There's a problem with the service right now. Please try again later.");
default:
points = null;
break; // unknown, for possible future error codes
}
#endregion
}
}
catch(Exception ex)
{
points = null;
Debug.WriteLine("GetRoutePoints: " + ex);
}
return points;
}
 
// example : http://dev.virtualearth.net/REST/V1/Routes/Driving?o=xml&wp.0=44.979035,-93.26493&wp.1=44.943828508257866,-93.09332862496376&optmz=distance&rpo=Points&key=[PROVIDEYOUROWNKEY!!]
static readonly string RouteUrlFormatPointLatLng = "http://dev.virtualearth.net/REST/V1/Routes/{0}?o=xml&wp.0={1},{2}&wp.1={3},{4}{5}&optmz=distance&rpo=Points&key={6}";
static readonly string RouteUrlFormatPointQueries = "http://dev.virtualearth.net/REST/V1/Routes/{0}?o=xml&wp.0={1}&wp.1={2}{3}&optmz=distance&rpo=Points&key={4}";
 
#endregion RoutingProvider
 
#region GeocodingProvider
 
public GeoCoderStatusCode GetPoints(string keywords, out List<PointLatLng> pointList)
{
//Escape keywords to better handle special characters.
return GetLatLngFromGeocoderUrl(MakeGeocoderUrl("q=" + Uri.EscapeDataString(keywords)), out pointList);
}
 
public PointLatLng? GetPoint(string keywords, out GeoCoderStatusCode status)
{
List<PointLatLng> pointList;
status = GetPoints(keywords, out pointList);
return pointList != null && pointList.Count > 0 ? pointList[0] : (PointLatLng?)null;
}
 
public GeoCoderStatusCode GetPoints(Placemark placemark, out List<PointLatLng> pointList)
{
return GetLatLngFromGeocoderUrl(MakeGeocoderDetailedUrl(placemark), out pointList);
}
 
public PointLatLng? GetPoint(Placemark placemark, out GeoCoderStatusCode status)
{
List<PointLatLng> pointList;
status = GetLatLngFromGeocoderUrl(MakeGeocoderDetailedUrl(placemark), out pointList);
return pointList != null && pointList.Count > 0 ? pointList[0] : (PointLatLng?)null;
}
 
string MakeGeocoderDetailedUrl(Placemark placemark)
{
string parameters = string.Empty;
 
if(!AddFieldIfNotEmpty(ref parameters, "countryRegion", placemark.CountryNameCode))
AddFieldIfNotEmpty(ref parameters, "countryRegion", placemark.CountryName);
 
AddFieldIfNotEmpty(ref parameters, "adminDistrict", placemark.DistrictName);
AddFieldIfNotEmpty(ref parameters, "locality", placemark.LocalityName);
AddFieldIfNotEmpty(ref parameters, "postalCode", placemark.PostalCodeNumber);
 
if(!string.IsNullOrEmpty(placemark.HouseNo))
AddFieldIfNotEmpty(ref parameters, "addressLine", placemark.ThoroughfareName + " " + placemark.HouseNo);
else
AddFieldIfNotEmpty(ref parameters, "addressLine", placemark.ThoroughfareName);
 
return MakeGeocoderUrl(parameters);
}
 
bool AddFieldIfNotEmpty(ref string Input, string FieldName, string Value)
{
if(!string.IsNullOrEmpty(Value))
{
if(string.IsNullOrEmpty(Input))
Input = string.Empty;
else
Input = Input + "&";
 
Input = Input + FieldName + "=" + Value;
 
return true;
}
return false;
}
 
public GeoCoderStatusCode GetPlacemarks(PointLatLng location, out List<Placemark> placemarkList)
{
// http://msdn.microsoft.com/en-us/library/ff701713.aspx
throw new NotImplementedException();
}
 
public Placemark? GetPlacemark(PointLatLng location, out GeoCoderStatusCode status)
{
// http://msdn.microsoft.com/en-us/library/ff701713.aspx
throw new NotImplementedException();
}
 
string MakeGeocoderUrl(string keywords)
{
return string.Format(CultureInfo.InvariantCulture, GeocoderUrlFormat, keywords, SessionId);
}
 
GeoCoderStatusCode GetLatLngFromGeocoderUrl(string url, out List<PointLatLng> pointList)
{
var status = GeoCoderStatusCode.Unknow;
pointList = null;
 
try
{
string geo = GMaps.Instance.UseGeocoderCache ? Cache.Instance.GetContent(url, CacheType.GeocoderCache) : string.Empty;
 
bool cache = false;
 
if(string.IsNullOrEmpty(geo))
{
geo = GetContentUsingHttp(url);
 
if(!string.IsNullOrEmpty(geo))
{
cache = true;
}
}
 
status = GeoCoderStatusCode.Unknow;
if(!string.IsNullOrEmpty(geo))
{
if(geo.StartsWith("<?xml") && geo.Contains("<Response"))
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(geo);
XmlNode xn = doc["Response"];
string statuscode = xn["StatusCode"].InnerText;
switch(statuscode)
{
case "200":
{
pointList = new List<PointLatLng>();
xn = xn["ResourceSets"]["ResourceSet"]["Resources"];
XmlNodeList xnl = xn.ChildNodes;
foreach(XmlNode xno in xnl)
{
XmlNode latitude = xno["Point"]["Latitude"];
XmlNode longitude = xno["Point"]["Longitude"];
pointList.Add(new PointLatLng(Double.Parse(latitude.InnerText, CultureInfo.InvariantCulture),
Double.Parse(longitude.InnerText, CultureInfo.InvariantCulture)));
}
 
if(pointList.Count > 0)
{
status = GeoCoderStatusCode.G_GEO_SUCCESS;
if(cache && GMaps.Instance.UseGeocoderCache)
{
Cache.Instance.SaveContent(url, CacheType.GeocoderCache, geo);
}
break;
}
 
status = GeoCoderStatusCode.G_GEO_UNKNOWN_ADDRESS;
break;
}
 
case "400":
status = GeoCoderStatusCode.G_GEO_BAD_REQUEST;
break; // bad request, The request contained an error.
case "401":
status = GeoCoderStatusCode.G_GEO_BAD_KEY;
break; // Unauthorized, Access was denied. You may have entered your credentials incorrectly, or you might not have access to the requested resource or operation.
case "403":
status = GeoCoderStatusCode.G_GEO_BAD_REQUEST;
break; // Forbidden, The request is for something forbidden. Authorization will not help.
case "404":
status = GeoCoderStatusCode.G_GEO_UNKNOWN_ADDRESS;
break; // Not Found, The requested resource was not found.
case "500":
status = GeoCoderStatusCode.G_GEO_SERVER_ERROR;
break; // Internal Server Error, Your request could not be completed because there was a problem with the service.
case "501":
status = GeoCoderStatusCode.Unknow;
break; // Service Unavailable, There's a problem with the service right now. Please try again later.
default:
status = GeoCoderStatusCode.Unknow;
break; // unknown, for possible future error codes
}
}
}
}
catch(Exception ex)
{
status = GeoCoderStatusCode.ExceptionInCode;
Debug.WriteLine("GetLatLngFromGeocoderUrl: " + ex);
}
 
return status;
}
 
// http://dev.virtualearth.net/REST/v1/Locations/1%20Microsoft%20Way%20Redmond%20WA%2098052?o=xml&key=BingMapsKey
static readonly string GeocoderUrlFormat = "http://dev.virtualearth.net/REST/v1/Locations?{0}&o=xml&key={1}";
 
#endregion GeocodingProvider
}
 
/// <summary>
/// BingMapProvider provider
/// </summary>
public class BingMapProvider : BingMapProviderBase
{
public static readonly BingMapProvider Instance;
 
BingMapProvider()
{
}
 
static BingMapProvider()
{
Instance = new BingMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("D0CEB371-F10A-4E12-A2C1-DF617D6674A8");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "BingMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
public override void OnInitialized()
{
base.OnInitialized();
 
if(!DisableDynamicTileUrlFormat)
{
//UrlFormat[Road]: http://ecn.{subdomain}.tiles.virtualearth.net/tiles/r{quadkey}.jpeg?g=3179&mkt={culture}&shading=hill
 
UrlDynamicFormat = GetTileUrl("Road");
if(!string.IsNullOrEmpty(UrlDynamicFormat))
{
UrlDynamicFormat = UrlDynamicFormat.Replace("{subdomain}", "t{0}").Replace("{quadkey}", "{1}").Replace("{culture}", "{2}");
}
}
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string key = TileXYToQuadKey(pos.X, pos.Y, zoom);
 
if(!DisableDynamicTileUrlFormat && !string.IsNullOrEmpty(UrlDynamicFormat))
{
return string.Format(UrlDynamicFormat, GetServerNum(pos, 4), key, language);
}
 
return string.Format(UrlFormat, GetServerNum(pos, 4), key, Version, language, ForceSessionIdOnTileAccess ? "&key=" + SessionId : string.Empty);
}
 
string UrlDynamicFormat = string.Empty;
 
// http://ecn.t0.tiles.virtualearth.net/tiles/r120030?g=875&mkt=en-us&lbl=l1&stl=h&shading=hill&n=z
 
static readonly string UrlFormat = "http://ecn.t{0}.tiles.virtualearth.net/tiles/r{1}?g={2}&mkt={3}&lbl=l1&stl=h&shading=hill&n=z{4}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Bing/BingSatelliteMapProvider.cs
0,0 → 1,85

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// BingSatelliteMapProvider provider
/// </summary>
public class BingSatelliteMapProvider : BingMapProviderBase
{
public static readonly BingSatelliteMapProvider Instance;
 
BingSatelliteMapProvider()
{
}
 
static BingSatelliteMapProvider()
{
Instance = new BingSatelliteMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("3AC742DD-966B-4CFB-B67D-33E7F82F2D37");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "BingSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
public override void OnInitialized()
{
base.OnInitialized();
 
if(!DisableDynamicTileUrlFormat)
{
//UrlFormat[Aerial]: http://ecn.{subdomain}.tiles.virtualearth.net/tiles/a{quadkey}.jpeg?g=3179
 
UrlDynamicFormat = GetTileUrl("Aerial");
if(!string.IsNullOrEmpty(UrlDynamicFormat))
{
UrlDynamicFormat = UrlDynamicFormat.Replace("{subdomain}", "t{0}").Replace("{quadkey}", "{1}");
}
}
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string key = TileXYToQuadKey(pos.X, pos.Y, zoom);
 
if(!DisableDynamicTileUrlFormat && !string.IsNullOrEmpty(UrlDynamicFormat))
{
return string.Format(UrlDynamicFormat, GetServerNum(pos, 4), key);
}
 
return string.Format(UrlFormat, GetServerNum(pos, 4), key, Version, language, ForceSessionIdOnTileAccess ? "&key=" + SessionId : string.Empty);
}
 
string UrlDynamicFormat = string.Empty;
 
// http://ecn.t1.tiles.virtualearth.net/tiles/a12030003131321231.jpeg?g=875&mkt=en-us&n=z
 
static readonly string UrlFormat = "http://ecn.t{0}.tiles.virtualearth.net/tiles/a{1}.jpeg?g={2}&mkt={3}&n=z{4}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechGeographicMapProvider.cs
0,0 → 1,59
namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechTuristMap provider, http://www.mapy.cz/
/// </summary>
public class CzechGeographicMapProvider : CzechMapProviderBase
{
public static readonly CzechGeographicMapProvider Instance;
 
CzechGeographicMapProvider()
{
}
 
static CzechGeographicMapProvider()
{
Instance = new CzechGeographicMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("50EC9FCC-E4D7-4F53-8700-2D1DB73A1D48");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechGeographicMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m3.mapserver.mapy.czzemepis-m/14-8802-5528
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/zemepis-m/{1}-{2}-{3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechHistoryMapProvider.cs
0,0 → 1,74

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechHistoryMap provider, http://www.mapy.cz/
/// </summary>
public class CzechHistoryMapProvider : CzechMapProviderBase
{
public static readonly CzechHistoryMapProvider Instance;
 
CzechHistoryMapProvider()
{
MaxZoom = 15;
}
 
static CzechHistoryMapProvider()
{
Instance = new CzechHistoryMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("CD44C19D-5EED-4623-B367-FB39FDC55B8F");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechHistoryMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this, CzechHybridMapProvider.Instance };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m3.mapserver.mapy.cz/army2-m/14-8802-5528
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/army2-m/{1}-{2}-{3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechHybridMapProvider.cs
0,0 → 1,73

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechHybridMap provider, http://www.mapy.cz/
/// </summary>
public class CzechHybridMapProvider : CzechMapProviderBase
{
public static readonly CzechHybridMapProvider Instance;
 
CzechHybridMapProvider()
{
}
 
static CzechHybridMapProvider()
{
Instance = new CzechHybridMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("7540CE5B-F634-41E9-B23E-A6E0A97526FD");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { CzechSatelliteMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m3.mapserver.mapy.cz/hybrid-m/14-8802-5528
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/hybrid-m/{1}-{2}-{3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechMapProvider.cs
0,0 → 1,115

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class CzechMapProviderBase : GMapProvider
{
public CzechMapProviderBase()
{
RefererUrl = "http://www.mapy.cz/";
Area = new RectLatLng(51.2024819920053, 11.8401353319027, 7.22833716731277, 2.78312271922872);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
}
 
/// <summary>
/// CzechMap provider, http://www.mapy.cz/
/// </summary>
public class CzechMapProvider : CzechMapProviderBase
{
public static readonly CzechMapProvider Instance;
 
CzechMapProvider()
{
}
 
static CzechMapProvider()
{
Instance = new CzechMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("13AB92EF-8C3B-4FAC-B2CD-2594C05F8BFC");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// ['base-m','ophoto-m','turist-m','army2-m']
// http://m3.mapserver.mapy.cz/base-m/14-8802-5528
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/base-m/{1}-{2}-{3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechSatelliteMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechSatelliteMap provider, http://www.mapy.cz/
/// </summary>
public class CzechSatelliteMapProvider : CzechMapProviderBase
{
public static readonly CzechSatelliteMapProvider Instance;
 
CzechSatelliteMapProvider()
{
}
 
static CzechSatelliteMapProvider()
{
Instance = new CzechSatelliteMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("30F433DB-BBF5-463D-9AB5-76383483B605");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m3.mapserver.mapy.cz/ophoto-m/14-8802-5528
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/ophoto-m/{1}-{2}-{3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechTuristMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechTuristMap provider, http://www.mapy.cz/
/// </summary>
public class CzechTuristMapProvider : CzechMapProviderBase
{
public static readonly CzechTuristMapProvider Instance;
 
CzechTuristMapProvider()
{
}
 
static CzechTuristMapProvider()
{
Instance = new CzechTuristMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("102A54BE-3894-439B-9C1F-CA6FF2EA1FE9");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechTuristMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m3.mapserver.mapy.cz/wtourist-m/14-8802-5528
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/wturist-m/{1}-{2}-{3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Czech/CzechTuristWinterMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechTuristMap provider, http://www.mapy.cz/
/// </summary>
public class CzechTuristWinterMapProvider : CzechMapProviderBase
{
public static readonly CzechTuristWinterMapProvider Instance;
 
CzechTuristWinterMapProvider()
{
}
 
static CzechTuristWinterMapProvider()
{
Instance = new CzechTuristWinterMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("F7B7FC9E-BDC2-4A9D-A1D3-A6BEC8FE0EB2");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechTuristWinterMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m3.mapserver.mapy.cz/wturist_winter-m/14-8802-5528
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/wturist_winter-m/{1}-{2}-{3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechHistoryMapProvider.cs
0,0 → 1,76

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechHistoryMap provider, http://www.mapy.cz/
/// </summary>
public class CzechHistoryMapProviderOld : CzechMapProviderBaseOld
{
public static readonly CzechHistoryMapProviderOld Instance;
 
CzechHistoryMapProviderOld()
{
}
 
static CzechHistoryMapProviderOld()
{
Instance = new CzechHistoryMapProviderOld();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("C666AAF4-9D27-418F-97CB-7F0D8CC44544");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechHistoryOldMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this, CzechHybridMapProviderOld.Instance };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m4.mapserver.mapy.cz/army2/9_7d00000_8080000
 
long xx = pos.X << (28 - zoom);
long yy = ((((long)Math.Pow(2.0, (double)zoom)) - 1) - pos.Y) << (28 - zoom);
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, xx, yy);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/army2/{1}_{2:x7}_{3:x7}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechHybridMapProvider.cs
0,0 → 1,76

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechHybridMap provider, http://www.mapy.cz/
/// </summary>
public class CzechHybridMapProviderOld : CzechMapProviderBaseOld
{
public static readonly CzechHybridMapProviderOld Instance;
 
CzechHybridMapProviderOld()
{
}
 
static CzechHybridMapProviderOld()
{
Instance = new CzechHybridMapProviderOld();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("F785D98E-DD1D-46FD-8BC1-1AAB69604980");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechHybridOldMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { CzechSatelliteMapProviderOld.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m2.mapserver.mapy.cz/hybrid/9_7d00000_7b80000
 
long xx = pos.X << (28 - zoom);
long yy = ((((long)Math.Pow(2.0, (double)zoom)) - 1) - pos.Y) << (28 - zoom);
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, xx, yy);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/hybrid/{1}_{2:x7}_{3:x7}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechMapProvider.cs
0,0 → 1,118

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class CzechMapProviderBaseOld : GMapProvider
{
public CzechMapProviderBaseOld()
{
RefererUrl = "http://www.mapy.cz/";
Area = new RectLatLng(51.2024819920053, 11.8401353319027, 7.22833716731277, 2.78312271922872);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MapyCZProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
}
 
/// <summary>
/// CzechMap provider, http://www.mapy.cz/
/// </summary>
public class CzechMapProviderOld : CzechMapProviderBaseOld
{
public static readonly CzechMapProviderOld Instance;
 
CzechMapProviderOld()
{
}
 
static CzechMapProviderOld()
{
Instance = new CzechMapProviderOld();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("6A1AF99A-84C6-4EF6-91A5-77B9D03257C2");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechOldMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// ['base','ophoto','turist','army2']
// http://m1.mapserver.mapy.cz/base-n/3_8000000_8000000
 
long xx = pos.X << (28 - zoom);
long yy = ((((long)Math.Pow(2.0, (double)zoom)) - 1) - pos.Y) << (28 - zoom);
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, xx, yy);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/base-n/{1}_{2:x7}_{3:x7}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechSatelliteMapProvider.cs
0,0 → 1,63

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechSatelliteMap provider, http://www.mapy.cz/
/// </summary>
public class CzechSatelliteMapProviderOld : CzechMapProviderBaseOld
{
public static readonly CzechSatelliteMapProviderOld Instance;
 
CzechSatelliteMapProviderOld()
{
}
 
static CzechSatelliteMapProviderOld()
{
Instance = new CzechSatelliteMapProviderOld();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("7846D655-5F9C-4042-8652-60B6BF629C3C");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechSatelliteOldMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
//http://m3.mapserver.mapy.cz/ophoto/9_7a80000_7a80000
 
long xx = pos.X << (28 - zoom);
long yy = ((((long)Math.Pow(2.0, (double)zoom)) - 1) - pos.Y) << (28 - zoom);
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, xx, yy);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/ophoto/{1}_{2:x7}_{3:x7}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/CzechOld/CzechTuristMapProvider.cs
0,0 → 1,63

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// CzechTuristMap provider, http://www.mapy.cz/
/// </summary>
public class CzechTuristMapProviderOld : CzechMapProviderBaseOld
{
public static readonly CzechTuristMapProviderOld Instance;
 
CzechTuristMapProviderOld()
{
}
 
static CzechTuristMapProviderOld()
{
Instance = new CzechTuristMapProviderOld();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("B923C81D-880C-42EB-88AB-AF8FE42B564D");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CzechTuristOldMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://m1.mapserver.mapy.cz/turist/3_8000000_8000000
 
long xx = pos.X << (28 - zoom);
long yy = ((((long)Math.Pow(2.0, (double)zoom)) - 1) - pos.Y) << (28 - zoom);
 
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, xx, yy);
}
 
static readonly string UrlFormat = "http://m{0}.mapserver.mapy.cz/turist/{1}_{2:x7}_{3:x7}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Etc/CloudMadeMapProvider.cs
0,0 → 1,561

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
using System.Globalization;
using GMap.NET.Internals;
using System.Collections.Generic;
using System.Xml;
using System.Diagnostics;
 
public abstract class CloudMadeMapProviderBase : GMapProvider, RoutingProvider, DirectionsProvider
{
public readonly string ServerLetters = "abc";
public readonly string DoubleResolutionString = "@2x";
 
public bool DoubleResolution = true;
public string Key;
public int StyleID;
 
public string Version = "0.3";
 
public CloudMadeMapProviderBase()
{
MaxZoom = null;
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
 
#region RoutingProvider Members
 
public MapRoute GetRoute(PointLatLng start, PointLatLng end, bool avoidHighways, bool walkingMode, int Zoom)
{
List<PointLatLng> points = GetRoutePoints(MakeRoutingUrl(start, end, walkingMode ? TravelTypeFoot : TravelTypeMotorCar, LanguageStr, "km"));
MapRoute route = points != null ? new MapRoute(points, walkingMode ? WalkingStr : DrivingStr) : null;
return route;
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="walkingMode"></param>
/// <param name="Zoom"></param>
/// <returns></returns>
public MapRoute GetRoute(string start, string end, bool avoidHighways, bool walkingMode, int Zoom)
{
throw new NotImplementedException();
}
 
#region -- internals --
 
string MakeRoutingUrl(PointLatLng start, PointLatLng end, string travelType, string language, string units)
{
// http://developers.cloudmade.com/projects/routing-http-api/examples/
// http://routes.cloudmade.com/YOUR-API-KEY-GOES-HERE/api/0.3/start_point,[[transit_point1,...,transit_pointN]],end_point/route_type[/route_type_modifier].output_format[?lang=(en|de)][&units=(km|miles)]
return string.Format(CultureInfo.InvariantCulture, UrlFormat, Key, Version, start.Lat, start.Lng, end.Lat, end.Lng, travelType, language, units);
}
 
List<PointLatLng> GetRoutePoints(string url)
{
List<PointLatLng> points = null;
try
{
string route = GMaps.Instance.UseRouteCache ? Cache.Instance.GetContent(url, CacheType.RouteCache) : string.Empty;
if(string.IsNullOrEmpty(route))
{
route = GetContentUsingHttp(url);
if(!string.IsNullOrEmpty(route))
{
if(GMaps.Instance.UseRouteCache)
{
Cache.Instance.SaveContent(url, CacheType.RouteCache, route);
}
}
}
 
#region -- gpx response --
//<?xml version="1.0" encoding="UTF-8"?>
//<gpx creator="" version="1.1" xmlns="http://www.topografix.com/GPX/1/1"
// xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
// xsi:schemaLocation="http://www.topografix.com/GPX/1/1 gpx.xsd ">
// <extensions>
// <distance>293</distance>
// <time>34</time>
// <start>Perckhoevelaan</start>
// <end>Goudenregenlaan</end>
// </extensions>
// <wpt lat="51.17702" lon="4.39630" />
// <wpt lat="51.17656" lon="4.39655" />
// <wpt lat="51.17639" lon="4.39670" />
// <wpt lat="51.17612" lon="4.39696" />
// <wpt lat="51.17640" lon="4.39767" />
// <wpt lat="51.17668" lon="4.39828" />
// <wpt lat="51.17628" lon="4.39874" />
// <wpt lat="51.17618" lon="4.39888" />
// <rte>
// <rtept lat="51.17702" lon="4.39630">
// <desc>Head south on Perckhoevelaan, 0.1 km</desc>
// <extensions>
// <distance>111</distance>
// <time>13</time>
// <offset>0</offset>
// <distance-text>0.1 km</distance-text>
// <direction>S</direction>
// <azimuth>160.6</azimuth>
// </extensions>
// </rtept>
// <rtept lat="51.17612" lon="4.39696">
// <desc>Turn left at Laarstraat, 0.1 km</desc>
// <extensions>
// <distance>112</distance>
// <time>13</time>
// <offset>3</offset>
// <distance-text>0.1 km</distance-text>
// <direction>NE</direction>
// <azimuth>58.1</azimuth>
// <turn>TL</turn>
// <turn-angle>269.0</turn-angle>
// </extensions>
// </rtept>
// <rtept lat="51.17668" lon="4.39828">
// <desc>Turn right at Goudenregenlaan, 70 m</desc>
// <extensions>
// <distance>70</distance>
// <time>8</time>
// <offset>5</offset>
// <distance-text>70 m</distance-text>
// <direction>SE</direction>
// <azimuth>143.4</azimuth>
// <turn>TR</turn>
// <turn-angle>89.8</turn-angle>
// </extensions>
// </rtept>
// </rte>
//</gpx>
#endregion
 
if(!string.IsNullOrEmpty(route))
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(route);
System.Xml.XmlNamespaceManager xmlnsManager = new System.Xml.XmlNamespaceManager(xmldoc.NameTable);
xmlnsManager.AddNamespace("sm", "http://www.topografix.com/GPX/1/1");
 
XmlNodeList wpts = xmldoc.SelectNodes("/sm:gpx/sm:wpt", xmlnsManager);
if(wpts != null && wpts.Count > 0)
{
points = new List<PointLatLng>();
foreach(XmlNode w in wpts)
{
double lat = double.Parse(w.Attributes["lat"].InnerText, CultureInfo.InvariantCulture);
double lng = double.Parse(w.Attributes["lon"].InnerText, CultureInfo.InvariantCulture);
points.Add(new PointLatLng(lat, lng));
}
}
}
}
catch(Exception ex)
{
Debug.WriteLine("GetRoutePoints: " + ex);
}
 
return points;
}
 
static readonly string UrlFormat = "http://routes.cloudmade.com/{0}/api/{1}/{2},{3},{4},{5}/{6}.gpx?lang={7}&units={8}";
static readonly string TravelTypeFoot = "foot";
static readonly string TravelTypeMotorCar = "car";
static readonly string WalkingStr = "Walking";
static readonly string DrivingStr = "Driving";
 
#endregion
 
#endregion
 
#region DirectionsProvider Members
 
public DirectionsStatusCode GetDirections(out GDirections direction, PointLatLng start, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
return GetDirectionsUrl(MakeRoutingUrl(start, end, walkingMode ? TravelTypeFoot : TravelTypeMotorCar, LanguageStr, metric ? "km" : "miles"), out direction);
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="direction"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
public DirectionsStatusCode GetDirections(out GDirections direction, string start, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
throw new NotImplementedException();
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="status"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
public IEnumerable<GDirections> GetDirections(out DirectionsStatusCode status, string start, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
throw new NotImplementedException();
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="status"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
public IEnumerable<GDirections> GetDirections(out DirectionsStatusCode status, PointLatLng start, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
throw new NotImplementedException();
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="direction"></param>
/// <param name="start"></param>
/// <param name="wayPoints"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
public DirectionsStatusCode GetDirections(out GDirections direction, PointLatLng start, IEnumerable<PointLatLng> wayPoints, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
throw new NotImplementedException();
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="direction"></param>
/// <param name="start"></param>
/// <param name="wayPoints"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
public DirectionsStatusCode GetDirections(out GDirections direction, string start, IEnumerable<string> wayPoints, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
throw new NotImplementedException();
}
 
#region -- internals --
 
DirectionsStatusCode GetDirectionsUrl(string url, out GDirections direction)
{
DirectionsStatusCode ret = DirectionsStatusCode.UNKNOWN_ERROR;
direction = null;
 
try
{
string route = GMaps.Instance.UseRouteCache ? Cache.Instance.GetContent(url, CacheType.DirectionsCache) : string.Empty;
if(string.IsNullOrEmpty(route))
{
route = GetContentUsingHttp(url);
if(!string.IsNullOrEmpty(route))
{
if(GMaps.Instance.UseRouteCache)
{
Cache.Instance.SaveContent(url, CacheType.DirectionsCache, route);
}
}
}
 
#region -- gpx response --
//<?xml version="1.0" encoding="UTF-8"?>
//<gpx creator="" version="1.1" xmlns="http://www.topografix.com/GPX/1/1"
// xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
// xsi:schemaLocation="http://www.topografix.com/GPX/1/1 gpx.xsd ">
// <extensions>
// <distance>293</distance>
// <time>34</time>
// <start>Perckhoevelaan</start>
// <end>Goudenregenlaan</end>
// </extensions>
// <wpt lat="51.17702" lon="4.39630" />
// <wpt lat="51.17656" lon="4.39655" />
// <wpt lat="51.17639" lon="4.39670" />
// <wpt lat="51.17612" lon="4.39696" />
// <wpt lat="51.17640" lon="4.39767" />
// <wpt lat="51.17668" lon="4.39828" />
// <wpt lat="51.17628" lon="4.39874" />
// <wpt lat="51.17618" lon="4.39888" />
// <rte>
// <rtept lat="51.17702" lon="4.39630">
// <desc>Head south on Perckhoevelaan, 0.1 km</desc>
// <extensions>
// <distance>111</distance>
// <time>13</time>
// <offset>0</offset>
// <distance-text>0.1 km</distance-text>
// <direction>S</direction>
// <azimuth>160.6</azimuth>
// </extensions>
// </rtept>
// <rtept lat="51.17612" lon="4.39696">
// <desc>Turn left at Laarstraat, 0.1 km</desc>
// <extensions>
// <distance>112</distance>
// <time>13</time>
// <offset>3</offset>
// <distance-text>0.1 km</distance-text>
// <direction>NE</direction>
// <azimuth>58.1</azimuth>
// <turn>TL</turn>
// <turn-angle>269.0</turn-angle>
// </extensions>
// </rtept>
// <rtept lat="51.17668" lon="4.39828">
// <desc>Turn right at Goudenregenlaan, 70 m</desc>
// <extensions>
// <distance>70</distance>
// <time>8</time>
// <offset>5</offset>
// <distance-text>70 m</distance-text>
// <direction>SE</direction>
// <azimuth>143.4</azimuth>
// <turn>TR</turn>
// <turn-angle>89.8</turn-angle>
// </extensions>
// </rtept>
// </rte>
//</gpx>
#endregion
 
if(!string.IsNullOrEmpty(route))
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(route);
System.Xml.XmlNamespaceManager xmlnsManager = new System.Xml.XmlNamespaceManager(xmldoc.NameTable);
xmlnsManager.AddNamespace("sm", "http://www.topografix.com/GPX/1/1");
 
XmlNodeList wpts = xmldoc.SelectNodes("/sm:gpx/sm:wpt", xmlnsManager);
if(wpts != null && wpts.Count > 0)
{
ret = DirectionsStatusCode.OK;
 
direction = new GDirections();
direction.Route = new List<PointLatLng>();
 
foreach(XmlNode w in wpts)
{
double lat = double.Parse(w.Attributes["lat"].InnerText, CultureInfo.InvariantCulture);
double lng = double.Parse(w.Attributes["lon"].InnerText, CultureInfo.InvariantCulture);
direction.Route.Add(new PointLatLng(lat, lng));
}
 
if(direction.Route.Count > 0)
{
direction.StartLocation = direction.Route[0];
direction.EndLocation = direction.Route[direction.Route.Count - 1];
}
 
XmlNode n = xmldoc.SelectSingleNode("/sm:gpx/sm:metadata/sm:copyright/sm:license", xmlnsManager);
if(n != null)
{
direction.Copyrights = n.InnerText;
}
 
n = xmldoc.SelectSingleNode("/sm:gpx/sm:extensions/sm:distance", xmlnsManager);
if(n != null)
{
direction.Distance = n.InnerText + "m";
}
 
n = xmldoc.SelectSingleNode("/sm:gpx/sm:extensions/sm:time", xmlnsManager);
if(n != null)
{
direction.Duration = n.InnerText + "s";
}
 
n = xmldoc.SelectSingleNode("/sm:gpx/sm:extensions/sm:start", xmlnsManager);
if(n != null)
{
direction.StartAddress = n.InnerText;
}
 
n = xmldoc.SelectSingleNode("/sm:gpx/sm:extensions/sm:end", xmlnsManager);
if(n != null)
{
direction.EndAddress = n.InnerText;
}
 
wpts = xmldoc.SelectNodes("/sm:gpx/sm:rte/sm:rtept", xmlnsManager);
if(wpts != null && wpts.Count > 0)
{
direction.Steps = new List<GDirectionStep>();
 
foreach(XmlNode w in wpts)
{
GDirectionStep step = new GDirectionStep();
 
double lat = double.Parse(w.Attributes["lat"].InnerText, CultureInfo.InvariantCulture);
double lng = double.Parse(w.Attributes["lon"].InnerText, CultureInfo.InvariantCulture);
 
step.StartLocation = new PointLatLng(lat, lng);
 
XmlNode nn = w.SelectSingleNode("sm:desc", xmlnsManager);
if(nn != null)
{
step.HtmlInstructions = nn.InnerText;
}
 
nn = w.SelectSingleNode("sm:extensions/sm:distance-text", xmlnsManager);
if(nn != null)
{
step.Distance = nn.InnerText;
}
 
nn = w.SelectSingleNode("sm:extensions/sm:time", xmlnsManager);
if(nn != null)
{
step.Duration = nn.InnerText + "s";
}
 
direction.Steps.Add(step);
}
}
}
}
}
catch(Exception ex)
{
ret = DirectionsStatusCode.ExceptionInCode;
direction = null;
Debug.WriteLine("GetDirectionsUrl: " + ex);
}
 
return ret;
}
 
#endregion
 
#endregion
}
 
/// <summary>
/// CloudMadeMap demo provider, http://maps.cloudmade.com/
/// </summary>
public class CloudMadeMapProvider : CloudMadeMapProviderBase
{
public static readonly CloudMadeMapProvider Instance;
 
CloudMadeMapProvider()
{
Key = "5937c2bd907f4f4a92d8980a7c666ac0"; // demo key of CloudMade
StyleID = 45363; // grab your style here http://maps.cloudmade.com/?styleId=45363
}
 
static CloudMadeMapProvider()
{
Instance = new CloudMadeMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("00403A36-725F-4BC4-934F-BFC1C164D003");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "CloudMade, Demo";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, ServerLetters[GetServerNum(pos, 3)], Key, StyleID, (DoubleResolution ? DoubleResolutionString : string.Empty), zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.tile.cloudmade.com/{1}/{2}{3}/256/{4}/{5}/{6}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Etc/LatviaMapProvider.cs
0,0 → 1,119

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class LatviaMapProviderBase : GMapProvider
{
public LatviaMapProviderBase()
{
RefererUrl = "http://www.ikarte.lv/default.aspx?lang=en";
Copyright = string.Format("©{0} Hnit-Baltic - Map data ©{0} LR Valsts zemes dieniests, SIA Envirotech", DateTime.Today.Year);
MaxZoom = 11;
Area = new RectLatLng(58.0794870805093, 20.3286067123543, 7.90883164336887, 2.506129113082);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return LKS92Projection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
}
 
/// <summary>
/// LatviaMap provider, http://www.ikarte.lv/
/// </summary>
public class LatviaMapProvider : LatviaMapProviderBase
{
public static readonly LatviaMapProvider Instance;
 
LatviaMapProvider()
{
}
 
static LatviaMapProvider()
{
Instance = new LatviaMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("2A21CBB1-D37C-458D-905E-05F19536EF1F");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "LatviaMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://www.maps.lt/cache/ikartelv/map/_alllayers/L03/R00000037/C00000053.png
// http://www.maps.lt/arcgiscache/ikartelv/map/_alllayers/L02/R0000001c/C0000002a.png
// http://services.maps.lt/mapsk_services/rest/services/ikartelv/MapServer/tile/5/271/416.png?cl=ikrlv
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://services.maps.lt/mapsk_services/rest/services/ikartelv/MapServer/tile/{0}/{1}/{2}.png?cl=ikrlv";
//static readonly string UrlFormat = "http://www.maps.lt/arcgiscache/ikartelv/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Etc/MapBenderWMSProvider.cs
0,0 → 1,92

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
using System.Globalization;
 
/// <summary>
/// MapBender provider, WMS demo http://www.mapbender.org/
/// </summary>
public class MapBenderWMSProvider : GMapProvider
{
public static readonly MapBenderWMSProvider Instance;
 
MapBenderWMSProvider()
{
}
 
static MapBenderWMSProvider()
{
Instance = new MapBenderWMSProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("45742F8D-B552-4CAF-89AE-F20951BBDB2B");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "MapBender, WMS demo";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
var px1 = Projection.FromTileXYToPixel(pos);
var px2 = px1;
 
px1.Offset(0, Projection.TileSize.Height);
PointLatLng p1 = Projection.FromPixelToLatLng(px1, zoom);
 
px2.Offset(Projection.TileSize.Width, 0);
PointLatLng p2 = Projection.FromPixelToLatLng(px2, zoom);
 
var ret = string.Format(CultureInfo.InvariantCulture, UrlFormat, p1.Lng, p1.Lat, p2.Lng, p2.Lat, Projection.TileSize.Width, Projection.TileSize.Height);
 
return ret;
}
 
static readonly string UrlFormat = "http://mapbender.wheregroup.com/cgi-bin/mapserv?map=/data/umn/osm/osm_basic.map&VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&LAYERS=OSM_Basic&styles=&bbox={0},{1},{2},{3}&width={4}&height={5}&srs=EPSG:4326&format=image/png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Etc/SpainMapProvider.cs
0,0 → 1,93

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
/// <summary>
/// SpainMap provider, http://sigpac.mapa.es/fega/visor/
/// </summary>
public class SpainMapProvider : GMapProvider
{
public static readonly SpainMapProvider Instance;
 
SpainMapProvider()
{
Copyright = string.Format("©{0} SIGPAC", DateTime.Today.Year);
MinZoom = 5;
Area = new RectLatLng(43.8741381814747, -9.700927734375, 14.34814453125, 7.8605775962932);
}
 
static SpainMapProvider()
{
Instance = new SpainMapProvider();
}
 
readonly string[] levels =
{
"0", "1", "2", "3", "4",
"MTNSIGPAC",
"MTN2000", "MTN2000", "MTN2000", "MTN2000", "MTN2000",
"MTN200", "MTN200", "MTN200",
"MTN25", "MTN25",
"ORTOFOTOS","ORTOFOTOS","ORTOFOTOS","ORTOFOTOS"
};
 
#region GMapProvider Members
 
readonly Guid id = new Guid("7B70ABB0-1265-4D34-9442-F0788F4F689F");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "SpainMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, levels[zoom], zoom, pos.X, ((2 << zoom - 1) - pos.Y - 1));
}
 
static readonly string UrlFormat = "http://sigpac.mapa.es/kmlserver/raster/{0}@3785/{1}.{2}.{3}.img";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Etc/SwedenMapProvider.cs
0,0 → 1,385

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class SwedenMapProviderBase : GMapProvider
{
public SwedenMapProviderBase()
{
RefererUrl = "https://kso.etjanster.lantmateriet.se/?lang=en";
Copyright = string.Format("©{0} Lantmäteriet", DateTime.Today.Year);
MaxZoom = 11;
//Area = new RectLatLng(58.0794870805093, 20.3286067123543, 7.90883164336887, 2.506129113082);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return SWEREF99_TMProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
}
 
/// <summary>
/// SwedenMap provider, https://kso.etjanster.lantmateriet.se/?lang=en#
/// </summary>
public class SwedenMapProvider : SwedenMapProviderBase
{
public static readonly SwedenMapProvider Instance;
 
SwedenMapProvider()
{
}
 
static SwedenMapProvider()
{
Instance = new SwedenMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("40890A96-6E82-4FA7-90A3-73D66B974F63");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "SwedenMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// https://kso.etjanster.lantmateriet.se/karta/topowebb/v1/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=topowebb&STYLE=default&TILEMATRIXSET=3006&TILEMATRIX=2&TILEROW=6&TILECOL=7&FORMAT=image%2Fpng
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://kso.etjanster.lantmateriet.se/karta/topowebb/v1/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=topowebb&STYLE=default&TILEMATRIXSET=3006&TILEMATRIX={0}&TILEROW={1}&TILECOL={2}&FORMAT=image%2Fpng";
}
}
 
/*
https://kso.etjanster.lantmateriet.se/?lang=en#
 
{
"analytics" : {
"account" : "UA-47513746-2"
},
"ortofotoServiceUrl" : "https://services-ver.lantmateriet.se/distribution/produkter/metabild/v1/ortofoto",
"metadata" : {
"password" : "wllZIV50DH2b",
"username" : "lant0181"
},
"minFastighetUrl" : "https://etjanster.lantmateriet.se/nyaminfastighet/?mode=TEXT&amp;module=sercxi-minafastigheter-module",
"enableKartvaljare" : false,
"frwebburl" : "https://etjanster.lantmateriet.se/frwebb/protect/index.jsp?information=FRW019&query=",
"previewServiceUrl" : "https://services-ver.lantmateriet.se/distribution/produkter/tumnagel/v1/",
"minaFastighetsArendenUrl" : "https://etjanster.lantmateriet.se/minafastighetsarenden",
"flygbildServiceUrl" : "https://services-ver.lantmateriet.se/distribution/produkter/metabild/v1/flygbild"
}
 
PROJCS["SWEREF99 TM",
GEOGCS["SWEREF99",
DATUM["SWEREF99",
SPHEROID["GRS 1980",6378137,298.257222101,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6619"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4619"]],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",15],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
AUTHORITY["EPSG","3006"],
AXIS["y",EAST],
AXIS["x",NORTH]]
 
{
"defaultLayer" : "topowebbwmts",
"extent" : {
"left" : -1200000,
"bottom" : 4700000,
"right" : 2600000,
"top" : 8500000
},
"projection" : "EPSG:3006",
"units" : "m",
"allOverlays" : true,
"resolutions" : [4096.0, 2048.0, 1024.0, 512.0, 256.0, 128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25, 0.15, 0.1, 0.05, 0.01],
"initPosition" : {
"n" : 6607899,
"e" : 564931,
"zoom" : 2
},
"layers" : [{
"id" : "topowebbhydrografi",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/topowebb-skikt/wms/v1.1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "hydrografi",
"name" : "Hydrografi",
"fullmap" : "false",
"enabled" : "true",
"sheetFamily" : "",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "true",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "orto",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/ortofoto/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "orto",
"name" : "Ortofoton 0.5 m/pixel",
"fullmap" : "true",
"enabled" : "true",
"sheetFamily" : "",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "true",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "topowebbwmts",
"protocol" : "WMTS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/topowebb/v1/wmts"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "topowebb",
"name" : "Topografisk webbkarta (cache)",
"fullmap" : "true",
"enabled" : "true",
"sheetFamily" : "",
"maxResolution" : 4096.0,
"minResolution" : 0.5,
"visible" : "false",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "topowebbwms",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/topowebb/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "topowebbkartan",
"name" : "Topografisk webbkarta",
"fullmap" : "true",
"enabled" : "true",
"sheetFamily" : "",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "true",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "terrangskuggning",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/hojdmodell/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "terrangskuggning",
"name" : "Terrängskuggning",
"fullmap" : "false",
"enabled" : "true",
"sheetFamily" : "",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "false",
"tileSize" : 2048,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "terrangkartan",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "terrangkartan",
"name" : "Terrängkartan",
"fullmap" : "true",
"enabled" : "true",
"sheetFamily" : "SE50",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "false",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "fjallkartan",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "fjallkartan",
"name" : "Fjällkartan 1:100 000",
"fullmap" : "false",
"enabled" : "true",
"sheetFamily" : "SE100FJ",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "false",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "vagkartan",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "vagkartan",
"name" : "Vägkartan",
"fullmap" : "true",
"enabled" : "true",
"sheetFamily" : "",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "false",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "oversiktskartan",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/geodata-intern/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "oversiktskartan",
"name" : "Översiktskartan",
"fullmap" : "true",
"enabled" : "true",
"sheetFamily" : "SE250",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "false",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}, {
"id" : "sverigekartan",
"protocol" : "WMS",
"url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
"exceptions" : "application/vnd.ogc.se_xml",
"format" : "image/png",
"layers" : "sverigekartan",
"name" : "Sverigekartan",
"fullmap" : "true",
"enabled" : "true",
"sheetFamily" : "",
"maxResolution" : 0.0,
"minResolution" : 0.0,
"visible" : "false",
"tileSize" : 512,
"maxScale" : 0,
"minScale" : 0,
"removeLayer" : "false",
"styles" : []
}
],
"profiles" : "[]",
"touchProfiles" : "[]",
"noAuthProfiles" : "[{'value':'default_background_noauth','text':'Topografisk','optgroup':'Standard'},{'value':'default_orto_noauth','text':'Ortofoto','optgroup':'Standard'},{'value':'default_terrangkartan_noauth','text':'Terrängkartan','optgroup':'Standard'},{'value':'default_fjallkartan_noauth','text':'Fjällkartan','optgroup':'Standard'},{'value':'default_vagkartan_noauth','text':'Vägkartan','optgroup':'Standard'},{'value':'default_sverigekartan_noauth','text':'Sverigekartan','optgroup':'Standard'},{'value':'default_terrangskuggning_noauth','text':'Terrängskuggning','optgroup':'Standard'}]",
"profileDescriptions" : {
"default_background" : "{'layers':[{'id':'topowebbwmts','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
"default_terrangkartan_noauth" : "{'layers':[{'id':'terrangkartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
"default_vagkartan_noauth" : "{'layers':[{'id':'vagkartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
"default_orto_noauth" : "{'layers':[{'id':'orto025','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0},{'id':'orto','index':1,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
"default_fjallkartan_noauth" : "{'layers':[{'id':'fjallkartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
"default_sverigekartan_noauth" : "{'layers':[{'id':'sverigekartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
"default_terrangskuggning_noauth" : "{'layers':[{'id':'topowebbhydrografi','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0},{'id':'terrangskuggning','index':1,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
"default_background_noauth" : "{'layers':[{'id':'topowebbwmts','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}"
}
}
*/
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Etc/TurkeyMapProvider.cs
0,0 → 1,99

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
/// <summary>
/// TurkeyMap provider, http://maps.pergo.com.tr/
/// </summary>
public class TurkeyMapProvider : GMapProvider
{
public static readonly TurkeyMapProvider Instance;
 
TurkeyMapProvider()
{
Copyright = string.Format("©{0} Pergo - Map data ©{0} Fideltus Advanced Technology", DateTime.Today.Year);
Area = new RectLatLng(42.5830078125, 25.48828125, 19.05029296875, 6.83349609375);
InvertedAxisY = true;
}
 
static TurkeyMapProvider()
{
Instance = new TurkeyMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("EDE895BD-756D-4BE4-8D03-D54DD8856F1D");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "TurkeyMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://{domain}/{layerName}/{zoomLevel}/{first3LetterOfTileX}/{second3LetterOfTileX}/{third3LetterOfTileX}/{first3LetterOfTileY}/{second3LetterOfTileY}/{third3LetterOfTileXY}.png
 
// http://map3.pergo.com.tr/tile/00/000/000/001/000/000/000.png
// That means: Zoom Level: 0 TileX: 1 TileY: 0
 
// http://domain/tile/14/000/019/371/000/011/825.png
// That means: Zoom Level: 14 TileX: 19371 TileY:11825
 
// updated version
// http://map1.pergo.com.tr/publish/tile/tile9913/06/000/000/038/000/000/039.png
 
string x = pos.X.ToString(Zeros).Insert(3, Slash).Insert(7, Slash); // - 000/000/001
string y = pos.Y.ToString(Zeros).Insert(3, Slash).Insert(7, Slash); // - 000/000/000
 
return string.Format(UrlFormat, GetServerNum(pos, 3), zoom, x, y);
}
 
static readonly string Zeros = "000000000";
static readonly string Slash = "/";
static readonly string UrlFormat = "http://map{0}.pergo.com.tr/publish/tile/tile9913/{1:00}/{2}/{3}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Etc/WikiMapiaMapProvider.cs
0,0 → 1,127

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class WikiMapiaMapProviderBase : GMapProvider
{
public WikiMapiaMapProviderBase()
{
MaxZoom = 22;
RefererUrl = "http://wikimapia.org/";
Copyright = string.Format("© WikiMapia.org - Map data ©{0} WikiMapia", DateTime.Today.Year);
}
 
#region GMapProvider Members
 
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
public override GMapProvider[] Overlays
{
get
{
throw new NotImplementedException();
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
 
#endregion
 
public static int GetServerNum(GPoint pos)
{
return (int)(pos.X % 4 + (pos.Y % 4) * 4);
}
}
 
/// <summary>
/// WikiMapiaMap provider, http://wikimapia.org/
/// </summary>
public class WikiMapiaMapProvider : WikiMapiaMapProviderBase
{
public static readonly WikiMapiaMapProvider Instance;
 
WikiMapiaMapProvider()
{
}
 
static WikiMapiaMapProvider()
{
Instance = new WikiMapiaMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("7974022B-1AA6-41F1-8D01-F49940E4B48C");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "WikiMapiaMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, GetServerNum(pos), pos.X, pos.Y, zoom);
}
 
static readonly string UrlFormat = "http://i{0}.wikimapia.org/?x={1}&y={2}&zoom={3}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/GMapProvider.cs
0,0 → 1,703

namespace GMap.NET.MapProviders
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Net;
using GMap.NET.Internals;
using GMap.NET.Projections;
using System.Text;
using System.Security.Cryptography;
 
/// <summary>
/// providers that are already build in
/// </summary>
public class GMapProviders
{
static GMapProviders()
{
list = new List<GMapProvider>();
 
Type type = typeof(GMapProviders);
foreach (var p in type.GetFields())
{
var v = p.GetValue(null) as GMapProvider; // static classes cannot be instanced, so use null...
if (v != null)
{
list.Add(v);
}
}
 
Hash = new Dictionary<Guid, GMapProvider>();
foreach (var p in list)
{
Hash.Add(p.Id, p);
}
 
DbHash = new Dictionary<int, GMapProvider>();
foreach (var p in list)
{
DbHash.Add(p.DbId, p);
}
}
 
GMapProviders()
{
}
 
public static readonly EmptyProvider EmptyProvider = EmptyProvider.Instance;
 
public static readonly OpenStreetMapProvider OpenStreetMap = OpenStreetMapProvider.Instance;
 
public static readonly OpenStreet4UMapProvider OpenStreet4UMap = OpenStreet4UMapProvider.Instance;
 
public static readonly OpenCycleMapProvider OpenCycleMap = OpenCycleMapProvider.Instance;
public static readonly OpenCycleLandscapeMapProvider OpenCycleLandscapeMap = OpenCycleLandscapeMapProvider.Instance;
public static readonly OpenCycleTransportMapProvider OpenCycleTransportMap = OpenCycleTransportMapProvider.Instance;
 
public static readonly OpenStreetMapQuestProvider OpenStreetMapQuest = OpenStreetMapQuestProvider.Instance;
public static readonly OpenStreetMapQuestSatteliteProvider OpenStreetMapQuestSattelite = OpenStreetMapQuestSatteliteProvider.Instance;
public static readonly OpenStreetMapQuestHybridProvider OpenStreetMapQuestHybrid = OpenStreetMapQuestHybridProvider.Instance;
 
public static readonly OpenSeaMapHybridProvider OpenSeaMapHybrid = OpenSeaMapHybridProvider.Instance;
 
#if OpenStreetOsm
public static readonly OpenStreetOsmProvider OpenStreetOsm = OpenStreetOsmProvider.Instance;
#endif
 
#if OpenStreetMapSurfer
public static readonly OpenStreetMapSurferProvider OpenStreetMapSurfer = OpenStreetMapSurferProvider.Instance;
public static readonly OpenStreetMapSurferTerrainProvider OpenStreetMapSurferTerrain = OpenStreetMapSurferTerrainProvider.Instance;
#endif
public static readonly WikiMapiaMapProvider WikiMapiaMap = WikiMapiaMapProvider.Instance;
 
public static readonly BingMapProvider BingMap = BingMapProvider.Instance;
public static readonly BingSatelliteMapProvider BingSatelliteMap = BingSatelliteMapProvider.Instance;
public static readonly BingHybridMapProvider BingHybridMap = BingHybridMapProvider.Instance;
 
public static readonly YahooMapProvider YahooMap = YahooMapProvider.Instance;
public static readonly YahooSatelliteMapProvider YahooSatelliteMap = YahooSatelliteMapProvider.Instance;
public static readonly YahooHybridMapProvider YahooHybridMap = YahooHybridMapProvider.Instance;
 
public static readonly GoogleMapProvider GoogleMap = GoogleMapProvider.Instance;
public static readonly GoogleSatelliteMapProvider GoogleSatelliteMap = GoogleSatelliteMapProvider.Instance;
public static readonly GoogleHybridMapProvider GoogleHybridMap = GoogleHybridMapProvider.Instance;
public static readonly GoogleTerrainMapProvider GoogleTerrainMap = GoogleTerrainMapProvider.Instance;
 
public static readonly GoogleChinaMapProvider GoogleChinaMap = GoogleChinaMapProvider.Instance;
public static readonly GoogleChinaSatelliteMapProvider GoogleChinaSatelliteMap = GoogleChinaSatelliteMapProvider.Instance;
public static readonly GoogleChinaHybridMapProvider GoogleChinaHybridMap = GoogleChinaHybridMapProvider.Instance;
public static readonly GoogleChinaTerrainMapProvider GoogleChinaTerrainMap = GoogleChinaTerrainMapProvider.Instance;
 
public static readonly GoogleKoreaMapProvider GoogleKoreaMap = GoogleKoreaMapProvider.Instance;
public static readonly GoogleKoreaSatelliteMapProvider GoogleKoreaSatelliteMap = GoogleKoreaSatelliteMapProvider.Instance;
public static readonly GoogleKoreaHybridMapProvider GoogleKoreaHybridMap = GoogleKoreaHybridMapProvider.Instance;
 
public static readonly NearMapProvider NearMap = NearMapProvider.Instance;
public static readonly NearSatelliteMapProvider NearSatelliteMap = NearSatelliteMapProvider.Instance;
public static readonly NearHybridMapProvider NearHybridMap = NearHybridMapProvider.Instance;
 
public static readonly OviMapProvider OviMap = OviMapProvider.Instance;
public static readonly OviSatelliteMapProvider OviSatelliteMap = OviSatelliteMapProvider.Instance;
public static readonly OviHybridMapProvider OviHybridMap = OviHybridMapProvider.Instance;
public static readonly OviTerrainMapProvider OviTerrainMap = OviTerrainMapProvider.Instance;
 
public static readonly YandexMapProvider YandexMap = YandexMapProvider.Instance;
public static readonly YandexSatelliteMapProvider YandexSatelliteMap = YandexSatelliteMapProvider.Instance;
public static readonly YandexHybridMapProvider YandexHybridMap = YandexHybridMapProvider.Instance;
 
public static readonly LithuaniaMapProvider LithuaniaMap = LithuaniaMapProvider.Instance;
public static readonly LithuaniaReliefMapProvider LithuaniaReliefMap = LithuaniaReliefMapProvider.Instance;
public static readonly Lithuania3dMapProvider Lithuania3dMap = Lithuania3dMapProvider.Instance;
public static readonly LithuaniaOrtoFotoMapProvider LithuaniaOrtoFotoMap = LithuaniaOrtoFotoMapProvider.Instance;
public static readonly LithuaniaOrtoFotoOldMapProvider LithuaniaOrtoFotoOldMap = LithuaniaOrtoFotoOldMapProvider.Instance;
public static readonly LithuaniaHybridMapProvider LithuaniaHybridMap = LithuaniaHybridMapProvider.Instance;
public static readonly LithuaniaHybridOldMapProvider LithuaniaHybridOldMap = LithuaniaHybridOldMapProvider.Instance;
public static readonly LithuaniaTOP50 LithuaniaTOP50Map = LithuaniaTOP50.Instance;
 
public static readonly LatviaMapProvider LatviaMap = LatviaMapProvider.Instance;
 
public static readonly MapBenderWMSProvider MapBenderWMSdemoMap = MapBenderWMSProvider.Instance;
 
public static readonly TurkeyMapProvider TurkeyMap = TurkeyMapProvider.Instance;
 
public static readonly CloudMadeMapProvider CloudMadeMap = CloudMadeMapProvider.Instance;
 
public static readonly SpainMapProvider SpainMap = SpainMapProvider.Instance;
 
public static readonly CzechMapProviderOld CzechOldMap = CzechMapProviderOld.Instance;
public static readonly CzechSatelliteMapProviderOld CzechSatelliteOldMap = CzechSatelliteMapProviderOld.Instance;
public static readonly CzechHybridMapProviderOld CzechHybridOldMap = CzechHybridMapProviderOld.Instance;
public static readonly CzechTuristMapProviderOld CzechTuristOldMap = CzechTuristMapProviderOld.Instance;
public static readonly CzechHistoryMapProviderOld CzechHistoryOldMap = CzechHistoryMapProviderOld.Instance;
 
public static readonly CzechMapProvider CzechMap = CzechMapProvider.Instance;
public static readonly CzechSatelliteMapProvider CzechSatelliteMap = CzechSatelliteMapProvider.Instance;
public static readonly CzechHybridMapProvider CzechHybridMap = CzechHybridMapProvider.Instance;
public static readonly CzechTuristMapProvider CzechTuristMap = CzechTuristMapProvider.Instance;
public static readonly CzechTuristWinterMapProvider CzechTuristWinterMap = CzechTuristWinterMapProvider.Instance;
public static readonly CzechHistoryMapProvider CzechHistoryMap = CzechHistoryMapProvider.Instance;
public static readonly CzechGeographicMapProvider CzechGeographicMap = CzechGeographicMapProvider.Instance;
public static readonly ArcGIS_Imagery_World_2D_MapProvider ArcGIS_Imagery_World_2D_Map = ArcGIS_Imagery_World_2D_MapProvider.Instance;
public static readonly ArcGIS_ShadedRelief_World_2D_MapProvider ArcGIS_ShadedRelief_World_2D_Map = ArcGIS_ShadedRelief_World_2D_MapProvider.Instance;
public static readonly ArcGIS_StreetMap_World_2D_MapProvider ArcGIS_StreetMap_World_2D_Map = ArcGIS_StreetMap_World_2D_MapProvider.Instance;
public static readonly ArcGIS_Topo_US_2D_MapProvider ArcGIS_Topo_US_2D_Map = ArcGIS_Topo_US_2D_MapProvider.Instance;
 
public static readonly ArcGIS_World_Physical_MapProvider ArcGIS_World_Physical_Map = ArcGIS_World_Physical_MapProvider.Instance;
public static readonly ArcGIS_World_Shaded_Relief_MapProvider ArcGIS_World_Shaded_Relief_Map = ArcGIS_World_Shaded_Relief_MapProvider.Instance;
public static readonly ArcGIS_World_Street_MapProvider ArcGIS_World_Street_Map = ArcGIS_World_Street_MapProvider.Instance;
public static readonly ArcGIS_World_Terrain_Base_MapProvider ArcGIS_World_Terrain_Base_Map = ArcGIS_World_Terrain_Base_MapProvider.Instance;
public static readonly ArcGIS_World_Topo_MapProvider ArcGIS_World_Topo_Map = ArcGIS_World_Topo_MapProvider.Instance;
 
public static readonly ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_Map = ArcGIS_DarbAE_Q2_2011_NAVTQ_Eng_V5_MapProvider.Instance;
 
public static readonly SwedenMapProvider SwedenMap = SwedenMapProvider.Instance;
 
static List<GMapProvider> list;
 
/// <summary>
/// get all instances of the supported providers
/// </summary>
public static List<GMapProvider> List
{
get
{
return list;
}
}
 
static Dictionary<Guid, GMapProvider> Hash;
 
public static GMapProvider TryGetProvider(Guid id)
{
GMapProvider ret;
if (Hash.TryGetValue(id, out ret))
{
return ret;
}
return null;
}
 
static Dictionary<int, GMapProvider> DbHash;
 
public static GMapProvider TryGetProvider(int DbId)
{
GMapProvider ret;
if (DbHash.TryGetValue(DbId, out ret))
{
return ret;
}
return null;
}
}
 
/// <summary>
/// base class for each map provider
/// </summary>
public abstract class GMapProvider
{
/// <summary>
/// unique provider id
/// </summary>
public abstract Guid Id
{
get;
}
 
/// <summary>
/// provider name
/// </summary>
public abstract string Name
{
get;
}
 
/// <summary>
/// provider projection
/// </summary>
public abstract PureProjection Projection
{
get;
}
 
/// <summary>
/// provider overlays
/// </summary>
public abstract GMapProvider[] Overlays
{
get;
}
 
/// <summary>
/// gets tile image using implmented provider
/// </summary>
/// <param name="pos"></param>
/// <param name="zoom"></param>
/// <returns></returns>
public abstract PureImage GetTileImage(GPoint pos, int zoom);
 
static readonly List<GMapProvider> MapProviders = new List<GMapProvider>();
 
protected GMapProvider()
{
using (var HashProvider = new SHA1CryptoServiceProvider())
{
DbId = Math.Abs(BitConverter.ToInt32(HashProvider.ComputeHash(Id.ToByteArray()), 0));
}
 
if (MapProviders.Exists(p => p.Id == Id || p.DbId == DbId))
{
throw new Exception("such provider id already exsists, try regenerate your provider guid...");
}
MapProviders.Add(this);
}
 
static GMapProvider()
{
WebProxy = EmptyWebProxy.Instance;
}
 
bool isInitialized = false;
 
/// <summary>
/// was provider initialized
/// </summary>
public bool IsInitialized
{
get
{
return isInitialized;
}
internal set
{
isInitialized = value;
}
}
 
/// <summary>
/// called before first use
/// </summary>
public virtual void OnInitialized()
{
// nice place to detect current provider version
}
 
/// <summary>
/// id for database, a hash of provider guid
/// </summary>
public readonly int DbId;
 
/// <summary>
/// area of map
/// </summary>
public RectLatLng? Area;
 
/// <summary>
/// minimum level of zoom
/// </summary>
public int MinZoom;
 
/// <summary>
/// maximum level of zoom
/// </summary>
public int? MaxZoom = 17;
 
/// <summary>
/// proxy for net access
/// </summary>
public static IWebProxy WebProxy;
 
/// <summary>
/// Connect trough a SOCKS 4/5 proxy server
/// </summary>
public static bool IsSocksProxy = false;
 
/// <summary>
/// NetworkCredential for tile http access
/// </summary>
public static ICredentials Credential;
 
/// <summary>
/// Gets or sets the value of the User-agent HTTP header.
/// It's pseudo-randomized to avoid blockages...
/// </summary>
public static string UserAgent = string.Format("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:{0}.0) Gecko/{2}{3:00}{4:00} Firefox/{0}.0.{1}", Stuff.random.Next(3, 14), Stuff.random.Next(1, 10), Stuff.random.Next(DateTime.Today.Year - 4, DateTime.Today.Year), Stuff.random.Next(12), Stuff.random.Next(30));
 
/// <summary>
/// timeout for provider connections
/// </summary>
#if !PocketPC
public static int TimeoutMs = 5 * 1000;
#else
public static int TimeoutMs = 44 * 1000;
#endif
/// <summary>
/// Gets or sets the value of the Referer HTTP header.
/// </summary>
public string RefererUrl = string.Empty;
 
public string Copyright = string.Empty;
 
/// <summary>
/// true if tile origin at BottomLeft, WMS-C
/// </summary>
public bool InvertedAxisY = false;
 
static string languageStr = "en";
public static string LanguageStr
{
get
{
return languageStr;
}
}
static LanguageType language = LanguageType.English;
 
/// <summary>
/// map language
/// </summary>
public static LanguageType Language
{
get
{
return language;
}
set
{
language = value;
languageStr = Stuff.EnumToString(Language);
}
}
 
/// <summary>
/// to bypass the cache, set to true
/// </summary>
public bool BypassCache = false;
 
/// <summary>
/// internal proxy for image managment
/// </summary>
internal static PureImageProxy TileImageProxy;
 
static readonly string requestAccept = "*/*";
static readonly string responseContentType = "image";
 
protected virtual bool CheckTileImageHttpResponse(WebResponse response)
{
//Debug.WriteLine(response.StatusCode + "/" + response.StatusDescription + "/" + response.ContentType + " -> " + response.ResponseUri);
return response.ContentType.Contains(responseContentType);
}
string Authorization = string.Empty;
/// <summary>
/// http://blog.kowalczyk.info/article/at3/Forcing-basic-http-authentication-for-HttpWebReq.html
/// </summary>
/// <param name="userName"></param>
/// <param name="userPassword"></param>
public void ForceBasicHttpAuthentication(string userName, string userPassword)
{
Authorization = "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(userName + ":" + userPassword));
}
 
protected PureImage GetTileImageUsingHttp(string url)
{
PureImage ret = null;
 
#if !PocketPC
WebRequest request = IsSocksProxy ? SocksHttpWebRequest.Create(url) : WebRequest.Create(url);
#else
WebRequest request = WebRequest.Create(url);
#endif
if (WebProxy != null)
{
request.Proxy = WebProxy;
}
 
if (Credential != null)
{
request.PreAuthenticate = true;
request.Credentials = Credential;
}
if(!string.IsNullOrEmpty(Authorization))
{
request.Headers.Set("Authorization", Authorization);
}
if (request is HttpWebRequest)
{
var r = request as HttpWebRequest;
r.UserAgent = UserAgent;
r.ReadWriteTimeout = TimeoutMs * 6;
r.Accept = requestAccept;
r.Referer = RefererUrl;
r.Timeout = TimeoutMs;
}
#if !PocketPC
else if (request is SocksHttpWebRequest)
{
var r = request as SocksHttpWebRequest;
 
if (!string.IsNullOrEmpty(UserAgent))
{
r.Headers.Add("User-Agent", UserAgent);
}
 
if (!string.IsNullOrEmpty(requestAccept))
{
r.Headers.Add("Accept", requestAccept);
}
 
if (!string.IsNullOrEmpty(RefererUrl))
{
r.Headers.Add("Referer", RefererUrl);
}
}
#endif
using (var response = request.GetResponse())
{
if (CheckTileImageHttpResponse(response))
{
using (Stream responseStream = response.GetResponseStream())
{
MemoryStream data = Stuff.CopyStream(responseStream, false);
 
Debug.WriteLine("Response[" + data.Length + " bytes]: " + url);
 
if (data.Length > 0)
{
ret = TileImageProxy.FromStream(data);
 
if (ret != null)
{
ret.Data = data;
ret.Data.Position = 0;
}
else
{
data.Dispose();
}
}
data = null;
}
}
else
{
Debug.WriteLine("CheckTileImageHttpResponse[false]: " + url);
}
#if PocketPC
request.Abort();
#endif
response.Close();
}
return ret;
}
 
protected string GetContentUsingHttp(string url)
{
string ret = string.Empty;
 
#if !PocketPC
WebRequest request = IsSocksProxy ? SocksHttpWebRequest.Create(url) : WebRequest.Create(url);
#else
WebRequest request = WebRequest.Create(url);
#endif
 
if (WebProxy != null)
{
request.Proxy = WebProxy;
}
 
if (Credential != null)
{
request.PreAuthenticate = true;
request.Credentials = Credential;
}
if(!string.IsNullOrEmpty(Authorization))
{
request.Headers.Set("Authorization", Authorization);
}
 
if (request is HttpWebRequest)
{
var r = request as HttpWebRequest;
r.UserAgent = UserAgent;
r.ReadWriteTimeout = TimeoutMs * 6;
r.Accept = requestAccept;
r.Referer = RefererUrl;
r.Timeout = TimeoutMs;
}
#if !PocketPC
else if (request is SocksHttpWebRequest)
{
var r = request as SocksHttpWebRequest;
 
if (!string.IsNullOrEmpty(UserAgent))
{
r.Headers.Add("User-Agent", UserAgent);
}
 
if (!string.IsNullOrEmpty(requestAccept))
{
r.Headers.Add("Accept", requestAccept);
}
 
if (!string.IsNullOrEmpty(RefererUrl))
{
r.Headers.Add("Referer", RefererUrl);
}
}
#endif
using (var response = request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader read = new StreamReader(responseStream, Encoding.UTF8))
{
ret = read.ReadToEnd();
}
}
#if PocketPC
request.Abort();
#endif
response.Close();
}
 
return ret;
}
 
#if !PocketPC
/// <summary>
/// use at your own risk, storing tiles in files is slow and hard on the file system
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
protected virtual PureImage GetTileImageFromFile(string fileName)
{
return GetTileImageFromArray(File.ReadAllBytes(fileName));
}
#endif
protected virtual PureImage GetTileImageFromArray(byte [] data)
{
return TileImageProxy.FromArray(data);
}
protected static int GetServerNum(GPoint pos, int max)
{
return (int)(pos.X + 2 * pos.Y) % max;
}
 
public override int GetHashCode()
{
return (int)DbId;
}
 
public override bool Equals(object obj)
{
if (obj is GMapProvider)
{
return Id.Equals((obj as GMapProvider).Id);
}
return false;
}
 
public override string ToString()
{
return Name;
}
}
 
/// <summary>
/// represents empty provider
/// </summary>
public class EmptyProvider : GMapProvider
{
public static readonly EmptyProvider Instance;
 
EmptyProvider()
{
MaxZoom = null;
}
 
static EmptyProvider()
{
Instance = new EmptyProvider();
}
 
#region GMapProvider Members
 
public override Guid Id
{
get
{
return Guid.Empty;
}
}
 
readonly string name = "None";
public override string Name
{
get
{
return name;
}
}
 
readonly MercatorProjection projection = MercatorProjection.Instance;
public override PureProjection Projection
{
get
{
return projection;
}
}
 
public override GMapProvider[] Overlays
{
get
{
return null;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
return null;
}
 
#endregion
}
 
public sealed class EmptyWebProxy : IWebProxy
{
public static readonly EmptyWebProxy Instance = new EmptyWebProxy();
 
private ICredentials m_credentials;
public ICredentials Credentials
{
get
{
return this.m_credentials;
}
set
{
this.m_credentials = value;
}
}
 
public Uri GetProxy(Uri uri)
{
return uri;
}
 
public bool IsBypassed(Uri uri)
{
return true;
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaHybridMapProvider.cs
0,0 → 1,81

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleChinaHybridMap provider
/// </summary>
public class GoogleChinaHybridMapProvider : GoogleMapProviderBase
{
public static readonly GoogleChinaHybridMapProvider Instance;
 
GoogleChinaHybridMapProvider()
{
RefererUrl = string.Format("http://ditu.{0}/", ServerChina);
}
 
static GoogleChinaHybridMapProvider()
{
Instance = new GoogleChinaHybridMapProvider();
}
 
public string Version = "h@298";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("B8A2A78D-1C49-45D0-8F03-9B95C83116B7");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleChinaHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { GoogleChinaSatelliteMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, ChinaLanguage, pos.X, sec1, pos.Y, zoom, sec2, ServerChina);
}
 
static readonly string ChinaLanguage = "zh-CN";
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "vt";
static readonly string UrlFormat = "http://{0}{1}.{10}/{2}/imgtp=png32&lyrs={3}&hl={4}&gl=cn&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaMapProvider.cs
0,0 → 1,68

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleChinaMap provider
/// </summary>
public class GoogleChinaMapProvider : GoogleMapProviderBase
{
public static readonly GoogleChinaMapProvider Instance;
 
GoogleChinaMapProvider()
{
RefererUrl = string.Format("http://ditu.{0}/", ServerChina);
}
 
static GoogleChinaMapProvider()
{
Instance = new GoogleChinaMapProvider();
}
 
public string Version = "m@298";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("1213F763-64EE-4AB6-A14A-D84D6BCC3426");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleChinaMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, ChinaLanguage, pos.X, sec1, pos.Y, zoom, sec2, ServerChina);
}
 
static readonly string ChinaLanguage = "zh-CN";
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "vt";
static readonly string UrlFormat = "http://{0}{1}.{10}/{2}/lyrs={3}&hl={4}&gl=cn&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaSatelliteMapProvider.cs
0,0 → 1,67

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleChinaSatelliteMap provider
/// </summary>
public class GoogleChinaSatelliteMapProvider : GoogleMapProviderBase
{
public static readonly GoogleChinaSatelliteMapProvider Instance;
 
GoogleChinaSatelliteMapProvider()
{
RefererUrl = string.Format("http://ditu.{0}/", ServerChina);
}
 
static GoogleChinaSatelliteMapProvider()
{
Instance = new GoogleChinaSatelliteMapProvider();
}
 
public string Version = "s@170";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("543009AC-3379-4893-B580-DBE6372B1753");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleChinaSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, pos.X, sec1, pos.Y, zoom, sec2, ServerChina);
}
 
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "vt";
static readonly string UrlFormat = "http://{0}{1}.{9}/{2}/lyrs={3}&gl=cn&x={4}{5}&y={6}&z={7}&s={8}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/China/GoogleChinaTerrainMapProvider.cs
0,0 → 1,68

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleChinaTerrainMap provider
/// </summary>
public class GoogleChinaTerrainMapProvider : GoogleMapProviderBase
{
public static readonly GoogleChinaTerrainMapProvider Instance;
 
GoogleChinaTerrainMapProvider()
{
RefererUrl = string.Format("http://ditu.{0}/", ServerChina);
}
 
static GoogleChinaTerrainMapProvider()
{
Instance = new GoogleChinaTerrainMapProvider();
}
 
public string Version = "t@132,r@298";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("831EC3CC-B044-4097-B4B7-FC9D9F6D2CFC");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleChinaTerrainMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, ChinaLanguage, pos.X, sec1, pos.Y, zoom, sec2, ServerChina);
}
 
static readonly string ChinaLanguage = "zh-CN";
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "vt";
static readonly string UrlFormat = "http://{0}{1}.{10}/{2}/lyrs={3}&hl={4}&gl=cn&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleHybridMapProvider.cs
0,0 → 1,79

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleHybridMap provider
/// </summary>
public class GoogleHybridMapProvider : GoogleMapProviderBase
{
public static readonly GoogleHybridMapProvider Instance;
 
GoogleHybridMapProvider()
{
}
 
static GoogleHybridMapProvider()
{
Instance = new GoogleHybridMapProvider();
}
 
public string Version = "h@365000000"; //"h@333000000";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("B076C255-6D12-4466-AAE0-4A73D20A7E6A");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { GoogleSatelliteMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, Server);
}
 
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "vt";
static readonly string UrlFormat = "http://{0}{1}.{10}/maps/{2}/lyrs={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleMapProvider.cs
0,0 → 1,2191

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
using System.Security.Cryptography;
using System.Diagnostics;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading;
using GMap.NET.Internals;
using System.Collections.Generic;
using System.Globalization;
using System.Xml;
using System.Text;
#if PocketPC
using OpenNETCF.Security.Cryptography;
#endif
 
public abstract class GoogleMapProviderBase : GMapProvider, RoutingProvider, GeocodingProvider, DirectionsProvider
{
public GoogleMapProviderBase()
{
MaxZoom = null;
RefererUrl = string.Format("http://maps.{0}/", Server);
Copyright = string.Format("©{0} Google - Map data ©{0} Tele Atlas, Imagery ©{0} TerraMetrics", DateTime.Today.Year);
}
 
public readonly string ServerAPIs /* ;}~~ */ = Stuff.GString(/*{^_^}*/"9gERyvblybF8iMuCt/LD6w=="/*d{'_'}b*/);
public readonly string Server /* ;}~~~~ */ = Stuff.GString(/*{^_^}*/"gosr2U13BoS+bXaIxt6XWg=="/*d{'_'}b*/);
public readonly string ServerChina /* ;}~ */ = Stuff.GString(/*{^_^}*/"gosr2U13BoTEJoJJuO25gQ=="/*d{'_'}b*/);
public readonly string ServerKorea /* ;}~~ */ = Stuff.GString(/*{^_^}*/"8ZVBOEsBinzi+zmP7y7pPA=="/*d{'_'}b*/);
public readonly string ServerKoreaKr /* ;}~ */ = Stuff.GString(/*{^_^}*/"gosr2U13BoQyz1gkC4QLfg=="/*d{'_'}b*/);
 
public string SecureWord = "Galileo";
 
/// <summary>
/// Your application's API key, obtained from the Google Developers Console.
/// This key identifies your application for purposes of quota management.
/// Must provide either API key or Maps for Work credentials.
/// </summary>
public string ApiKey = string.Empty;
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider [] overlays;
public override GMapProvider [] Overlays
{
get
{
if (overlays == null)
{
overlays = new GMapProvider [] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
 
public bool TryCorrectVersion = true;
static bool init = false;
 
public override void OnInitialized()
{
if (!init && TryCorrectVersion)
{
string url = string.Format("https://maps.{0}/maps/api/js?client=google-maps-lite&amp;libraries=search&amp;language=en&amp;region=", ServerAPIs);
try
{
string html = GMaps.Instance.UseUrlCache ? Cache.Instance.GetContent(url, CacheType.UrlCache, TimeSpan.FromHours(8)) : string.Empty;
 
if (string.IsNullOrEmpty(html))
{
html = GetContentUsingHttp(url);
if (!string.IsNullOrEmpty(html))
{
if (GMaps.Instance.UseUrlCache)
{
Cache.Instance.SaveContent(url, CacheType.UrlCache, html);
}
}
}
 
if (!string.IsNullOrEmpty(html))
{
#region -- match versions --
Regex reg = new Regex(string.Format(@"https?://mts?\d.{0}/maps/vt\?lyrs=m@(\d*)", Server), RegexOptions.IgnoreCase);
Match mat = reg.Match(html);
if (mat.Success)
{
GroupCollection gc = mat.Groups;
int count = gc.Count;
if (count > 0)
{
string ver = string.Format("m@{0}", gc [1].Value);
string old = GMapProviders.GoogleMap.Version;
 
GMapProviders.GoogleMap.Version = ver;
GMapProviders.GoogleChinaMap.Version = ver;
string verh = string.Format("h@{0}", gc [1].Value);
string oldh = GMapProviders.GoogleHybridMap.Version;
 
GMapProviders.GoogleHybridMap.Version = verh;
GMapProviders.GoogleChinaHybridMap.Version = verh;
#if DEBUG
Debug.WriteLine("GMapProviders.GoogleMap.Version: " + ver + ", " + (ver == old ? "OK" : "old: " + old + ", consider updating source"));
Debug.WriteLine("GMapProviders.GoogleHybridMap.Version: " + verh + ", " + (verh == oldh ? "OK" : "old: " + oldh + ", consider updating source"));
 
if (Debugger.IsAttached && ver != old)
{
Thread.Sleep(1111);
}
#endif
}
}
 
reg = new Regex(string.Format(@"https?://khms?\d.{0}/kh\?v=(\d*)", Server), RegexOptions.IgnoreCase);
mat = reg.Match(html);
if (mat.Success)
{
GroupCollection gc = mat.Groups;
int count = gc.Count;
if (count > 0)
{
string ver = gc [1].Value;
string old = GMapProviders.GoogleSatelliteMap.Version;
 
GMapProviders.GoogleSatelliteMap.Version = ver;
GMapProviders.GoogleKoreaSatelliteMap.Version = ver;
GMapProviders.GoogleChinaSatelliteMap.Version = "s@" + ver;
#if DEBUG
Debug.WriteLine("GMapProviders.GoogleSatelliteMap.Version: " + ver + ", " + (ver == old ? "OK" : "old: " + old + ", consider updating source"));
if (Debugger.IsAttached && ver != old)
{
Thread.Sleep(1111);
}
#endif
}
}
 
reg = new Regex(string.Format(@"https?://mts?\d.{0}/maps/vt\?lyrs=t@(\d*),r@(\d*)", Server), RegexOptions.IgnoreCase);
mat = reg.Match(html);
if (mat.Success)
{
GroupCollection gc = mat.Groups;
int count = gc.Count;
if (count > 1)
{
string ver = string.Format("t@{0},r@{1}", gc [1].Value, gc [2].Value);
string old = GMapProviders.GoogleTerrainMap.Version;
 
GMapProviders.GoogleTerrainMap.Version = ver;
GMapProviders.GoogleChinaTerrainMap.Version = ver;
#if DEBUG
Debug.WriteLine("GMapProviders.GoogleTerrainMap.Version: " + ver + ", " + (ver == old ? "OK" : "old: " + old + ", consider updating source"));
if (Debugger.IsAttached && ver != old)
{
Thread.Sleep(1111);
}
#endif
}
}
#endregion
}
 
init = true; // try it only once
}
catch (Exception ex)
{
Debug.WriteLine("TryCorrectGoogleVersions failed: " + ex.ToString());
}
}
}
 
internal void GetSecureWords(GPoint pos, out string sec1, out string sec2)
{
sec1 = string.Empty; // after &x=...
sec2 = string.Empty; // after &zoom=...
int seclen = (int)((pos.X * 3) + pos.Y) % 8;
sec2 = SecureWord.Substring(0, seclen);
if (pos.Y >= 10000 && pos.Y < 100000)
{
sec1 = Sec1;
}
}
 
static readonly string Sec1 = "&s=";
 
#region RoutingProvider Members
 
public MapRoute GetRoute(PointLatLng start, PointLatLng end, bool avoidHighways, bool walkingMode, int Zoom)
{
string tooltip;
int numLevels;
int zoomFactor;
MapRoute ret = null;
List<PointLatLng> points = GetRoutePoints(MakeRouteUrl(start, end, LanguageStr, avoidHighways, walkingMode), Zoom, out tooltip, out numLevels, out zoomFactor);
if (points != null)
{
ret = new MapRoute(points, tooltip);
}
return ret;
}
 
public MapRoute GetRoute(string start, string end, bool avoidHighways, bool walkingMode, int Zoom)
{
string tooltip;
int numLevels;
int zoomFactor;
MapRoute ret = null;
List<PointLatLng> points = GetRoutePoints(MakeRouteUrl(start, end, LanguageStr, avoidHighways, walkingMode), Zoom, out tooltip, out numLevels, out zoomFactor);
if (points != null)
{
ret = new MapRoute(points, tooltip);
}
return ret;
}
 
#region -- internals --
 
string MakeRouteUrl(PointLatLng start, PointLatLng end, string language, bool avoidHighways, bool walkingMode)
{
string opt = walkingMode ? WalkingStr : (avoidHighways ? RouteWithoutHighwaysStr : RouteStr);
return string.Format(CultureInfo.InvariantCulture, RouteUrlFormatPointLatLng, language, opt, start.Lat, start.Lng, end.Lat, end.Lng, Server);
}
 
string MakeRouteUrl(string start, string end, string language, bool avoidHighways, bool walkingMode)
{
string opt = walkingMode ? WalkingStr : (avoidHighways ? RouteWithoutHighwaysStr : RouteStr);
return string.Format(RouteUrlFormatStr, language, opt, start.Replace(' ', '+'), end.Replace(' ', '+'), Server);
}
 
List<PointLatLng> GetRoutePoints(string url, int zoom, out string tooltipHtml, out int numLevel, out int zoomFactor)
{
List<PointLatLng> points = null;
tooltipHtml = string.Empty;
numLevel = -1;
zoomFactor = -1;
try
{
string route = GMaps.Instance.UseRouteCache ? Cache.Instance.GetContent(url, CacheType.RouteCache) : string.Empty;
 
if (string.IsNullOrEmpty(route))
{
route = GetContentUsingHttp(url);
 
if (!string.IsNullOrEmpty(route))
{
if (GMaps.Instance.UseRouteCache)
{
Cache.Instance.SaveContent(url, CacheType.RouteCache, route);
}
}
}
 
// parse values
if (!string.IsNullOrEmpty(route))
{
//{
//tooltipHtml:" (300\x26#160;km / 2 valandos 59 min.)",
//polylines:
//[{
// id:"route0",
// points:"cy~rIcvp`ClJ~v@jHpu@N|BB~A?tA_@`J@nAJrB|AhEf@h@~@^pANh@Mr@a@`@_@x@cBPk@ZiBHeDQ{C]wAc@mAqCeEoA_C{@_Cy@iDoEaW}AsJcJ}t@iWowB{C_Vyw@gvGyTyjBu@gHwDoZ{W_zBsX}~BiA_MmAyOcAwOs@yNy@eTk@mVUmTE}PJ_W`@cVd@cQ`@}KjA_V`AeOn@oItAkOdAaKfBaOhDiVbD}RpBuKtEkTtP}q@fr@ypCfCmK|CmNvEqVvCuQ`BgLnAmJ`CgTpA_N~@sLlBwYh@yLp@cSj@e]zFkzKHaVViSf@wZjFwqBt@{Wr@qS`AaUjAgStBkYrEwe@xIuw@`Gmj@rFok@~BkYtCy_@|KccBvBgZjC}[tD__@pDaYjB_MpBuLhGi[fC}KfFcSnEkObFgOrFkOzEoLt[ys@tJeUlIsSbKqXtFiPfKi]rG_W|CiNhDkPfDuQlDoShEuXrEy[nOgiAxF{`@|DoVzFk[fDwPlXupA~CoPfDuQxGcd@l@yEdH{r@xDam@`AiWz@mYtAq~@p@uqAfAqx@|@kZxA}^lBq\\|Be\\lAaO~Dm`@|Gsj@tS_~AhCyUrCeZrByWv@uLlUiyDpA}NdHkn@pGmb@LkAtAoIjDqR`I{`@`BcH|I_b@zJcd@lKig@\\_CbBaIlJ}g@lIoj@pAuJtFoh@~Eqs@hDmv@h@qOfF{jBn@gSxCio@dAuQn@gIVoBjAiOlCqWbCiT`PekAzKiu@~EgYfIya@fA{ExGwWnDkMdHiU|G}R`HgQhRsa@hW}g@jVsg@|a@cbAbJkUxKoYxLa_@`IiZzHu[`DoOXsBhBuJbCwNdBaL`EkYvAwM`CeVtEwj@nDqj@BkAnB{YpGgeAn@eJ`CmYvEid@tBkQpGkd@rE}UxB}JdJo_@nDcNfSan@nS}j@lCeIvDsMbC{J|CyNbAwFfCgPz@uGvBiSdD}`@rFon@nKaqAxDmc@xBuT|Fqc@nC_PrEcUtC_MpFcT`GqQxJmXfXwq@jQgh@hBeGhG_U|BaK|G}[nRikAzIam@tDsYfE}^v@_MbAwKn@oIr@yLrBub@jAoa@b@sRdDmjBx@aZdA}XnAqVpAgTlAqPn@oGvFye@dCeRzGwb@xT_}A`BcPrAoOvCad@jAmXv@eV`BieA~@a[fBg_@`CiZ~A_OhHqk@hHcn@tEwe@rDub@nBoW~@sN|BeZnAgMvDm\\hFs^hSigArFaY`Gc\\`C}OhD}YfByQdAaNbAkOtOu~Cn@wKz@uLfCeY|CkW~B}OhCmO|AcI~A_IvDoPpEyPdImWrDuKnL_YjI{Ptl@qfAle@u|@xI}PbImQvFwMbGgOxFkOpdAosCdD_KxGsU|E}RxFcXhCwNjDwTvBiPfBqOrAyMfBcTxAaVhAwVrCy_Al@iPt@_OtA}Q`AuJ`AgIzAkK`EoUtBsJhCaKxCaKdDaKhQeg@jGiRfGaSrFyR`HsWvL}f@xp@grC`Sq|@pEsVdAoGjF{XlkAgwHxHgj@|Jex@fg@qlEjQs{AdHwh@zDkVhEkVzI_e@v}AgzHpK_l@tE}YtEy[rC}TpFme@jg@cpEbF{d@~BoXfBqUbAyOx@yN|Ao]bAo[tIazC`@iLb@aJ~AkWbBgRdBgPjA{IdCePlAmHfBmJdCiL~CuM|DoNxhDezKdDkLvBoInFqVbCuMxBqNnAeJ~CwXdBoSb^crElFsl@`Dy[zDu^xBiRzc@aaE|Fsd@vCkShDmTpG}^lD}QzDoR|zAcdHvIob@dKoj@jDmSlKiq@xVacBhEqXnBqL|Ga^zJke@`y@ktD~Mop@tP}_AdOg`AtCiQxCyOlDkPfDoN`GiTfGkRjEwLvEsL|HkQtEkJdE{HrwAkaCrT{a@rpDiuHtE_KvLuV|{AwaDzAqCb@mAf{Ac`D~FqL~y@_fBlNmZbGaNtF}Mpn@s~AlYss@dFgK|DoGhBoCrDuE~AcBtGaGnByAnDwBnCwAfDwAnFaBjGkA~[{E`iEkn@pQaDvIwBnIiCl\\qLn}J{pDhMcGrFcDhGeEvoDehC|AsArCwChBaC`C_EzC_HbBcFd@uB`@qAn@gDdB}Kz@}Hn@iPjByx@jDcvAj@}RDsEn@yTv@a]VcPtEamFBcHT_LNkEdAiShDsi@`GudAbFgx@`@iKdP}yFhBgs@p@yRjCo_AJwCXeEb@uEz@_H|@yEnBqHrCiIpAmE`o@qhBxC_IjIuVdIcXh{AgmG`i@_{BfCuLrhAssGfFeXxbBklInCsN|_AoiGpGs_@pl@w}Czy@_kEvG{]h}@ieFbQehAdHye@lPagA|Eu\\tAmI|CwWjn@mwGj@eH|]azFl@kPjAqd@jJe|DlD}vAxAeh@@eBvVk}JzIkqDfE_aBfA{YbBk[zp@e}LhAaObCeUlAuIzAeJrb@q`CjCcOnAaIpBwOtBkTjDsg@~AiPvBwOlAcH|AkIlCkLlYudApDoN`BgHhBaJvAeIvAqJbAuHrBqQbAsLx@oL`MwrCXkFr@uJh@{FhBsOvXwoB|EqVdBmHxC}KtCcJtDgKjDoIxE}JdHcMdCuDdIoKlmB}|BjJuMfFgIlE{HlEyIdEeJ~FaOvCgInCuI`EmN`J}]rEsP`EuMzCoIxGwPpi@cnAhGgPzCiJvFmRrEwQbDyOtCoPbDwTxDq\\rAsK`BgLhB{KxBoLfCgLjDqKdBqEfEkJtSy^`EcJnDuJjAwDrCeK\\}AjCaNr@qEjAaJtNaqAdCqQ`BsItS}bAbQs{@|Kor@xBmKz}@}uDze@{zAjk@}fBjTsq@r@uCd@aDFyCIwCWcCY}Aq_@w|A{AwF_DyHgHwOgu@m_BSb@nFhL",
// levels:"B?@?????@?@???A???@?@????@??@????????@????@???A????@????@??@???@??@???A???@??@???A??@???@????A??@???@??@????@??@???@????@???@??A@?@???@????A????@??@?@???@???????@??@?@????@????@?A??@???@????@??@?A??????@???????@??A???@??@???@??@????@??@?@?????@?@?A?@????@???@??@??@????@?@??@?@??@??????@???@?@????@???B???@??@??????@??@???A?????@????@???A??@??????@??@??A?@???@???@??A????@???@???@????A????@@??A???@???@??@??A????@??????@??@???@???B????@?@????????@????@????A?????@????@??A???@???@???B???@?????@???@????@????@???A???????@??A@??@?@??@@?????A?@@????????@??@?A????@?????@???@???@???@???@?@?A???@??@?@??@???@?????@???A??@???????@????@???@????@????@@???A????@?@??@?B",
// numLevels:4,
// zoomFactor:16
//}]
//}
 
#region -- title --
int tooltipEnd = 0;
{
int x = route.IndexOf("tooltipHtml:") + 13;
if (x >= 13)
{
tooltipEnd = route.IndexOf("\"", x + 1);
if (tooltipEnd > 0)
{
int l = tooltipEnd - x;
if (l > 0)
{
tooltipHtml = route.Substring(x, l).Replace(@"\x26#160;", " ");
}
}
}
}
#endregion
 
#region -- points --
int pointsEnd = 0;
{
int x = route.IndexOf("points:", tooltipEnd >= 0 ? tooltipEnd : 0) + 8;
if (x >= 8)
{
pointsEnd = route.IndexOf("\"", x + 1);
if (pointsEnd > 0)
{
int l = pointsEnd - x;
if (l > 0)
{
/*
while(l % 5 != 0)
{
l--;
}
*/
 
points = new List<PointLatLng>();
DecodePointsInto(points, route.Substring(x, l));
}
}
}
}
#endregion
 
#region -- levels --
string levels = string.Empty;
int levelsEnd = 0;
{
int x = route.IndexOf("levels:", pointsEnd >= 0 ? pointsEnd : 0) + 8;
if (x >= 8)
{
levelsEnd = route.IndexOf("\"", x + 1);
if (levelsEnd > 0)
{
int l = levelsEnd - x;
if (l > 0)
{
levels = route.Substring(x, l);
}
}
}
}
#endregion
 
#region -- numLevel --
int numLevelsEnd = 0;
{
int x = route.IndexOf("numLevels:", levelsEnd >= 0 ? levelsEnd : 0) + 10;
if (x >= 10)
{
numLevelsEnd = route.IndexOf(",", x);
if (numLevelsEnd > 0)
{
int l = numLevelsEnd - x;
if (l > 0)
{
numLevel = int.Parse(route.Substring(x, l));
}
}
}
}
#endregion
 
#region -- zoomFactor --
{
int x = route.IndexOf("zoomFactor:", numLevelsEnd >= 0 ? numLevelsEnd : 0) + 11;
if (x >= 11)
{
int end = route.IndexOf("}", x);
if (end > 0)
{
int l = end - x;
if (l > 0)
{
zoomFactor = int.Parse(route.Substring(x, l));
}
}
}
}
#endregion
 
#region -- trim point overload --
if (points != null && numLevel > 0 && !string.IsNullOrEmpty(levels))
{
if (points.Count - levels.Length > 0)
{
points.RemoveRange(levels.Length, points.Count - levels.Length);
}
 
//http://facstaff.unca.edu/mcmcclur/GoogleMaps/EncodePolyline/description.html
//
string allZlevels = "TSRPONMLKJIHGFEDCBA@?";
if (numLevel > allZlevels.Length)
{
numLevel = allZlevels.Length;
}
 
// used letters in levels string
string pLevels = allZlevels.Substring(allZlevels.Length - numLevel);
 
// remove useless points at zoom
{
List<PointLatLng> removedPoints = new List<PointLatLng>();
 
for (int i = 0; i < levels.Length; i++)
{
int zi = pLevels.IndexOf(levels [i]);
if (zi > 0)
{
if (zi * numLevel > zoom)
{
removedPoints.Add(points [i]);
}
}
}
 
foreach (var v in removedPoints)
{
points.Remove(v);
}
removedPoints.Clear();
removedPoints = null;
}
}
#endregion
}
}
catch (Exception ex)
{
points = null;
Debug.WriteLine("GetRoutePoints: " + ex);
}
return points;
}
 
static readonly string RouteUrlFormatPointLatLng = "http://maps.{6}/maps?f=q&output=dragdir&doflg=p&hl={0}{1}&q=&saddr=@{2},{3}&daddr=@{4},{5}";
static readonly string RouteUrlFormatStr = "http://maps.{4}/maps?f=q&output=dragdir&doflg=p&hl={0}{1}&q=&saddr=@{2}&daddr=@{3}";
 
static readonly string WalkingStr = "&mra=ls&dirflg=w";
static readonly string RouteWithoutHighwaysStr = "&mra=ls&dirflg=dh";
static readonly string RouteStr = "&mra=ls&dirflg=d";
 
#endregion
 
#endregion
 
#region GeocodingProvider Members
 
public GeoCoderStatusCode GetPoints(string keywords, out List<PointLatLng> pointList)
{
return GetLatLngFromGeocoderUrl(MakeGeocoderUrl(keywords, LanguageStr), out pointList);
}
 
public PointLatLng? GetPoint(string keywords, out GeoCoderStatusCode status)
{
List<PointLatLng> pointList;
status = GetPoints(keywords, out pointList);
return pointList != null && pointList.Count > 0 ? pointList [0] : (PointLatLng?)null;
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="placemark"></param>
/// <param name="pointList"></param>
/// <returns></returns>
public GeoCoderStatusCode GetPoints(Placemark placemark, out List<PointLatLng> pointList)
{
throw new NotImplementedException("use GetPoints(string keywords...");
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="placemark"></param>
/// <param name="status"></param>
/// <returns></returns>
public PointLatLng? GetPoint(Placemark placemark, out GeoCoderStatusCode status)
{
throw new NotImplementedException("use GetPoint(string keywords...");
}
 
public GeoCoderStatusCode GetPlacemarks(PointLatLng location, out List<Placemark> placemarkList)
{
return GetPlacemarkFromReverseGeocoderUrl(MakeReverseGeocoderUrl(location, LanguageStr), out placemarkList);
}
 
public Placemark? GetPlacemark(PointLatLng location, out GeoCoderStatusCode status)
{
List<Placemark> pointList;
status = GetPlacemarks(location, out pointList);
return pointList != null && pointList.Count > 0 ? pointList [0] : (Placemark?)null;
}
 
#region -- internals --
 
// The Coogle Geocoding API: http://tinyurl.com/cdlj889
 
string MakeGeocoderUrl(string keywords, string language)
{
return string.Format(CultureInfo.InvariantCulture, GeocoderUrlFormat, ServerAPIs, Uri.EscapeDataString(keywords).Replace(' ', '+'), language);
}
 
string MakeReverseGeocoderUrl(PointLatLng pt, string language)
{
return string.Format(CultureInfo.InvariantCulture, ReverseGeocoderUrlFormat, ServerAPIs, pt.Lat, pt.Lng, language);
}
 
GeoCoderStatusCode GetLatLngFromGeocoderUrl(string url, out List<PointLatLng> pointList)
{
var status = GeoCoderStatusCode.Unknow;
pointList = null;
 
try
{
string geo = GMaps.Instance.UseGeocoderCache ? Cache.Instance.GetContent(url, CacheType.GeocoderCache) : string.Empty;
 
bool cache = false;
 
if (string.IsNullOrEmpty(geo))
{
string urls = url;
 
// Must provide either API key or Maps for Work credentials.
if (!string.IsNullOrEmpty(ClientId))
{
urls = GetSignedUri(url);
}
else if (!string.IsNullOrEmpty(ApiKey))
{
urls += "&key=" + ApiKey;
}
 
geo = GetContentUsingHttp(urls);
 
if (!string.IsNullOrEmpty(geo))
{
cache = true;
}
}
 
if (!string.IsNullOrEmpty(geo))
{
if (geo.StartsWith("<?xml"))
{
#region -- xml response --
//<?xml version="1.0" encoding="UTF-8"?>
//<GeocodeResponse>
// <status>OK</status>
// <result>
// <type>locality</type>
// <type>political</type>
// <formatted_address>Vilnius, Lithuania</formatted_address>
// <address_component>
// <long_name>Vilnius</long_name>
// <short_name>Vilnius</short_name>
// <type>locality</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.6871555</lat>
// <lng>25.2796514</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.5677980</lat>
// <lng>25.0243760</lng>
// </southwest>
// <northeast>
// <lat>54.8325440</lat>
// <lng>25.4814883</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.5677980</lat>
// <lng>25.0243760</lng>
// </southwest>
// <northeast>
// <lat>54.8325440</lat>
// <lng>25.4814883</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
// <result>
// <type>airport</type>
// <type>transit_station</type>
// <type>establishment</type>
// <formatted_address>Vilnius International Airport (VNO), 10A, Vilnius, Lithuania</formatted_address>
// <address_component>
// <long_name>Vilnius International Airport</long_name>
// <short_name>Vilnius International Airport</short_name>
// <type>establishment</type>
// </address_component>
// <address_component>
// <long_name>10A</long_name>
// <short_name>10A</short_name>
// <type>street_number</type>
// </address_component>
// <address_component>
// <long_name>Vilnius</long_name>
// <short_name>Vilnius</short_name>
// <type>locality</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.6369440</lat>
// <lng>25.2877780</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.6158331</lat>
// <lng>25.2723832</lng>
// </southwest>
// <northeast>
// <lat>54.6538331</lat>
// <lng>25.3034219</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.6158331</lat>
// <lng>25.2723832</lng>
// </southwest>
// <northeast>
// <lat>54.6538331</lat>
// <lng>25.3034219</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
//</GeocodeResponse>
 
#endregion
 
XmlDocument doc = new XmlDocument();
doc.LoadXml(geo);
 
XmlNode nn = doc.SelectSingleNode("//status");
if (nn != null)
{
if (nn.InnerText != "OK")
{
Debug.WriteLine("GetLatLngFromGeocoderUrl: " + nn.InnerText);
}
else
{
status = GeoCoderStatusCode.G_GEO_SUCCESS;
 
if (cache && GMaps.Instance.UseGeocoderCache)
{
Cache.Instance.SaveContent(url, CacheType.GeocoderCache, geo);
}
 
pointList = new List<PointLatLng>();
 
XmlNodeList l = doc.SelectNodes("//result");
if (l != null)
{
foreach (XmlNode n in l)
{
nn = n.SelectSingleNode("geometry/location/lat");
if (nn != null)
{
double lat = double.Parse(nn.InnerText, CultureInfo.InvariantCulture);
 
nn = n.SelectSingleNode("geometry/location/lng");
if (nn != null)
{
double lng = double.Parse(nn.InnerText, CultureInfo.InvariantCulture);
pointList.Add(new PointLatLng(lat, lng));
}
}
}
}
}
}
}
}
}
catch (Exception ex)
{
status = GeoCoderStatusCode.ExceptionInCode;
Debug.WriteLine("GetLatLngFromGeocoderUrl: " + ex);
}
 
return status;
}
 
GeoCoderStatusCode GetPlacemarkFromReverseGeocoderUrl(string url, out List<Placemark> placemarkList)
{
GeoCoderStatusCode status = GeoCoderStatusCode.Unknow;
placemarkList = null;
 
try
{
string reverse = GMaps.Instance.UsePlacemarkCache ? Cache.Instance.GetContent(url, CacheType.PlacemarkCache) : string.Empty;
 
bool cache = false;
 
if (string.IsNullOrEmpty(reverse))
{
string urls = url;
 
// Must provide either API key or Maps for Work credentials.
if (!string.IsNullOrEmpty(ClientId))
{
urls = GetSignedUri(url);
}
else if (!string.IsNullOrEmpty(ApiKey))
{
urls += "&key=" + ApiKey;
}
 
reverse = GetContentUsingHttp(urls);
 
if (!string.IsNullOrEmpty(reverse))
{
cache = true;
}
}
 
if (!string.IsNullOrEmpty(reverse))
{
if (reverse.StartsWith("<?xml"))
{
#region -- xml response --
//<?xml version="1.0" encoding="UTF-8"?>
//<GeocodeResponse>
// <status>OK</status>
// <result>
// <type>street_address</type>
// <formatted_address>Tuskul??n?? gatv?? 2, Vilnius 09213, Lithuania</formatted_address>
// <address_component>
// <long_name>2</long_name>
// <short_name>2</short_name>
// <type>street_number</type>
// </address_component>
// <address_component>
// <long_name>Tuskul??n?? gatv??</long_name>
// <short_name>Tuskul??n?? g.</short_name>
// <type>route</type>
// </address_component>
// <address_component>
// <long_name>Vilnius</long_name>
// <short_name>Vilnius</short_name>
// <type>locality</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>09213</long_name>
// <short_name>09213</short_name>
// <type>postal_code</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.6963339</lat>
// <lng>25.2968939</lng>
// </location>
// <location_type>ROOFTOP</location_type>
// <viewport>
// <southwest>
// <lat>54.6949849</lat>
// <lng>25.2955449</lng>
// </southwest>
// <northeast>
// <lat>54.6976829</lat>
// <lng>25.2982429</lng>
// </northeast>
// </viewport>
// </geometry>
// </result>
// <result>
// <type>postal_code</type>
// <formatted_address>Vilnius 09213, Lithuania</formatted_address>
// <address_component>
// <long_name>09213</long_name>
// <short_name>09213</short_name>
// <type>postal_code</type>
// </address_component>
// <address_component>
// <long_name>Vilnius</long_name>
// <short_name>Vilnius</short_name>
// <type>locality</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.6963032</lat>
// <lng>25.2967390</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.6950889</lat>
// <lng>25.2958851</lng>
// </southwest>
// <northeast>
// <lat>54.6977869</lat>
// <lng>25.2985830</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.6956179</lat>
// <lng>25.2958871</lng>
// </southwest>
// <northeast>
// <lat>54.6972579</lat>
// <lng>25.2985810</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
// <result>
// <type>neighborhood</type>
// <type>political</type>
// <formatted_address>??irm??nai, Vilnius, Lithuania</formatted_address>
// <address_component>
// <long_name>??irm??nai</long_name>
// <short_name>??irm??nai</short_name>
// <type>neighborhood</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius</long_name>
// <short_name>Vilnius</short_name>
// <type>locality</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.7117424</lat>
// <lng>25.2974345</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.6888939</lat>
// <lng>25.2838700</lng>
// </southwest>
// <northeast>
// <lat>54.7304441</lat>
// <lng>25.3133630</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.6888939</lat>
// <lng>25.2838700</lng>
// </southwest>
// <northeast>
// <lat>54.7304441</lat>
// <lng>25.3133630</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
// <result>
// <type>administrative_area_level_3</type>
// <type>political</type>
// <formatted_address>??irm??n?? seni??nija, Lithuania</formatted_address>
// <address_component>
// <long_name>??irm??n?? seni??nija</long_name>
// <short_name>??irm??n?? sen.</short_name>
// <type>administrative_area_level_3</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.7117424</lat>
// <lng>25.2974345</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.6892135</lat>
// <lng>25.2837150</lng>
// </southwest>
// <northeast>
// <lat>54.7305878</lat>
// <lng>25.3135630</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.6892135</lat>
// <lng>25.2837150</lng>
// </southwest>
// <northeast>
// <lat>54.7305878</lat>
// <lng>25.3135630</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
// <result>
// <type>locality</type>
// <type>political</type>
// <formatted_address>Vilnius, Lithuania</formatted_address>
// <address_component>
// <long_name>Vilnius</long_name>
// <short_name>Vilnius</short_name>
// <type>locality</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.6871555</lat>
// <lng>25.2796514</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.5677980</lat>
// <lng>25.0243760</lng>
// </southwest>
// <northeast>
// <lat>54.8325440</lat>
// <lng>25.4814883</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.5677980</lat>
// <lng>25.0243760</lng>
// </southwest>
// <northeast>
// <lat>54.8325440</lat>
// <lng>25.4814883</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
// <result>
// <type>administrative_area_level_2</type>
// <type>political</type>
// <formatted_address>Vilniaus miesto savivaldyb??, Lithuania</formatted_address>
// <address_component>
// <long_name>Vilniaus miesto savivaldyb??</long_name>
// <short_name>Vilniaus m. sav.</short_name>
// <type>administrative_area_level_2</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.6759715</lat>
// <lng>25.2867413</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.5677980</lat>
// <lng>25.0243760</lng>
// </southwest>
// <northeast>
// <lat>54.8325440</lat>
// <lng>25.4814883</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.5677980</lat>
// <lng>25.0243760</lng>
// </southwest>
// <northeast>
// <lat>54.8325440</lat>
// <lng>25.4814883</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
// <result>
// <type>administrative_area_level_1</type>
// <type>political</type>
// <formatted_address>Vilnius County, Lithuania</formatted_address>
// <address_component>
// <long_name>Vilnius County</long_name>
// <short_name>Vilnius County</short_name>
// <type>administrative_area_level_1</type>
// <type>political</type>
// </address_component>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>54.8086502</lat>
// <lng>25.2182138</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>54.1276599</lat>
// <lng>24.3863751</lng>
// </southwest>
// <northeast>
// <lat>55.5174369</lat>
// <lng>26.7602130</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>54.1276599</lat>
// <lng>24.3863751</lng>
// </southwest>
// <northeast>
// <lat>55.5174369</lat>
// <lng>26.7602130</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
// <result>
// <type>country</type>
// <type>political</type>
// <formatted_address>Lithuania</formatted_address>
// <address_component>
// <long_name>Lithuania</long_name>
// <short_name>LT</short_name>
// <type>country</type>
// <type>political</type>
// </address_component>
// <geometry>
// <location>
// <lat>55.1694380</lat>
// <lng>23.8812750</lng>
// </location>
// <location_type>APPROXIMATE</location_type>
// <viewport>
// <southwest>
// <lat>53.8968787</lat>
// <lng>20.9543679</lng>
// </southwest>
// <northeast>
// <lat>56.4503209</lat>
// <lng>26.8355913</lng>
// </northeast>
// </viewport>
// <bounds>
// <southwest>
// <lat>53.8968787</lat>
// <lng>20.9543679</lng>
// </southwest>
// <northeast>
// <lat>56.4503209</lat>
// <lng>26.8355913</lng>
// </northeast>
// </bounds>
// </geometry>
// </result>
//</GeocodeResponse>
 
#endregion
 
XmlDocument doc = new XmlDocument();
doc.LoadXml(reverse);
 
XmlNode nn = doc.SelectSingleNode("//status");
if (nn != null)
{
if (nn.InnerText != "OK")
{
Debug.WriteLine("GetPlacemarkFromReverseGeocoderUrl: " + nn.InnerText);
}
else
{
status = GeoCoderStatusCode.G_GEO_SUCCESS;
 
if (cache && GMaps.Instance.UsePlacemarkCache)
{
Cache.Instance.SaveContent(url, CacheType.PlacemarkCache, reverse);
}
 
placemarkList = new List<Placemark>();
 
#region -- placemarks --
XmlNodeList l = doc.SelectNodes("//result");
if (l != null)
{
foreach (XmlNode n in l)
{
Debug.WriteLine("---------------------");
 
nn = n.SelectSingleNode("formatted_address");
if (nn != null)
{
var ret = new Placemark(nn.InnerText);
 
Debug.WriteLine("formatted_address: [" + nn.InnerText + "]");
 
nn = n.SelectSingleNode("type");
if (nn != null)
{
Debug.WriteLine("type: " + nn.InnerText);
}
 
// TODO: fill Placemark details
 
XmlNodeList acl = n.SelectNodes("address_component");
foreach (XmlNode ac in acl)
{
nn = ac.SelectSingleNode("type");
if (nn != null)
{
var type = nn.InnerText;
Debug.Write(" - [" + type + "], ");
 
nn = ac.SelectSingleNode("long_name");
if (nn != null)
{
Debug.WriteLine("long_name: [" + nn.InnerText + "]");
 
switch (type)
{
case "street_address":
{
ret.StreetNumber = nn.InnerText;
}
break;
 
case "route":
{
ret.ThoroughfareName = nn.InnerText;
}
break;
 
case "postal_code":
{
ret.PostalCodeNumber = nn.InnerText;
}
break;
 
case "country":
{
ret.CountryName = nn.InnerText;
}
break;
 
case "locality":
{
ret.LocalityName = nn.InnerText;
}
break;
 
case "administrative_area_level_2":
{
ret.DistrictName = nn.InnerText;
}
break;
 
case "administrative_area_level_1":
{
ret.AdministrativeAreaName = nn.InnerText;
}
break;
 
case "administrative_area_level_3":
{
ret.SubAdministrativeAreaName = nn.InnerText;
}
break;
 
case "neighborhood":
{
ret.Neighborhood = nn.InnerText;
}
break;
}
}
}
}
 
placemarkList.Add(ret);
}
}
}
#endregion
}
}
#endregion
}
}
}
catch (Exception ex)
{
status = GeoCoderStatusCode.ExceptionInCode;
placemarkList = null;
Debug.WriteLine("GetPlacemarkReverseGeocoderUrl: " + ex.ToString());
}
 
return status;
}
 
static readonly string ReverseGeocoderUrlFormat = "http://maps.{0}/maps/api/geocode/xml?latlng={1},{2}&language={3}&sensor=false";
static readonly string GeocoderUrlFormat = "http://maps.{0}/maps/api/geocode/xml?address={1}&language={2}&sensor=false";
 
#endregion
 
#region DirectionsProvider Members
 
public DirectionsStatusCode GetDirections(out GDirections direction, PointLatLng start, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
return GetDirectionsUrl(MakeDirectionsUrl(start, end, LanguageStr, avoidHighways, avoidTolls, walkingMode, sensor, metric), out direction);
}
 
public DirectionsStatusCode GetDirections(out GDirections direction, string start, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
return GetDirectionsUrl(MakeDirectionsUrl(start, end, LanguageStr, avoidHighways, avoidTolls, walkingMode, sensor, metric), out direction);
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="status"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
public IEnumerable<GDirections> GetDirections(out DirectionsStatusCode status, string start, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
// TODO: add alternative directions
 
throw new NotImplementedException();
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="status"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="avoidTolls"></param>
/// <param name="walkingMode"></param>
/// <param name="sensor"></param>
/// <param name="metric"></param>
/// <returns></returns>
public IEnumerable<GDirections> GetDirections(out DirectionsStatusCode status, PointLatLng start, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
// TODO: add alternative directions
 
throw new NotImplementedException();
}
 
public DirectionsStatusCode GetDirections(out GDirections direction, PointLatLng start, IEnumerable<PointLatLng> wayPoints, PointLatLng end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
return GetDirectionsUrl(MakeDirectionsUrl(start, wayPoints, end, LanguageStr, avoidHighways, avoidTolls, walkingMode, sensor, metric), out direction);
}
 
public DirectionsStatusCode GetDirections(out GDirections direction, string start, IEnumerable<string> wayPoints, string end, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
return GetDirectionsUrl(MakeDirectionsUrl(start, wayPoints, end, LanguageStr, avoidHighways, avoidTolls, walkingMode, sensor, metric), out direction);
}
 
#region -- internals --
 
// The Coogle Directions API: http://tinyurl.com/6vv4cac
 
string MakeDirectionsUrl(PointLatLng start, PointLatLng end, string language, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
string av = (avoidHighways ? "&avoid=highways" : string.Empty) + (avoidTolls ? "&avoid=tolls" : string.Empty); // 6
string mt = "&units=" + (metric ? "metric" : "imperial"); // 7
string wk = "&mode=" + (walkingMode ? "walking" : "driving"); // 8
 
return string.Format(CultureInfo.InvariantCulture, DirectionUrlFormatPoint, start.Lat, start.Lng, end.Lat, end.Lng, sensor.ToString().ToLower(), language, av, mt, wk, ServerAPIs);
}
 
string MakeDirectionsUrl(string start, string end, string language, bool avoidHighways, bool walkingMode, bool avoidTolls, bool sensor, bool metric)
{
string av = (avoidHighways ? "&avoid=highways" : string.Empty) + (avoidTolls ? "&avoid=tolls" : string.Empty); // 4
string mt = "&units=" + (metric ? "metric" : "imperial"); // 5
string wk = "&mode=" + (walkingMode ? "walking" : "driving"); // 6
 
return string.Format(DirectionUrlFormatStr, start.Replace(' ', '+'), end.Replace(' ', '+'), sensor.ToString().ToLower(), language, av, mt, wk, ServerAPIs);
}
 
string MakeDirectionsUrl(PointLatLng start, IEnumerable<PointLatLng> wayPoints, PointLatLng end, string language, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
string av = (avoidHighways ? "&avoid=highways" : string.Empty) + (avoidTolls ? "&avoid=tolls" : string.Empty); // 6
string mt = "&units=" + (metric ? "metric" : "imperial"); // 7
string wk = "&mode=" + (walkingMode ? "walking" : "driving"); // 8
 
string wpLatLng = string.Empty;
int i = 0;
foreach (var wp in wayPoints)
{
wpLatLng += string.Format(CultureInfo.InvariantCulture, i++ == 0 ? "{0},{1}" : "|{0},{1}", wp.Lat, wp.Lng);
}
 
return string.Format(CultureInfo.InvariantCulture, DirectionUrlFormatWaypoint, start.Lat, start.Lng, wpLatLng, sensor.ToString().ToLower(), language, av, mt, wk, ServerAPIs, end.Lat, end.Lng);
}
 
string MakeDirectionsUrl(string start, IEnumerable<string> wayPoints, string end, string language, bool avoidHighways, bool avoidTolls, bool walkingMode, bool sensor, bool metric)
{
string av = (avoidHighways ? "&avoid=highways" : string.Empty) + (avoidTolls ? "&avoid=tolls" : string.Empty); // 6
string mt = "&units=" + (metric ? "metric" : "imperial"); // 7
string wk = "&mode=" + (walkingMode ? "walking" : "driving"); // 8
 
string wpLatLng = string.Empty;
int i = 0;
foreach (var wp in wayPoints)
{
wpLatLng += string.Format(CultureInfo.InvariantCulture, i++ == 0 ? "{0}" : "|{0}", wp.Replace(' ', '+'));
}
 
return string.Format(CultureInfo.InvariantCulture, DirectionUrlFormatWaypointStr, start.Replace(' ', '+'), wpLatLng, sensor.ToString().ToLower(), language, av, mt, wk, ServerAPIs, end.Replace(' ', '+'));
}
 
DirectionsStatusCode GetDirectionsUrl(string url, out GDirections direction)
{
DirectionsStatusCode ret = DirectionsStatusCode.UNKNOWN_ERROR;
direction = null;
 
try
{
string kml = GMaps.Instance.UseDirectionsCache ? Cache.Instance.GetContent(url, CacheType.DirectionsCache) : string.Empty;
 
bool cache = false;
 
if (string.IsNullOrEmpty(kml))
{
string urls = url;
 
// Must provide either API key or Maps for Work credentials.
if (!string.IsNullOrEmpty(ClientId))
{
urls = GetSignedUri(url);
}
else if (!string.IsNullOrEmpty(ApiKey))
{
urls += "&key=" + ApiKey;
}
 
kml = GetContentUsingHttp(urls);
 
if (!string.IsNullOrEmpty(kml))
{
cache = true;
}
}
 
if (!string.IsNullOrEmpty(kml))
{
#region -- kml response --
//<?xml version="1.0" encoding="UTF-8"?>
//<DirectionsResponse>
// <status>OK</status>
// <route>
// <summary>A1/E85</summary>
// <leg>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.6893800</lat>
// <lng>25.2800500</lng>
// </start_location>
// <end_location>
// <lat>54.6907800</lat>
// <lng>25.2798000</lng>
// </end_location>
// <polyline>
// <points>soxlIiohyCYLkCJ}@Vs@?</points>
// </polyline>
// <duration>
// <value>32</value>
// <text>1 min</text>
// </duration>
// <html_instructions>Head &lt;b&gt;north&lt;/b&gt; on &lt;b&gt;Vilniaus gatvė&lt;/b&gt; toward &lt;b&gt;Tilto gatvė&lt;/b&gt;</html_instructions>
// <distance>
// <value>157</value>
// <text>0.2 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.6907800</lat>
// <lng>25.2798000</lng>
// </start_location>
// <end_location>
// <lat>54.6942500</lat>
// <lng>25.2621300</lng>
// </end_location>
// <polyline>
// <points>kxxlIwmhyCmApUF`@GvAYpD{@dGcCjIoIvOuAhDwAtEa@vBUnDAhB?~AThDRxAh@hBtAdC</points>
// </polyline>
// <duration>
// <value>133</value>
// <text>2 mins</text>
// </duration>
// <html_instructions>Turn &lt;b&gt;left&lt;/b&gt; onto &lt;b&gt;A. Goštauto gatvė&lt;/b&gt;</html_instructions>
// <distance>
// <value>1326</value>
// <text>1.3 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.6942500</lat>
// <lng>25.2621300</lng>
// </start_location>
// <end_location>
// <lat>54.6681200</lat>
// <lng>25.2377500</lng>
// </end_location>
// <polyline>
// <points>anylIi_eyC`AwD~@oBLKr@K`U|FdF|@`J^~E[j@Lh@\hB~Bn@tBZhBLrC?zIJ~DzA~OVrELlG^lDdAtDh@hAfApA`EzCvAp@jUpIpAl@bBpAdBpBxA|BdLpV`BxClAbBhBlBbChBpBhAdAXjBHlE_@t@?|@Lt@X</points>
// </polyline>
// <duration>
// <value>277</value>
// <text>5 mins</text>
// </duration>
// <html_instructions>Turn &lt;b&gt;left&lt;/b&gt; to merge onto &lt;b&gt;Geležinio Vilko gatvė&lt;/b&gt;</html_instructions>
// <distance>
// <value>3806</value>
// <text>3.8 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.6681200</lat>
// <lng>25.2377500</lng>
// </start_location>
// <end_location>
// <lat>54.6584100</lat>
// <lng>25.1411300</lng>
// </end_location>
// <polyline>
// <points>wjtlI}f`yC~FhBlFr@jD|A~EbC~VjNxBbBdA`BnvA|zCba@l`Bt@tDTbBJpBBfBMvDaAzF}bBjiF{HnXiHxZ</points>
// </polyline>
// <duration>
// <value>539</value>
// <text>9 mins</text>
// </duration>
// <html_instructions>Continue onto &lt;b&gt;Savanorių prospektas&lt;/b&gt;</html_instructions>
// <distance>
// <value>8465</value>
// <text>8.5 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.6584100</lat>
// <lng>25.1411300</lng>
// </start_location>
// <end_location>
// <lat>54.9358200</lat>
// <lng>23.9260000</lng>
// </end_location>
// <polyline>
// <points>anrlIakmxCiq@|qCuBbLcK~n@wUrkAcPnw@gCnPoQt}AoB`MuAdHmAdFoCtJqClImBxE{DrIkQ|ZcEvIkDzIcDhKyBxJ{EdXuCtS_G`g@mF|\eF`WyDhOiE~NiErMaGpOoj@ppAoE|K_EzKeDtKkEnOsLnd@mDzLgI~U{FrNsEvJoEtI_FpI{J`O_EjFooBf_C{GdJ_FjIsH`OoFhMwH`UcDtL{CzMeDlQmAzHuU~bBiArIwApNaBfWaLfiCoBpYsDf\qChR_FlVqEpQ_ZbfA}CfN{A~HwCtRiAfKmBlVwBx[gBfRcBxMaLdp@sXrzAaE~UqCzRyC`[_q@z|LgC|e@m@vNqp@b}WuLraFo@jPaS~bDmJryAeo@v|G}CnWsm@~`EoKvo@kv@lkEkqBrlKwBvLkNj|@cu@`~EgCnNuiBpcJakAx|GyB`KqdC~fKoIfYicAxtCiDrLu@hDyBjQm@xKoGdxBmQhoGuUn|Dc@nJ[`OW|VaEn|Ee@`X</points>
// </polyline>
// <duration>
// <value>3506</value>
// <text>58 mins</text>
// </duration>
// <html_instructions>Continue onto &lt;b&gt;A1/E85&lt;/b&gt;</html_instructions>
// <distance>
// <value>85824</value>
// <text>85.8 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.9358200</lat>
// <lng>23.9260000</lng>
// </start_location>
// <end_location>
// <lat>54.9376500</lat>
// <lng>23.9195600</lng>
// </end_location>
// <polyline>
// <points>{shnIo``qCQ^MnD[lBgA`DqBdEu@xB}@zJCjB</points>
// </polyline>
// <duration>
// <value>39</value>
// <text>1 min</text>
// </duration>
// <html_instructions>Take the exit toward &lt;b&gt;Senamiestis/Aleksotas&lt;/b&gt;</html_instructions>
// <distance>
// <value>476</value>
// <text>0.5 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.9376500</lat>
// <lng>23.9195600</lng>
// </start_location>
// <end_location>
// <lat>54.9361300</lat>
// <lng>23.9189700</lng>
// </end_location>
// <polyline>
// <points>i_inIgx~pCnHtB</points>
// </polyline>
// <duration>
// <value>28</value>
// <text>1 min</text>
// </duration>
// <html_instructions>Turn &lt;b&gt;left&lt;/b&gt; onto &lt;b&gt;Kleboniškio gatvė&lt;/b&gt;</html_instructions>
// <distance>
// <value>173</value>
// <text>0.2 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.9361300</lat>
// <lng>23.9189700</lng>
// </start_location>
// <end_location>
// <lat>54.9018900</lat>
// <lng>23.8937000</lng>
// </end_location>
// <polyline>
// <points>yuhnIqt~pCvAb@JLrOvExSdHvDdAv`@pIpHnAdl@hLdB`@nDvAtEjDdCvCjLzOvAzBhC`GpHfRbQd^`JpMPt@ClA</points>
// </polyline>
// <duration>
// <value>412</value>
// <text>7 mins</text>
// </duration>
// <html_instructions>Continue onto &lt;b&gt;Jonavos gatvė&lt;/b&gt;</html_instructions>
// <distance>
// <value>4302</value>
// <text>4.3 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.9018900</lat>
// <lng>23.8937000</lng>
// </start_location>
// <end_location>
// <lat>54.8985600</lat>
// <lng>23.8933400</lng>
// </end_location>
// <polyline>
// <points>y_bnIsvypCMf@FnARlAf@zAl@^v@EZ_@pAe@x@k@xBPpA@pAQNSf@oB</points>
// </polyline>
// <duration>
// <value>69</value>
// <text>1 min</text>
// </duration>
// <html_instructions>At the roundabout, take the &lt;b&gt;3rd&lt;/b&gt; exit and stay on &lt;b&gt;Jonavos gatvė&lt;/b&gt;</html_instructions>
// <distance>
// <value>478</value>
// <text>0.5 km</text>
// </distance>
// </step>
// <step>
// <travel_mode>DRIVING</travel_mode>
// <start_location>
// <lat>54.8985600</lat>
// <lng>23.8933400</lng>
// </start_location>
// <end_location>
// <lat>54.8968500</lat>
// <lng>23.8930000</lng>
// </end_location>
// <polyline>
// <points>_kanIktypCbEx@pCH</points>
// </polyline>
// <duration>
// <value>38</value>
// <text>1 min</text>
// </duration>
// <html_instructions>Turn &lt;b&gt;right&lt;/b&gt; onto &lt;b&gt;A. Mapu gatvė&lt;/b&gt;&lt;div style=&quot;font-size:0.9em&quot;&gt;Destination will be on the right&lt;/div&gt;</html_instructions>
// <distance>
// <value>192</value>
// <text>0.2 km</text>
// </distance>
// </step>
// <duration>
// <value>5073</value>
// <text>1 hour 25 mins</text>
// </duration>
// <distance>
// <value>105199</value>
// <text>105 km</text>
// </distance>
// <start_location>
// <lat>54.6893800</lat>
// <lng>25.2800500</lng>
// </start_location>
// <end_location>
// <lat>54.8968500</lat>
// <lng>23.8930000</lng>
// </end_location>
// <start_address>Vilnius, Lithuania</start_address>
// <end_address>Kaunas, Lithuania</end_address>
// </leg>
// <copyrights>Map data ©2011 Tele Atlas</copyrights>
// <overview_polyline>
// <points>soxlIiohyCYL}Fb@mApUF`@GvAYpD{@dGcCjIoIvOwBpFy@xC]jBSxCC~E^~Er@lCtAdC`AwD~@oB`AW`U|FdF|@`J^~E[tAj@hB~BjA~ELrCJzOzA~Od@`N^lDdAtDt@xAjAnApDlCbXbKpAl@bBpAdBpBxA|BdLpV`BxCvDpEbChBpBhAdAXjBHbG_@|@LtHbClFr@jK`F~VjNxBbB`@h@rwAt|Cba@l`BjAxGNxEMvDaAzF}bBjiFcFbQ_y@|gD{CxMeBnJcK~n@wh@dkCkAlIoQt}AeEfV}EzQqClImBxE{DrIkQ|ZcEvIkDzIcDhKyBxJ{EdXuCtS_G`g@mF|\eF`WyDhOiE~NiErMaGpOoj@ppAoE|K_EzKeDtKmXzbAgI~U{FrNsEvJoLfT{J`O_EjFooBf_C{GdJkLtSwI`SyClI}CrJcDtL{CzMeDlQcXzlBiArIwApNaBfWaLfiCoBpYsDf\qChR_FlVqEpQ_ZbfAyFfXwCtRiAfKeFfs@gBfRcBxMaLdp@sXrzAaE~UqCzRyC`[_q@z|LuDtu@qp@b}WuLraFo@jPo^r}Faq@pfHaBtMsm@~`EoKvo@kv@lkEcuBjzKkNj|@cu@`~EgCnNuiBpcJakAx|GyB`KqdC~fKoIfYidAbwCoD|MeAbHcA|Im@xK}YnhKyV~gEs@~f@aEn|Ee@`XQ^MnD[lBoF`N}@zJCjBfKxCJLdj@bQv`@pIpHnAdl@hLdB`@nDvAtEjDdCvCbOvSzLhZbQd^`JpMPt@QtBFnAz@hDl@^j@?f@e@pAe@x@k@xBPfCEf@Uj@wBbEx@pCH</points>
// </overview_polyline>
// <bounds>
// <southwest>
// <lat>54.6389500</lat>
// <lng>23.8920900</lng>
// </southwest>
// <northeast>
// <lat>54.9376500</lat>
// <lng>25.2800500</lng>
// </northeast>
// </bounds>
// </route>
//</DirectionsResponse>
#endregion
 
XmlDocument doc = new XmlDocument();
doc.LoadXml(kml);
 
XmlNode nn = doc.SelectSingleNode("/DirectionsResponse/status");
if (nn != null)
{
ret = (DirectionsStatusCode)Enum.Parse(typeof(DirectionsStatusCode), nn.InnerText, false);
if (ret == DirectionsStatusCode.OK)
{
if (cache && GMaps.Instance.UseDirectionsCache)
{
Cache.Instance.SaveContent(url, CacheType.DirectionsCache, kml);
}
 
direction = new GDirections();
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/summary");
if (nn != null)
{
direction.Summary = nn.InnerText;
Debug.WriteLine("summary: " + direction.Summary);
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/leg/duration");
if (nn != null)
{
var t = nn.SelectSingleNode("text");
if (t != null)
{
direction.Duration = t.InnerText;
Debug.WriteLine("duration: " + direction.Duration);
}
 
t = nn.SelectSingleNode("value");
if (t != null)
{
if (!string.IsNullOrEmpty(t.InnerText))
{
direction.DurationValue = uint.Parse(t.InnerText);
Debug.WriteLine("value: " + direction.DurationValue);
}
}
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/leg/distance");
if (nn != null)
{
var t = nn.SelectSingleNode("text");
if (t != null)
{
direction.Distance = t.InnerText;
Debug.WriteLine("distance: " + direction.Distance);
}
 
t = nn.SelectSingleNode("value");
if (t != null)
{
if (!string.IsNullOrEmpty(t.InnerText))
{
direction.DistanceValue = uint.Parse(t.InnerText);
Debug.WriteLine("value: " + direction.DistanceValue);
}
}
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/leg/start_location");
if (nn != null)
{
var pt = nn.SelectSingleNode("lat");
if (pt != null)
{
direction.StartLocation.Lat = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
 
pt = nn.SelectSingleNode("lng");
if (pt != null)
{
direction.StartLocation.Lng = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/leg/end_location");
if (nn != null)
{
var pt = nn.SelectSingleNode("lat");
if (pt != null)
{
direction.EndLocation.Lat = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
 
pt = nn.SelectSingleNode("lng");
if (pt != null)
{
direction.EndLocation.Lng = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/leg/start_address");
if (nn != null)
{
direction.StartAddress = nn.InnerText;
Debug.WriteLine("start_address: " + direction.StartAddress);
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/leg/end_address");
if (nn != null)
{
direction.EndAddress = nn.InnerText;
Debug.WriteLine("end_address: " + direction.EndAddress);
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/copyrights");
if (nn != null)
{
direction.Copyrights = nn.InnerText;
Debug.WriteLine("copyrights: " + direction.Copyrights);
}
 
nn = doc.SelectSingleNode("/DirectionsResponse/route/overview_polyline/points");
if (nn != null)
{
direction.Route = new List<PointLatLng>();
DecodePointsInto(direction.Route, nn.InnerText);
}
 
XmlNodeList steps = doc.SelectNodes("/DirectionsResponse/route/leg/step");
if (steps != null)
{
if (steps.Count > 0)
{
direction.Steps = new List<GDirectionStep>();
}
 
foreach (XmlNode s in steps)
{
GDirectionStep step = new GDirectionStep();
 
Debug.WriteLine("----------------------");
nn = s.SelectSingleNode("travel_mode");
if (nn != null)
{
step.TravelMode = nn.InnerText;
Debug.WriteLine("travel_mode: " + step.TravelMode);
}
 
nn = s.SelectSingleNode("start_location");
if (nn != null)
{
var pt = nn.SelectSingleNode("lat");
if (pt != null)
{
step.StartLocation.Lat = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
 
pt = nn.SelectSingleNode("lng");
if (pt != null)
{
step.StartLocation.Lng = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
}
 
nn = s.SelectSingleNode("end_location");
if (nn != null)
{
var pt = nn.SelectSingleNode("lat");
if (pt != null)
{
step.EndLocation.Lat = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
 
pt = nn.SelectSingleNode("lng");
if (pt != null)
{
step.EndLocation.Lng = double.Parse(pt.InnerText, CultureInfo.InvariantCulture);
}
}
 
nn = s.SelectSingleNode("duration");
if (nn != null)
{
nn = nn.SelectSingleNode("text");
if (nn != null)
{
step.Duration = nn.InnerText;
Debug.WriteLine("duration: " + step.Duration);
}
}
 
nn = s.SelectSingleNode("distance");
if (nn != null)
{
nn = nn.SelectSingleNode("text");
if (nn != null)
{
step.Distance = nn.InnerText;
Debug.WriteLine("distance: " + step.Distance);
}
}
 
nn = s.SelectSingleNode("html_instructions");
if (nn != null)
{
step.HtmlInstructions = nn.InnerText;
Debug.WriteLine("html_instructions: " + step.HtmlInstructions);
}
 
nn = s.SelectSingleNode("polyline");
if (nn != null)
{
nn = nn.SelectSingleNode("points");
if (nn != null)
{
step.Points = new List<PointLatLng>();
DecodePointsInto(step.Points, nn.InnerText);
}
}
 
direction.Steps.Add(step);
}
}
}
}
}
}
catch (Exception ex)
{
direction = null;
ret = DirectionsStatusCode.ExceptionInCode;
Debug.WriteLine("GetDirectionsUrl: " + ex);
}
return ret;
}
 
static void DecodePointsInto(List<PointLatLng> path, string encodedPath)
{
// https://github.com/googlemaps/google-maps-services-java/blob/master/src/main/java/com/google/maps/internal/PolylineEncoding.java
int len = encodedPath.Length;
int index = 0;
int lat = 0;
int lng = 0;
while (index < len)
{
int result = 1;
int shift = 0;
int b;
do
{
b = encodedPath[index++] - 63 - 1;
result += b << shift;
shift += 5;
} while (b >= 0x1f && index < len);
lat += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
 
result = 1;
shift = 0;
 
if (index < len)
{
do
{
b = encodedPath[index++] - 63 - 1;
result += b << shift;
shift += 5;
} while (b >= 0x1f && index < len);
lng += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
}
 
path.Add(new PointLatLng(lat * 1e-5, lng * 1e-5));
}
}
 
static readonly string DirectionUrlFormatStr = "http://maps.{7}/maps/api/directions/xml?origin={0}&destination={1}&sensor={2}&language={3}{4}{5}{6}";
static readonly string DirectionUrlFormatPoint = "http://maps.{9}/maps/api/directions/xml?origin={0},{1}&destination={2},{3}&sensor={4}&language={5}{6}{7}{8}";
static readonly string DirectionUrlFormatWaypoint = "http://maps.{8}/maps/api/directions/xml?origin={0},{1}&waypoints={2}&destination={9},{10}&sensor={3}&language={4}{5}{6}{7}";
static readonly string DirectionUrlFormatWaypointStr = "http://maps.{7}/maps/api/directions/xml?origin={0}&waypoints={1}&destination={8}&sensor={2}&language={3}{4}{5}{6}";
 
#endregion
 
#endregion
 
#region -- Maps API for Work --
/// <summary>
/// https://developers.google.com/maps/documentation/business/webservices/auth#how_do_i_get_my_signing_key
/// To access the special features of the Google Maps API for Work you must provide a client ID
/// when accessing any of the API libraries or services.
/// When registering for Google Google Maps API for Work you will receive this client ID from Enterprise Support.
/// All client IDs begin with a gme- prefix. Your client ID is passed as the value of the client parameter.
/// Generally, you should store your private key someplace safe and read them into your code
/// </summary>
/// <param name="clientId"></param>
/// <param name="privateKey"></param>
public void SetEnterpriseCredentials(string clientId, string privateKey)
{
privateKey = privateKey.Replace("-", "+").Replace("_", "/");
_privateKeyBytes = Convert.FromBase64String(privateKey);
_clientId = clientId;
}
private byte[] _privateKeyBytes;
 
private string _clientId = string.Empty;
 
/// <summary>
/// Your client ID. To access the special features of the Google Maps API for Work
/// you must provide a client ID when accessing any of the API libraries or services.
/// When registering for Google Google Maps API for Work you will receive this client ID
/// from Enterprise Support. All client IDs begin with a gme- prefix.
/// </summary>
public string ClientId
{
get
{
return _clientId;
}
}
 
string GetSignedUri(Uri uri)
{
var builder = new UriBuilder(uri);
builder.Query = builder.Query.Substring(1) + "&client=" + _clientId;
uri = builder.Uri;
string signature = GetSignature(uri);
 
return uri.Scheme + "://" + uri.Host + uri.LocalPath + uri.Query + "&signature=" + signature;
}
 
string GetSignedUri(string url)
{
return GetSignedUri(new Uri(url));
}
 
string GetSignature(Uri uri)
{
byte[] encodedPathQuery = Encoding.ASCII.GetBytes(uri.LocalPath + uri.Query);
var hashAlgorithm = new HMACSHA1(_privateKeyBytes);
byte[] hashed = hashAlgorithm.ComputeHash(encodedPathQuery);
return Convert.ToBase64String(hashed).Replace("+", "-").Replace("/", "_");
}
#endregion
}
 
/// <summary>
/// GoogleMap provider
/// </summary>
public class GoogleMapProvider : GoogleMapProviderBase
{
public static readonly GoogleMapProvider Instance;
 
GoogleMapProvider()
{
}
 
static GoogleMapProvider()
{
Instance = new GoogleMapProvider();
}
 
public string Version = "m@365000000"; //"m@333000000";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("D7287DA0-A7FF-405F-8166-B6BAF26D066C");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, Server);
}
 
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "vt";
static readonly string UrlFormat = "http://{0}{1}.{10}/maps/{2}/lyrs={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleSatelliteMapProvider.cs
0,0 → 1,66

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleSatelliteMap provider
/// </summary>
public class GoogleSatelliteMapProvider : GoogleMapProviderBase
{
public static readonly GoogleSatelliteMapProvider Instance;
 
GoogleSatelliteMapProvider()
{
}
 
static GoogleSatelliteMapProvider()
{
Instance = new GoogleSatelliteMapProvider();
}
 
public string Version = "701";//"192";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("9CB89D76-67E9-47CF-8137-B9EE9FC46388");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, Server);
}
 
static readonly string UrlFormatServer = "khm";
static readonly string UrlFormatRequest = "kh";
static readonly string UrlFormat = "http://{0}{1}.{10}/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/GoogleTerrainMapProvider.cs
0,0 → 1,66

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleTerrainMap provider
/// </summary>
public class GoogleTerrainMapProvider : GoogleMapProviderBase
{
public static readonly GoogleTerrainMapProvider Instance;
 
GoogleTerrainMapProvider()
{
}
 
static GoogleTerrainMapProvider()
{
Instance = new GoogleTerrainMapProvider();
}
 
public string Version = "t@365,r@365000000"; // "t@132,r@333000000";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("A42EDF2E-63C5-4967-9DBF-4EFB3AF7BC11");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleTerrainMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty; // after &x=...
string sec2 = string.Empty; // after &zoom=...
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, Server);
}
 
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "vt";
static readonly string UrlFormat = "http://{0}{1}.{10}/maps/{2}/lyrs={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/Korea/GoogleKoreaHybridMapProvider.cs
0,0 → 1,79

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleKoreaHybridMap provider
/// </summary>
public class GoogleKoreaHybridMapProvider : GoogleMapProviderBase
{
public static readonly GoogleKoreaHybridMapProvider Instance;
 
GoogleKoreaHybridMapProvider()
{
}
 
static GoogleKoreaHybridMapProvider()
{
Instance = new GoogleKoreaHybridMapProvider();
}
 
public string Version = "kr1t.12";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("41A91842-04BC-442B-9AC8-042156238A5B");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleKoreaHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { GoogleKoreaSatelliteMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty;
string sec2 = string.Empty;
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, ServerKorea);
}
 
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "mt";
static readonly string UrlFormat = "http://{0}{1}.{10}/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/Korea/GoogleKoreaMapProvider.cs
0,0 → 1,67

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleKoreaMap provider
/// </summary>
public class GoogleKoreaMapProvider : GoogleMapProviderBase
{
public static readonly GoogleKoreaMapProvider Instance;
 
GoogleKoreaMapProvider()
{
Area = new RectLatLng(38.6597777307125, 125.738525390625, 4.02099609375, 4.42072406219614);
}
 
static GoogleKoreaMapProvider()
{
Instance = new GoogleKoreaMapProvider();
}
 
public string Version = "kr1.12";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("0079D360-CB1B-4986-93D5-AD299C8E20E6");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleKoreaMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty;
string sec2 = string.Empty;
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, ServerKorea);
}
 
static readonly string UrlFormatServer = "mt";
static readonly string UrlFormatRequest = "mt";
static readonly string UrlFormat = "http://{0}{1}.{10}/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Google/Korea/GoogleKoreaSatelliteMapProvider.cs
0,0 → 1,66

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// GoogleKoreaSatelliteMap provider
/// </summary>
public class GoogleKoreaSatelliteMapProvider : GoogleMapProviderBase
{
public static readonly GoogleKoreaSatelliteMapProvider Instance;
 
GoogleKoreaSatelliteMapProvider()
{
}
 
static GoogleKoreaSatelliteMapProvider()
{
Instance = new GoogleKoreaSatelliteMapProvider();
}
 
public string Version = "170";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("70370941-D70C-4123-BE4A-AEE6754047F5");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "GoogleKoreaSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
string sec1 = string.Empty;
string sec2 = string.Empty;
GetSecureWords(pos, out sec1, out sec2);
 
return string.Format(UrlFormat, UrlFormatServer, GetServerNum(pos, 4), UrlFormatRequest, Version, language, pos.X, sec1, pos.Y, zoom, sec2, ServerKoreaKr);
}
 
static readonly string UrlFormatServer = "khm";
static readonly string UrlFormatRequest = "kh";
static readonly string UrlFormat = "http://{0}{1}.{10}/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/Lithuania3dMapProvider.cs
0,0 → 1,65

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// Lithuania3dMap (2.5d) provider
/// </summary>
public class Lithuania3dMapProvider : LithuaniaMapProviderBase
{
public static readonly Lithuania3dMapProvider Instance;
 
Lithuania3dMapProvider()
{
}
 
static Lithuania3dMapProvider()
{
Instance = new Lithuania3dMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("CCC5B65F-C8BC-47CE-B39D-5E262E6BF083");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "Lithuania 2.5d Map";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://dc1.maps.lt/cache/mapslt_25d_vkkp/map/_alllayers/L01/R00007194/C0000a481.png
int z = zoom;
if(zoom >= 10)
{
z -= 10;
}
 
return string.Format(UrlFormat, z, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://dc1.maps.lt/cache/mapslt_25d_vkkp/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaHybridMapProvider.cs
0,0 → 1,73

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// LithuaniaHybridMap provider
/// </summary>
public class LithuaniaHybridMapProvider : LithuaniaMapProviderBase
{
public static readonly LithuaniaHybridMapProvider Instance;
 
LithuaniaHybridMapProvider()
{
}
 
static LithuaniaHybridMapProvider()
{
Instance = new LithuaniaHybridMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("279AB0E0-4704-4AA6-86AD-87D13B1F8975");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "LithuaniaHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { LithuaniaOrtoFotoMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://dc5.maps.lt/cache/mapslt_ortofoto_overlay/map/_alllayers/L09/R000016b1/C000020e1.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
internal static readonly string UrlFormat = "http://dc5.maps.lt/cache/mapslt_ortofoto_overlay/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaHybridOldMapProvider.cs
0,0 → 1,57

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// LithuaniaHybridOldMap, from 2010 data, provider
/// </summary>
public class LithuaniaHybridOldMapProvider : LithuaniaMapProviderBase
{
public static readonly LithuaniaHybridOldMapProvider Instance;
 
LithuaniaHybridOldMapProvider()
{
}
 
static LithuaniaHybridOldMapProvider()
{
Instance = new LithuaniaHybridOldMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("35C5C685-E868-4AC7-97BE-10A9A37A81B5");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "LithuaniaHybridMapOld";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { LithuaniaOrtoFotoOldMapProvider.Instance, LithuaniaHybridMapProvider.Instance };
}
return overlays;
}
}
 
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaMapProvider.cs
0,0 → 1,116

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class LithuaniaMapProviderBase : GMapProvider
{
public LithuaniaMapProviderBase()
{
RefererUrl = "http://www.maps.lt/map/";
Copyright = string.Format("©{0} Hnit-Baltic - Map data ©{0} ESRI", DateTime.Today.Year);
MaxZoom = 12;
Area = new RectLatLng(56.431489960361, 20.8962105239809, 5.8924169643369, 2.58940626652217);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return LKS94Projection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
}
 
/// <summary>
/// LithuaniaMap provider, http://www.maps.lt/map/
/// </summary>
public class LithuaniaMapProvider : LithuaniaMapProviderBase
{
public static readonly LithuaniaMapProvider Instance;
 
LithuaniaMapProvider()
{
}
 
static LithuaniaMapProvider()
{
Instance = new LithuaniaMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("5859079F-1B5E-484B-B05C-41CE664D8A93");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "LithuaniaMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://dc5.maps.lt/cache/mapslt/map/_alllayers/L08/R00000912/C00000d25.png
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://dc5.maps.lt/cache/mapslt/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaOrtoFotoMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// LithuaniaOrtoFotoMap provider
/// </summary>
public class LithuaniaOrtoFotoMapProvider : LithuaniaMapProviderBase
{
public static readonly LithuaniaOrtoFotoMapProvider Instance;
 
LithuaniaOrtoFotoMapProvider()
{
}
 
static LithuaniaOrtoFotoMapProvider()
{
Instance = new LithuaniaOrtoFotoMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("043FF9EF-612C-411F-943C-32C787A88D6A");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "LithuaniaOrtoFotoMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://dc5.maps.lt/cache/mapslt_ortofoto/map/_alllayers/L08/R00000914/C00000d28.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://dc5.maps.lt/cache/mapslt_ortofoto/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.jpg";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaOrtoFotoOldMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// LithuaniaOrtoFotoNewMap, from 2010 data, provider
/// </summary>
public class LithuaniaOrtoFotoOldMapProvider : LithuaniaMapProviderBase
{
public static readonly LithuaniaOrtoFotoOldMapProvider Instance;
 
LithuaniaOrtoFotoOldMapProvider()
{
}
 
static LithuaniaOrtoFotoOldMapProvider()
{
Instance = new LithuaniaOrtoFotoOldMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("C37A148E-0A7D-4123-BE4E-D0D3603BE46B");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "LithuaniaOrtoFotoMapOld";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://dc1.maps.lt/cache/mapslt_ortofoto_2010/map/_alllayers/L09/R000016b1/C000020e2.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://dc1.maps.lt/cache/mapslt_ortofoto_2010/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.jpg";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaReliefMapProvider.cs
0,0 → 1,70

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
/// <summary>
/// LithuaniaReliefMap provider, http://www.maps.lt/map/
/// </summary>
public class LithuaniaReliefMapProvider : LithuaniaMapProviderBase
{
public static readonly LithuaniaReliefMapProvider Instance;
 
LithuaniaReliefMapProvider()
{
 
}
 
static LithuaniaReliefMapProvider()
{
Instance = new LithuaniaReliefMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("85F89205-1062-4F10-B536-90CD8B2F1B7D");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "LithuaniaReliefMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureProjection Projection
{
get
{
return LKS94rProjection.Instance;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://dc5.maps.lt/cache/mapslt_relief_vector/map/_alllayers/L09/R00001892/C000020df.jpg
 
return string.Format(UrlFormat, zoom, pos.Y, pos.X);
}
 
static readonly string UrlFormat = "http://dc5.maps.lt/cache/mapslt_relief_vector/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Lithuania/LithuaniaTOP50.cs
0,0 → 1,67

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public class LithuaniaTOP50 : GMapProvider
{
public static readonly LithuaniaTOP50 Instance;
 
LithuaniaTOP50()
{
MaxZoom = 15;
}
 
static LithuaniaTOP50()
{
Instance = new LithuaniaTOP50();
}
 
#region GMapProvider Members
 
Guid id = new Guid("2920B1AF-6D57-4895-9A21-D5837CBF1049");
public override Guid Id
{
get
{
return id;
}
}
 
public override string Name
{
get
{
return "LithuaniaTOP50";
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if (overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
return null;
}
#endregion
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/NearMap/NearHybridMapProvider.cs
0,0 → 1,74

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// NearHybridMap provider - http://www.nearmap.com/
/// </summary>
public class NearHybridMapProvider : NearMapProviderBase
{
public static readonly NearHybridMapProvider Instance;
 
NearHybridMapProvider()
{
}
 
static NearHybridMapProvider()
{
Instance = new NearHybridMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("4BF8819A-635D-4A94-8DC7-94C0E0F04BFD");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "NearHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { NearSatelliteMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://web1.nearmap.com/maps/hl=en&x=37&y=19&z=6&nml=MapT&nmg=1&s=2KbhmZZ
// http://web1.nearmap.com/maps/hl=en&x=36&y=19&z=6&nml=MapT&nmg=1&s=2YKWhQi
 
return string.Format(UrlFormat, GetServerNum(pos, 3), pos.X, pos.Y, zoom);
}
 
static readonly string UrlFormat = "http://web{0}.nearmap.com/maps/hl=en&x={1}&y={2}&z={3}&nml=MapT&nmg=1";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/NearMap/NearMapProvider.cs
0,0 → 1,184

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
using System.Net;
using System.Text;
 
/// <summary>
/// http://en.wikipedia.org/wiki/NearMap
/// nearmap originally allowed personal use of images for free for non-enterprise users.
/// However this free access ended in December 2012, when the company modified its business model to user-pay
/// </summary>
public abstract class NearMapProviderBase : GMapProvider
{
public NearMapProviderBase()
{
// credentials doesn't work ;/
//Credential = new NetworkCredential("greatmaps", "greatmaps");
//try ForceBasicHttpAuthentication(...);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
 
public new static int GetServerNum(GPoint pos, int max)
{
// var hostNum=((opts.nodes!==0)?((tileCoords.x&2)%opts.nodes):0)+opts.nodeStart;
return (int)(pos.X & 2) % max;
}
 
static readonly string SecureStr = "Vk52edzNRYKbGjF8Ur0WhmQlZs4wgipDETyL1oOMXIAvqtxJBuf7H36acCnS9P";
 
public string GetSafeString(GPoint pos)
{
#region -- source --
/*
TileLayer.prototype.differenceEngine=function(s,a)
{
var offset=0,result="",alen=a.length,v,p;
for(var i=0; i<alen; i++)
{
v=parseInt(a.charAt(i),10);
if(!isNaN(v))
{
offset+=v;
p=s.charAt(offset%s.length);
result+=p
}
}
return result
};
TileLayer.prototype.getSafeString=function(x,y,nmd)
{
var arg=x.toString()+y.toString()+((3*x)+y).toString();
if(nmd)
{
arg+=nmd
}
return this.differenceEngine(TileLayer._substring,arg)
};
*/
#endregion
 
var arg = pos.X.ToString() + pos.Y.ToString() + ((3 * pos.X) + pos.Y).ToString();
 
string ret = "&s=";
int offset = 0;
for(int i = 0; i < arg.Length; i++)
{
offset += int.Parse(arg[i].ToString());
ret += SecureStr[offset % SecureStr.Length];
}
 
return ret;
}
}
 
/// <summary>
/// NearMap provider - http://www.nearmap.com/
/// </summary>
public class NearMapProvider : NearMapProviderBase
{
public static readonly NearMapProvider Instance;
 
NearMapProvider()
{
RefererUrl = "http://www.nearmap.com/";
}
 
static NearMapProvider()
{
Instance = new NearMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("E33803DF-22CB-4FFA-B8E3-15383ED9969D");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "NearMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://web1.nearmap.com/maps/hl=en&x=18681&y=10415&z=15&nml=Map_&nmg=1&s=kY8lZssipLIJ7c5
// http://web1.nearmap.com/kh/v=nm&hl=en&x=20&y=8&z=5&nml=Map_&s=55KUZ
//http://maps.au.nearmap.com/api/0/authentication/checkticket?nmf=json&return200=true&callback=jQuery110206126813754172529_1431499242400&_=1431499242401
//jQuery110206126813754172529_1431499242400({"IncidentId":null,"AccountContext":{"AccountId":"account2574457","Username":"demo"},"Result":{"Ticket":{"Ticket":"1637726D061CB8B8A28BC98064443C96FB07008C16531B2F5100F98B9EBFE69C4083C88C920D3BF4C0768A27ADE9ECADF324A380DBF80C3C0982DC83374FE8EBF0F70868735351FC7","Expires":"\/Date(1432103400000)\/","CookieName":"nearmap_web3_app"},"Status":"Ok","Username":"demo","AccountId":"account2574457"}})
// http://web1.au.nearmap.com/maps/hl=en&x=1855837&y=1265913&z=21&nml=V&httpauth=false&version=2
// http://web2.au.nearmap.com/maps/hl=en&x=231977&y=158238&z=18&nml=Dem&httpauth=false&version=2
return string.Format(UrlFormat, GetServerNum(pos, 3), pos.X, pos.Y, zoom, GetSafeString(pos));
}
 
static readonly string UrlFormat = "http://web{0}.nearmap.com/kh/v=nm&hl=en&x={1}&y={2}&z={3}&nml=Map_{4}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/NearMap/NearSatelliteMapProvider.cs
0,0 → 1,63

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// NearSatelliteMap provider - http://www.nearmap.com/
/// </summary>
public class NearSatelliteMapProvider : NearMapProviderBase
{
public static readonly NearSatelliteMapProvider Instance;
 
NearSatelliteMapProvider()
{
}
 
static NearSatelliteMapProvider()
{
Instance = new NearSatelliteMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("56D00148-05B7-408D-8F7A-8D7250FF8121");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "NearSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://web2.nearmap.com/maps/hl=en&x=14&y=8&z=5&nml=Vert&s=kdj00
// http://web2.nearmap.com/maps/hl=en&x=6&y=4&z=4&nml=Vert
// http://web2.nearmap.com/maps/hl=en&x=3&y=1&z=3&nml=Vert&s=2edd
// http://web0.nearmap.com/maps/hl=en&x=69&y=39&z=7&nml=Vert&s=z80wiTM
 
return string.Format(UrlFormat, GetServerNum(pos, 4), pos.X, pos.Y, zoom, GetSafeString(pos));
}
 
static readonly string UrlFormat = "http://web{0}.nearmap.com/maps/hl=en&x={1}&y={2}&z={3}&nml=Vert{4}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenCycleLandscapeMapProvider.cs
0,0 → 1,74

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenCycleMap Landscape provider - http://www.opencyclemap.org
/// </summary>
public class OpenCycleLandscapeMapProvider : OpenStreetMapProviderBase
{
public static readonly OpenCycleLandscapeMapProvider Instance;
 
OpenCycleLandscapeMapProvider()
{
RefererUrl = "http://www.opencyclemap.org/";
}
 
static OpenCycleLandscapeMapProvider()
{
Instance = new OpenCycleLandscapeMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("BDBAA939-6597-4D87-8F4F-261C49E35F56");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenCycleLandscapeMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
char letter = ServerLetters[GMapProvider.GetServerNum(pos, 3)];
return string.Format(UrlFormat, letter, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.tile3.opencyclemap.org/landscape/{1}/{2}/{3}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenCycleMapProvider.cs
0,0 → 1,73

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenCycleMap provider - http://www.opencyclemap.org
/// </summary>
public class OpenCycleMapProvider : OpenStreetMapProviderBase
{
public static readonly OpenCycleMapProvider Instance;
 
OpenCycleMapProvider()
{
RefererUrl = "http://www.opencyclemap.org/";
}
 
static OpenCycleMapProvider()
{
Instance = new OpenCycleMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("D7E1826E-EE1E-4441-9F15-7C2DE0FE0B0A");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenCycleMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
char letter = ServerLetters[GMapProvider.GetServerNum(pos, 3)];
return string.Format(UrlFormat, letter, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.tile.opencyclemap.org/cycle/{1}/{2}/{3}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenCycleTransportMapProvider.cs
0,0 → 1,73

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenCycleMap Transport provider - http://www.opencyclemap.org
/// </summary>
public class OpenCycleTransportMapProvider : OpenStreetMapProviderBase
{
public static readonly OpenCycleTransportMapProvider Instance;
 
OpenCycleTransportMapProvider()
{
RefererUrl = "http://www.opencyclemap.org/";
}
 
static OpenCycleTransportMapProvider()
{
Instance = new OpenCycleTransportMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("AF66DF88-AD25-43A9-8F82-56FCA49A748A");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenCycleTransportMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
char letter = ServerLetters[GMapProvider.GetServerNum(pos, 3)];
return string.Format(UrlFormat, letter, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.tile2.opencyclemap.org/transport/{1}/{2}/{3}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenSeaMapHybridProvider.cs
0,0 → 1,72

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenSeaMapHybrid provider - http://openseamap.org
/// </summary>
public class OpenSeaMapHybridProvider : OpenStreetMapProviderBase
{
public static readonly OpenSeaMapHybridProvider Instance;
 
OpenSeaMapHybridProvider()
{
RefererUrl = "http://openseamap.org/";
}
 
static OpenSeaMapHybridProvider()
{
Instance = new OpenSeaMapHybridProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("FAACDE73-4B90-4AE6-BB4A-ADE4F3545592");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenSeaMapHybrid";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { OpenStreetMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://tiles.openseamap.org/seamark/{0}/{1}/{2}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreet4UMapProvider.cs
0,0 → 1,79

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenStreet4UMap provider
/// http://www.4umaps.eu
///
/// 4UMaps are topographic outdoor maps based on OpenStreetmap data.
/// The map contains everything you need for any kind of back country activity like hiking,
/// mountain biking, cycling, climbing etc. 4UMaps has elevation lines, hill shading,
/// peak height and name, streets, ways, tracks and trails, as well as springs, supermarkets,
/// restaurants, hotels, shelters etc.
/// </summary>
public class OpenStreet4UMapProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreet4UMapProvider Instance;
 
OpenStreet4UMapProvider()
{
RefererUrl = "http://www.4umaps.eu/map.htm";
Copyright = string.Format("© 4UMaps.eu, © OpenStreetMap - Map data ©{0} OpenStreetMap", DateTime.Today.Year);
}
 
static OpenStreet4UMapProvider()
{
Instance = new OpenStreet4UMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("3E3D919E-9814-4978-B430-6AAB2C1E41B2");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreet4UMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom);
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom)
{
return string.Format(UrlFormat, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://4umaps.eu/{0}/{1}/{2}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapProvider.cs
0,0 → 1,547
 
namespace GMap.NET.MapProviders
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Xml;
using GMap.NET.Internals;
using GMap.NET.Projections;
 
public abstract class OpenStreetMapProviderBase : GMapProvider, RoutingProvider, GeocodingProvider
{
public OpenStreetMapProviderBase()
{
MaxZoom = null;
RefererUrl = "http://www.openstreetmap.org/";
Copyright = string.Format("© OpenStreetMap - Map data ©{0} OpenStreetMap", DateTime.Today.Year);
}
 
public readonly string ServerLetters = "abc";
public int MinExpectedRank = 0;
 
#region GMapProvider Members
 
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
public override GMapProvider[] Overlays
{
get
{
throw new NotImplementedException();
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
 
#endregion
 
#region GMapRoutingProvider Members
 
public MapRoute GetRoute(PointLatLng start, PointLatLng end, bool avoidHighways, bool walkingMode, int Zoom)
{
List<PointLatLng> points = GetRoutePoints(MakeRoutingUrl(start, end, walkingMode ? TravelTypeFoot : TravelTypeMotorCar));
MapRoute route = points != null ? new MapRoute(points, walkingMode ? WalkingStr : DrivingStr) : null;
return route;
}
 
/// <summary>
/// NotImplemented
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="avoidHighways"></param>
/// <param name="walkingMode"></param>
/// <param name="Zoom"></param>
/// <returns></returns>
public MapRoute GetRoute(string start, string end, bool avoidHighways, bool walkingMode, int Zoom)
{
throw new NotImplementedException("use GetRoute(PointLatLng start, PointLatLng end...");
}
 
#region -- internals --
string MakeRoutingUrl(PointLatLng start, PointLatLng end, string travelType)
{
return string.Format(CultureInfo.InvariantCulture, RoutingUrlFormat, start.Lat, start.Lng, end.Lat, end.Lng, travelType);
}
 
List<PointLatLng> GetRoutePoints(string url)
{
List<PointLatLng> points = null;
try
{
string route = GMaps.Instance.UseRouteCache ? Cache.Instance.GetContent(url, CacheType.RouteCache) : string.Empty;
if(string.IsNullOrEmpty(route))
{
route = GetContentUsingHttp(url);
if(!string.IsNullOrEmpty(route))
{
if(GMaps.Instance.UseRouteCache)
{
Cache.Instance.SaveContent(url, CacheType.RouteCache, route);
}
}
}
 
if(!string.IsNullOrEmpty(route))
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(route);
System.Xml.XmlNamespaceManager xmlnsManager = new System.Xml.XmlNamespaceManager(xmldoc.NameTable);
xmlnsManager.AddNamespace("sm", "http://earth.google.com/kml/2.0");
 
///Folder/Placemark/LineString/coordinates
var coordNode = xmldoc.SelectSingleNode("/sm:kml/sm:Document/sm:Folder/sm:Placemark/sm:LineString/sm:coordinates", xmlnsManager);
 
string[] coordinates = coordNode.InnerText.Split('\n');
 
if(coordinates.Length > 0)
{
points = new List<PointLatLng>();
 
foreach(string coordinate in coordinates)
{
if(coordinate != string.Empty)
{
string[] XY = coordinate.Split(',');
if(XY.Length == 2)
{
double lat = double.Parse(XY[1], CultureInfo.InvariantCulture);
double lng = double.Parse(XY[0], CultureInfo.InvariantCulture);
points.Add(new PointLatLng(lat, lng));
}
}
}
}
}
}
catch(Exception ex)
{
Debug.WriteLine("GetRoutePoints: " + ex);
}
 
return points;
}
 
static readonly string RoutingUrlFormat = "http://www.yournavigation.org/api/1.0/gosmore.php?format=kml&flat={0}&flon={1}&tlat={2}&tlon={3}&v={4}&fast=1&layer=mapnik";
static readonly string TravelTypeFoot = "foot";
static readonly string TravelTypeMotorCar = "motorcar";
 
static readonly string WalkingStr = "Walking";
static readonly string DrivingStr = "Driving";
#endregion
 
#endregion
 
#region GeocodingProvider Members
 
public GeoCoderStatusCode GetPoints(string keywords, out List<PointLatLng> pointList)
{
// http://nominatim.openstreetmap.org/search?q=lithuania,vilnius&format=xml
 
#region -- response --
//<searchresults timestamp="Wed, 01 Feb 12 09:46:00 -0500" attribution="Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0." querystring="lithuania,vilnius" polygon="false" exclude_place_ids="29446018,53849547,8831058,29614806" more_url="http://open.mapquestapi.com/nominatim/v1/search?format=xml&exclude_place_ids=29446018,53849547,8831058,29614806&accept-language=en&q=lithuania%2Cvilnius">
//<place place_id="29446018" osm_type="way" osm_id="24598347" place_rank="30" boundingbox="54.6868133544922,54.6879043579102,25.2885360717773,25.2898139953613" lat="54.6873633486028" lon="25.289199818878" display_name="National Museum of Lithuania, 1, Arsenalo g., Senamiesčio seniūnija, YAHOO-HIRES-20080313, Vilnius County, Šalčininkų rajonas, Vilniaus apskritis, 01513, Lithuania" class="tourism" type="museum" icon="http://open.mapquestapi.com/nominatim/v1/images/mapicons/tourist_museum.p.20.png"/>
//<place place_id="53849547" osm_type="way" osm_id="55469274" place_rank="30" boundingbox="54.6896553039551,54.690486907959,25.2675743103027,25.2692089080811" lat="54.6900227236882" lon="25.2683589759401" display_name="Ministry of Foreign Affairs of the Republic of Lithuania, 2, J. Tumo Vaižganto g., Naujamiesčio seniūnija, Vilnius, Vilnius County, Vilniaus m. savivaldybė, Vilniaus apskritis, LT-01104, Lithuania" class="amenity" type="public_building"/>
//<place place_id="8831058" osm_type="node" osm_id="836234960" place_rank="30" boundingbox="54.6670935059,54.6870973206,25.2638857269,25.2838876343" lat="54.677095" lon="25.2738876" display_name="Railway Museum of Lithuania, 15, Mindaugo g., Senamiesčio seniūnija, Vilnius, Vilnius County, Vilniaus m. savivaldybė, Vilniaus apskritis, 03215, Lithuania" class="tourism" type="museum" icon="http://open.mapquestapi.com/nominatim/v1/images/mapicons/tourist_museum.p.20.png"/>
//<place place_id="29614806" osm_type="way" osm_id="24845629" place_rank="30" boundingbox="54.6904983520508,54.6920852661133,25.2606296539307,25.2628803253174" lat="54.6913385159005" lon="25.2617684209873" display_name="Seimas (Parliament) of the Republic of Lithuania, 53, Gedimino pr., Naujamiesčio seniūnija, Vilnius, Vilnius County, Vilniaus m. savivaldybė, Vilniaus apskritis, LT-01111, Lithuania" class="amenity" type="public_building"/>
//</searchresults>
#endregion
 
return GetLatLngFromGeocoderUrl(MakeGeocoderUrl(keywords), out pointList);
}
 
public PointLatLng? GetPoint(string keywords, out GeoCoderStatusCode status)
{
List<PointLatLng> pointList;
status = GetPoints(keywords, out pointList);
return pointList != null && pointList.Count > 0 ? pointList[0] : (PointLatLng?) null;
}
 
public GeoCoderStatusCode GetPoints(Placemark placemark, out List<PointLatLng> pointList)
{
// http://nominatim.openstreetmap.org/search?street=&city=vilnius&county=&state=&country=lithuania&postalcode=&format=xml
 
#region -- response --
//<searchresults timestamp="Thu, 29 Nov 12 08:38:23 +0000" attribution="Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="vilnius, lithuania" polygon="false" exclude_place_ids="98093941" more_url="http://nominatim.openstreetmap.org/search?format=xml&exclude_place_ids=98093941&accept-language=de-de,de;q=0.8,en-us;q=0.5,en;q=0.3&q=vilnius%2C+lithuania">
//<place place_id="98093941" osm_type="relation" osm_id="1529146" place_rank="16" boundingbox="54.5693359375,54.8323097229004,25.0250644683838,25.4815216064453" lat="54.6843135" lon="25.2853984" display_name="Vilnius, Vilniaus m. savivaldybė, Distrikt Vilnius, Litauen" class="boundary" type="administrative" icon="http://nominatim.openstreetmap.org/images/mapicons/poi_boundary_administrative.p.20.png"/>
//</searchresults>
#endregion
 
return GetLatLngFromGeocoderUrl(MakeDetailedGeocoderUrl(placemark), out pointList);
}
 
public PointLatLng? GetPoint(Placemark placemark, out GeoCoderStatusCode status)
{
List<PointLatLng> pointList;
status = GetPoints(placemark, out pointList);
return pointList != null && pointList.Count > 0 ? pointList[0] : (PointLatLng?) null;
}
 
public GeoCoderStatusCode GetPlacemarks(PointLatLng location, out List<Placemark> placemarkList)
{
throw new NotImplementedException("use GetPlacemark");
}
 
public Placemark? GetPlacemark(PointLatLng location, out GeoCoderStatusCode status)
{
//http://nominatim.openstreetmap.org/reverse?format=xml&lat=52.5487429714954&lon=-1.81602098644987&zoom=18&addressdetails=1
 
#region -- response --
/*
<reversegeocode timestamp="Wed, 01 Feb 12 09:51:11 -0500" attribution="Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0." querystring="format=xml&lat=52.5487429714954&lon=-1.81602098644987&zoom=18&addressdetails=1">
<result place_id="2061235282" osm_type="way" osm_id="90394420" lat="52.5487800131654" lon="-1.81626922291265">
137, Pilkington Avenue, Castle Vale, City of Birmingham, West Midlands, England, B72 1LH, United Kingdom
</result>
<addressparts>
<house_number>
137
</house_number>
<road>
Pilkington Avenue
</road>
<suburb>
Castle Vale
</suburb>
<city>
City of Birmingham
</city>
<county>
West Midlands
</county>
<state_district>
West Midlands
</state_district>
<state>
England
</state>
<postcode>
B72 1LH
</postcode>
<country>
United Kingdom
</country>
<country_code>
gb
</country_code>
</addressparts>
</reversegeocode>
*/
 
#endregion
 
return GetPlacemarkFromReverseGeocoderUrl(MakeReverseGeocoderUrl(location), out status);
}
 
#region -- internals --
 
string MakeGeocoderUrl(string keywords)
{
return string.Format(GeocoderUrlFormat, keywords.Replace(' ', '+'));
}
 
string MakeDetailedGeocoderUrl(Placemark placemark)
{
var street = String.Join(" ", new[] { placemark.HouseNo, placemark.ThoroughfareName }).Trim();
return string.Format(GeocoderDetailedUrlFormat,
street.Replace(' ', '+'),
placemark.LocalityName.Replace(' ', '+'),
placemark.SubAdministrativeAreaName.Replace(' ', '+'),
placemark.AdministrativeAreaName.Replace(' ', '+'),
placemark.CountryName.Replace(' ', '+'),
placemark.PostalCodeNumber.Replace(' ', '+'));
}
 
string MakeReverseGeocoderUrl(PointLatLng pt)
{
return string.Format(CultureInfo.InvariantCulture, ReverseGeocoderUrlFormat, pt.Lat, pt.Lng);
}
 
GeoCoderStatusCode GetLatLngFromGeocoderUrl(string url, out List<PointLatLng> pointList)
{
var status = GeoCoderStatusCode.Unknow;
pointList = null;
 
try
{
string geo = GMaps.Instance.UseGeocoderCache ? Cache.Instance.GetContent(url, CacheType.GeocoderCache) : string.Empty;
 
bool cache = false;
 
if(string.IsNullOrEmpty(geo))
{
geo = GetContentUsingHttp(url);
 
if(!string.IsNullOrEmpty(geo))
{
cache = true;
}
}
 
if(!string.IsNullOrEmpty(geo))
{
if(geo.StartsWith("<?xml") && geo.Contains("<place"))
{
if(cache && GMaps.Instance.UseGeocoderCache)
{
Cache.Instance.SaveContent(url, CacheType.GeocoderCache, geo);
}
 
XmlDocument doc = new XmlDocument();
doc.LoadXml(geo);
{
XmlNodeList l = doc.SelectNodes("/searchresults/place");
if(l != null)
{
pointList = new List<PointLatLng>();
 
foreach(XmlNode n in l)
{
var nn = n.Attributes["place_rank"];
 
int rank = 0;
#if !PocketPC
if (nn != null && Int32.TryParse(nn.Value, out rank))
{
#else
if(nn != null && !string.IsNullOrEmpty(nn.Value))
{
rank = int.Parse(nn.Value, NumberStyles.Integer, CultureInfo.InvariantCulture);
#endif
if(rank < MinExpectedRank)
continue;
}
 
nn = n.Attributes["lat"];
if(nn != null)
{
double lat = double.Parse(nn.Value, CultureInfo.InvariantCulture);
 
nn = n.Attributes["lon"];
if(nn != null)
{
double lng = double.Parse(nn.Value, CultureInfo.InvariantCulture);
pointList.Add(new PointLatLng(lat, lng));
}
}
}
 
status = GeoCoderStatusCode.G_GEO_SUCCESS;
}
}
}
}
}
catch(Exception ex)
{
status = GeoCoderStatusCode.ExceptionInCode;
Debug.WriteLine("GetLatLngFromGeocoderUrl: " + ex);
}
 
return status;
}
 
Placemark? GetPlacemarkFromReverseGeocoderUrl(string url, out GeoCoderStatusCode status)
{
status = GeoCoderStatusCode.Unknow;
Placemark? ret = null;
 
try
{
string geo = GMaps.Instance.UsePlacemarkCache ? Cache.Instance.GetContent(url, CacheType.PlacemarkCache) : string.Empty;
 
bool cache = false;
 
if(string.IsNullOrEmpty(geo))
{
geo = GetContentUsingHttp(url);
 
if(!string.IsNullOrEmpty(geo))
{
cache = true;
}
}
 
if(!string.IsNullOrEmpty(geo))
{
if(geo.StartsWith("<?xml") && geo.Contains("<result"))
{
if(cache && GMaps.Instance.UsePlacemarkCache)
{
Cache.Instance.SaveContent(url, CacheType.PlacemarkCache, geo);
}
 
XmlDocument doc = new XmlDocument();
doc.LoadXml(geo);
{
XmlNode r = doc.SelectSingleNode("/reversegeocode/result");
if(r != null)
{
var p = new Placemark(r.InnerText);
 
XmlNode ad = doc.SelectSingleNode("/reversegeocode/addressparts");
if(ad != null)
{
var vl = ad.SelectSingleNode("country");
if(vl != null)
{
p.CountryName = vl.InnerText;
}
 
vl = ad.SelectSingleNode("country_code");
if(vl != null)
{
p.CountryNameCode = vl.InnerText;
}
 
vl = ad.SelectSingleNode("postcode");
if(vl != null)
{
p.PostalCodeNumber = vl.InnerText;
}
 
vl = ad.SelectSingleNode("state");
if(vl != null)
{
p.AdministrativeAreaName = vl.InnerText;
}
 
vl = ad.SelectSingleNode("region");
if(vl != null)
{
p.SubAdministrativeAreaName = vl.InnerText;
}
 
vl = ad.SelectSingleNode("suburb");
if(vl != null)
{
p.LocalityName = vl.InnerText;
}
 
vl = ad.SelectSingleNode("road");
if(vl != null)
{
p.ThoroughfareName = vl.InnerText;
}
}
 
ret = p;
 
status = GeoCoderStatusCode.G_GEO_SUCCESS;
}
}
}
}
}
catch(Exception ex)
{
ret = null;
status = GeoCoderStatusCode.ExceptionInCode;
Debug.WriteLine("GetPlacemarkFromReverseGeocoderUrl: " + ex);
}
 
return ret;
}
 
static readonly string ReverseGeocoderUrlFormat = "http://nominatim.openstreetmap.org/reverse?format=xml&lat={0}&lon={1}&zoom=18&addressdetails=1";
static readonly string GeocoderUrlFormat = "http://nominatim.openstreetmap.org/search?q={0}&format=xml";
static readonly string GeocoderDetailedUrlFormat = "http://nominatim.openstreetmap.org/search?street={0}&city={1}&county={2}&state={3}&country={4}&postalcode={5}&format=xml";
 
#endregion
 
#endregion
}
 
/// <summary>
/// OpenStreetMap provider - http://www.openstreetmap.org/
/// </summary>
public class OpenStreetMapProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreetMapProvider Instance;
 
OpenStreetMapProvider()
{
}
 
static OpenStreetMapProvider()
{
Instance = new OpenStreetMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("0521335C-92EC-47A8-98A5-6FD333DDA9C0");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreetMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
char letter = ServerLetters[GetServerNum(pos, 3)];
return string.Format(UrlFormat, letter, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.tile.openstreetmap.org/{1}/{2}/{3}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapQuestHybridProvider.cs
0,0 → 1,72

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenStreetMapQuestHybrid provider - http://wiki.openstreetmap.org/wiki/MapQuest
/// </summary>
public class OpenStreetMapQuestHybridProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreetMapQuestHybridProvider Instance;
 
OpenStreetMapQuestHybridProvider()
{
Copyright = string.Format("© MapQuest - Map data ©{0} MapQuest, OpenStreetMap", DateTime.Today.Year);
}
 
static OpenStreetMapQuestHybridProvider()
{
Instance = new OpenStreetMapQuestHybridProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("95E05027-F846-4429-AB7A-9445ABEEFA2A");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreetMapQuestHybrid";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { OpenStreetMapQuestSatteliteProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://otile{0}.mqcdn.com/tiles/1.0.0/hyb/{1}/{2}/{3}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapQuestProvider.cs
0,0 → 1,72

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenStreetMapQuest provider - http://wiki.openstreetmap.org/wiki/MapQuest
/// </summary>
public class OpenStreetMapQuestProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreetMapQuestProvider Instance;
 
OpenStreetMapQuestProvider()
{
Copyright = string.Format("© MapQuest - Map data ©{0} MapQuest, OpenStreetMap", DateTime.Today.Year);
}
 
static OpenStreetMapQuestProvider()
{
Instance = new OpenStreetMapQuestProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("D0A12840-973A-448B-B9C2-89B8A07DFF0F");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreetMapQuest";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://otile{0}.mqcdn.com/tiles/1.0.0/osm/{1}/{2}/{3}.png";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapQuestSatteliteProvider.cs
0,0 → 1,72

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OpenStreetMapQuestSattelite provider - http://wiki.openstreetmap.org/wiki/MapQuest
/// </summary>
public class OpenStreetMapQuestSatteliteProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreetMapQuestSatteliteProvider Instance;
 
OpenStreetMapQuestSatteliteProvider()
{
Copyright = string.Format("© MapQuest - Map data ©{0} MapQuest, OpenStreetMap", DateTime.Today.Year);
}
 
static OpenStreetMapQuestSatteliteProvider()
{
Instance = new OpenStreetMapQuestSatteliteProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("E590D3B1-37F4-442B-9395-ADB035627F67");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreetMapQuestSattelite";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, GetServerNum(pos, 3) + 1, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://otile{0}.mqcdn.com/tiles/1.0.0/sat/{1}/{2}/{3}.jpg";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapSurferProvider.cs
0,0 → 1,78

namespace GMap.NET.MapProviders
{
using System;
 
#if OpenStreetMapSurfer
/// <summary>
/// OpenStreetMapSurfer provider
/// http://wiki.openstreetmap.org/wiki/MapSurfer.Net
///
/// Since May 2011 the service http://www.mapsurfer.net is unavailable due
/// to hosting problems.
/// </summary>
public class OpenStreetMapSurferProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreetMapSurferProvider Instance;
 
OpenStreetMapSurferProvider()
{
RefererUrl = "http://www.mapsurfer.net/";
}
 
static OpenStreetMapSurferProvider()
{
Instance = new OpenStreetMapSurferProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("6282888B-2F01-4029-9CD8-0CFFCB043995");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreetMapSurfer";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, pos.X, pos.Y, zoom);
}
 
static readonly string UrlFormat = "http://tiles1.mapsurfer.net/tms_r.ashx?x={0}&y={1}&z={2}";
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetMapSurferTerrainProvider.cs
0,0 → 1,74

namespace GMap.NET.MapProviders
{
using System;
 
#if OpenStreetMapSurfer
/// <summary>
/// OpenStreetMapSurferTerrain provider
/// </summary>
public class OpenStreetMapSurferTerrainProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreetMapSurferTerrainProvider Instance;
 
OpenStreetMapSurferTerrainProvider()
{
RefererUrl = "http://www.mapsurfer.net/";
}
 
static OpenStreetMapSurferTerrainProvider()
{
Instance = new OpenStreetMapSurferTerrainProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("E87954A4-1852-4B64-95FA-24E512E4B021");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreetMapSurferTerrain";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, pos.X, pos.Y, zoom);
}
 
static readonly string UrlFormat = "http://tiles2.mapsurfer.net/tms_t.ashx?x={0}&y={1}&z={2}";
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/OpenStreetMap/OpenStreetOsmProvider.cs
0,0 → 1,80

namespace GMap.NET.MapProviders
{
using System;
 
#if OpenStreetOsm
/// <summary>
/// OpenStreetOsm provider
/// http://wiki.openstreetmap.org/wiki/Osmarender
///
/// Osmarender is a rule-based rendering tool for generating SVG images
/// of OSM data. Note that Osmarender has not been actively maintained
/// since March 2012 and was discontinued as a main Slippy Map layer on
/// openstreetmap.org around that time.
/// </summary>
public class OpenStreetOsmProvider : OpenStreetMapProviderBase
{
public static readonly OpenStreetOsmProvider Instance;
 
OpenStreetOsmProvider()
{
}
 
static OpenStreetOsmProvider()
{
Instance = new OpenStreetOsmProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("07EF8CBC-A91D-4B2F-8B2D-70DBE384EF18");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OpenStreetOsm";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, string.Empty);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
char letter = ServerLetters[GMapProvider.GetServerNum(pos, 3)];
return string.Format(UrlFormat, letter, zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.tah.openstreetmap.org/Tiles/tile/{1}/{2}/{3}.png";
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviHybridMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OviHybridMap provider
/// </summary>
public class OviHybridMapProvider : OviMapProviderBase
{
public static readonly OviHybridMapProvider Instance;
 
OviHybridMapProvider()
{
}
 
static OviHybridMapProvider()
{
Instance = new OviHybridMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("B85A8FD2-40F4-40EE-9B45-491AA45D86C1");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OviHybridMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://c.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/hybrid.day/12/2316/1277/256/png8
 
return string.Format(UrlFormat, UrlServerLetters[GetServerNum(pos, 4)], zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/hybrid.day/{1}/{2}/{3}/256/png8";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviMapProvider.cs
0,0 → 1,117

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
 
public abstract class OviMapProviderBase : GMapProvider
{
public OviMapProviderBase()
{
MaxZoom = null;
RefererUrl = "http://maps.ovi.com/";
Copyright = string.Format("©{0} OVI Nokia - Map data ©{0} NAVTEQ, Imagery ©{0} DigitalGlobe", DateTime.Today.Year);
}
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
 
protected static readonly string UrlServerLetters = "bcde";
}
 
/// <summary>
/// OviMap provider
/// </summary>
public class OviMapProvider : OviMapProviderBase
{
public static readonly OviMapProvider Instance;
 
OviMapProvider()
{
}
 
static OviMapProvider()
{
Instance = new OviMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("30DC1083-AC4D-4471-A232-D8A67AC9373A");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OviMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://c.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/normal.day/12/2321/1276/256/png8
 
return string.Format(UrlFormat, UrlServerLetters[GetServerNum(pos, 4)], zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/normal.day/{1}/{2}/{3}/256/png8";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviSatelliteMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OviSatelliteMap provider
/// </summary>
public class OviSatelliteMapProvider : OviMapProviderBase
{
public static readonly OviSatelliteMapProvider Instance;
 
OviSatelliteMapProvider()
{
}
 
static OviSatelliteMapProvider()
{
Instance = new OviSatelliteMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("6696CE12-7694-4073-BC48-79EE849F2563");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OviSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://b.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/satellite.day/12/2313/1275/256/png8
 
return string.Format(UrlFormat, UrlServerLetters[GetServerNum(pos, 4)], zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/satellite.day/{1}/{2}/{3}/256/png8";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Ovi/OviTerrainMapProvider.cs
0,0 → 1,60

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// OviTerrainMap provider
/// </summary>
public class OviTerrainMapProvider : OviMapProviderBase
{
public static readonly OviTerrainMapProvider Instance;
 
OviTerrainMapProvider()
{
}
 
static OviTerrainMapProvider()
{
Instance = new OviTerrainMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("7267339C-445E-4E61-B8B8-82D0B7AAACC5");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "OviTerrainMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://d.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/terrain.day/12/2317/1277/256/png8
 
return string.Format(UrlFormat, UrlServerLetters[GetServerNum(pos, 4)], zoom, pos.X, pos.Y);
}
 
static readonly string UrlFormat = "http://{0}.maptile.maps.svc.ovi.com/maptiler/v2/maptile/newest/terrain.day/{1}/{2}/{3}/256/png8";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Yahoo/YahooHybridMapProvider.cs
0,0 → 1,75

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// YahooHybridMap provider
/// </summary>
public class YahooHybridMapProvider : YahooMapProviderBase
{
public static readonly YahooHybridMapProvider Instance;
 
YahooHybridMapProvider()
{
}
 
static YahooHybridMapProvider()
{
Instance = new YahooHybridMapProvider();
}
 
public string Version = "4.3";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("A084E0DB-F9A6-45C1-BC2F-791E1F4E958E");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "YahooHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { YahooSatelliteMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://maps1.yimg.com/hx/tl?b=1&v=4.3&t=h&.intl=en&x=14&y=5&z=7&r=1
 
return string.Format(UrlFormat, ((GetServerNum(pos, 2)) + 1), Version, language, pos.X, (((1 << zoom) >> 1) - 1 - pos.Y), (zoom + 1));
}
 
static readonly string UrlFormat = "http://maps{0}.yimg.com/hx/tl?v={1}&t=h&.intl={2}&x={3}&y={4}&z={5}&r=1";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Yahoo/YahooMapProvider.cs
0,0 → 1,427
 
namespace GMap.NET.MapProviders
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Xml;
using GMap.NET.Internals;
using GMap.NET.Projections;
 
public abstract class YahooMapProviderBase : GMapProvider, GeocodingProvider
{
public YahooMapProviderBase()
{
RefererUrl = "http://maps.yahoo.com/";
Copyright = string.Format("© Yahoo! Inc. - Map data & Imagery ©{0} NAVTEQ", DateTime.Today.Year);
}
 
public string AppId = string.Empty;
public int MinExpectedQuality = 39;
 
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjection.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
 
#region GeocodingProvider Members
 
public GeoCoderStatusCode GetPoints(string keywords, out List<PointLatLng> pointList)
{
// http://where.yahooapis.com/geocode?q=lithuania,vilnius&appid=1234&flags=CG&gflags=QL&locale=LT-lt
 
#region -- response --
//<ResultSet version="1.0"><Error>0</Error><ErrorMessage>No error</ErrorMessage><Locale>LT-lt</Locale><Quality>40</Quality><Found>1</Found><Result><quality>40</quality><latitude>54.689850</latitude><longitude>25.269260</longitude><offsetlat>54.689850</offsetlat><offsetlon>25.269260</offsetlon><radius>46100</radius></Result></ResultSet>
#endregion
 
return GetLatLngFromGeocoderUrl(MakeGeocoderUrl(keywords), out pointList);
}
 
public PointLatLng? GetPoint(string keywords, out GeoCoderStatusCode status)
{
List<PointLatLng> pointList;
status = GetPoints(keywords, out pointList);
return pointList != null && pointList.Count > 0 ? pointList[0] : (PointLatLng?)null;
}
 
public GeoCoderStatusCode GetPoints(Placemark placemark, out List<PointLatLng> pointList)
{
// http://where.yahooapis.com/geocode?country=LT&state=Vilniaus+Apskritis&county=Vilniaus+Miesto+Savivaldybe&city=Vilnius&neighborhood=Naujamiestis&postal=01108&street=J.+Tumo-Vaizganto+Gatve&house=2&appid=1234&flags=CG&gflags=QL&locale=LT-lt
 
#region -- response --
//<ResultSet version="1.0"><Error>0</Error><ErrorMessage>No error</ErrorMessage><Locale>LT-lt</Locale><Quality>19</Quality><Found>1</Found><Result><quality>87</quality><latitude>54.690181</latitude><longitude>25.269483</longitude><offsetlat>54.690227</offsetlat><offsetlon>25.269278</offsetlon><radius>500</radius></Result></ResultSet>
#endregion
 
return GetLatLngFromGeocoderUrl(MakeGeocoderDetailedUrl(placemark), out pointList);
}
 
public PointLatLng? GetPoint(Placemark placemark, out GeoCoderStatusCode status)
{
List<PointLatLng> pointList;
status = GetPoints(placemark, out pointList);
return pointList != null && pointList.Count > 0 ? pointList[0] : (PointLatLng?)null;
}
 
public GeoCoderStatusCode GetPlacemarks(PointLatLng location, out List<Placemark> placemarkList)
{
// http://where.yahooapis.com/geocode?q=54.689850,25.269260&appid=1234&flags=G&gflags=QRL&locale=LT-lt
 
#region -- response --
//<ResultSet version="1.0"><Error>0</Error><ErrorMessage>No error</ErrorMessage><Locale>LT-lt</Locale><Quality>99</Quality><Found>1</Found><Result><quality>99</quality><latitude>54.689850</latitude><longitude>25.269260</longitude><offsetlat>54.689850</offsetlat><offsetlon>25.269260</offsetlon><radius>500</radius><name>54.689850,25.269260</name><line1>2 J. Tumo-Vaizganto Gatve</line1><line2>01108 Naujamiestis</line2><line3/><line4>Lietuvos Respublika</line4><house>2</house><street>J. Tumo-Vaizganto Gatve</street><xstreet/><unittype/><unit/><postal>01108</postal><level4>Naujamiestis</level4><level3>Vilnius</level3><level2>Vilniaus Miesto Savivaldybe</level2><level1>Vilniaus Apskritis</level1><level0>Lietuvos Respublika</level0><level0code>LT</level0code><level1code/><level2code/><hash/><woeid>12758362</woeid><woetype>11</woetype><uzip>01108</uzip></Result></ResultSet>
#endregion
 
return GetPlacemarksFromReverseGeocoderUrl(MakeReverseGeocoderUrl(location), out placemarkList);
}
 
public Placemark ? GetPlacemark(PointLatLng location, out GeoCoderStatusCode status)
{
List<Placemark> placemarkList;
status = GetPlacemarks(location, out placemarkList);
return placemarkList != null && placemarkList.Count > 0 ? placemarkList[0] : (Placemark?)null;
}
 
#region -- internals --
 
string MakeGeocoderUrl(string keywords)
{
return string.Format(CultureInfo.InvariantCulture, GeocoderUrlFormat, keywords.Replace(' ', '+'), AppId, !string.IsNullOrEmpty(LanguageStr) ? "&locale=" + LanguageStr : "");
}
 
string MakeGeocoderDetailedUrl(Placemark placemark)
{
return string.Format(GeocoderDetailedUrlFormat,
PrepareUrlString(placemark.CountryName),
PrepareUrlString(placemark.AdministrativeAreaName),
PrepareUrlString(placemark.SubAdministrativeAreaName),
PrepareUrlString(placemark.LocalityName),
PrepareUrlString(placemark.DistrictName),
PrepareUrlString(placemark.PostalCodeNumber),
PrepareUrlString(placemark.ThoroughfareName),
PrepareUrlString(placemark.HouseNo),
AppId,
!string.IsNullOrEmpty(LanguageStr) ? "&locale=" + LanguageStr : string.Empty);
}
 
string MakeReverseGeocoderUrl(PointLatLng pt)
{
return string.Format(CultureInfo.InvariantCulture, ReverseGeocoderUrlFormat, pt.Lat, pt.Lng, AppId, !string.IsNullOrEmpty(LanguageStr) ? "&locale=" + LanguageStr : "");
}
 
string PrepareUrlString(string str)
{
if (str == null) return string.Empty;
return str.Replace(' ', '+');
}
 
GeoCoderStatusCode GetLatLngFromGeocoderUrl(string url, out List<PointLatLng> pointList)
{
var status = GeoCoderStatusCode.Unknow;
pointList = null;
 
try
{
string geo = GMaps.Instance.UseGeocoderCache ? Cache.Instance.GetContent(url, CacheType.GeocoderCache) : string.Empty;
 
bool cache = false;
 
if (string.IsNullOrEmpty(geo))
{
geo = GetContentUsingHttp(url);
 
if (!string.IsNullOrEmpty(geo))
{
cache = true;
}
}
 
if (!string.IsNullOrEmpty(geo))
{
if (geo.StartsWith("<?xml") && geo.Contains("<Result"))
{
if (cache && GMaps.Instance.UseGeocoderCache)
{
Cache.Instance.SaveContent(url, CacheType.GeocoderCache, geo);
}
 
XmlDocument doc = new XmlDocument();
doc.LoadXml(geo);
{
XmlNodeList l = doc.SelectNodes("/ResultSet/Result");
if (l != null)
{
pointList = new List<PointLatLng>();
 
foreach (XmlNode n in l)
{
var nn = n.SelectSingleNode("quality");
if (nn != null)
{
var quality = int.Parse(nn.InnerText);
if (quality < MinExpectedQuality) continue;
 
nn = n.SelectSingleNode("latitude");
if (nn != null)
{
double lat = double.Parse(nn.InnerText, CultureInfo.InvariantCulture);
 
nn = n.SelectSingleNode("longitude");
if (nn != null)
{
double lng = double.Parse(nn.InnerText, CultureInfo.InvariantCulture);
pointList.Add(new PointLatLng(lat, lng));
}
}
}
}
 
status = GeoCoderStatusCode.G_GEO_SUCCESS;
}
}
}
}
}
catch (Exception ex)
{
status = GeoCoderStatusCode.ExceptionInCode;
Debug.WriteLine("GetLatLngFromGeocoderUrl: " + ex);
}
 
return status;
}
 
GeoCoderStatusCode GetPlacemarksFromReverseGeocoderUrl(string url, out List<Placemark> placemarkList)
{
var status = GeoCoderStatusCode.Unknow;
placemarkList = null;
 
try
{
string geo = GMaps.Instance.UsePlacemarkCache ? Cache.Instance.GetContent(url, CacheType.PlacemarkCache) : string.Empty;
 
bool cache = false;
 
if (string.IsNullOrEmpty(geo))
{
geo = GetContentUsingHttp(url);
 
if (!string.IsNullOrEmpty(geo))
{
cache = true;
}
}
 
if (!string.IsNullOrEmpty(geo))
{
if (geo.StartsWith("<?xml") && geo.Contains("<ResultSet"))
{
if (cache && GMaps.Instance.UsePlacemarkCache)
{
Cache.Instance.SaveContent(url, CacheType.PlacemarkCache, geo);
}
 
XmlDocument doc = new XmlDocument();
doc.LoadXml(geo);
{
XmlNodeList l = doc.SelectNodes("/ResultSet/Result");
if (l != null)
{
placemarkList = new List<Placemark>();
 
foreach (XmlNode n in l)
{
var vl = n.SelectSingleNode("name");
if (vl == null) continue;
 
Placemark placemark = new Placemark(vl.InnerText);
 
vl = n.SelectSingleNode("level0");
if (vl != null)
{
placemark.CountryName = vl.InnerText;
}
 
vl = n.SelectSingleNode("level0code");
if (vl != null)
{
placemark.CountryNameCode = vl.InnerText;
}
 
vl = n.SelectSingleNode("postal");
if (vl != null)
{
placemark.PostalCodeNumber = vl.InnerText;
}
 
vl = n.SelectSingleNode("level1");
if (vl != null)
{
placemark.AdministrativeAreaName = vl.InnerText;
}
 
vl = n.SelectSingleNode("level2");
if (vl != null)
{
placemark.SubAdministrativeAreaName = vl.InnerText;
}
 
vl = n.SelectSingleNode("level3");
if (vl != null)
{
placemark.LocalityName = vl.InnerText;
}
 
vl = n.SelectSingleNode("level4");
if (vl != null)
{
placemark.DistrictName = vl.InnerText;
}
 
vl = n.SelectSingleNode("street");
if (vl != null)
{
placemark.ThoroughfareName = vl.InnerText;
}
 
vl = n.SelectSingleNode("house");
if (vl != null)
{
placemark.HouseNo = vl.InnerText;
}
 
vl = n.SelectSingleNode("radius");
if (vl != null)
{
placemark.Accuracy = int.Parse(vl.InnerText);
}
placemarkList.Add(placemark);
}
 
status = GeoCoderStatusCode.G_GEO_SUCCESS;
}
}
}
}
}
catch (Exception ex)
{
status = GeoCoderStatusCode.ExceptionInCode;
Debug.WriteLine("GetPlacemarkFromReverseGeocoderUrl: " + ex);
}
 
return status;
}
 
static readonly string ReverseGeocoderUrlFormat = "http://where.yahooapis.com/geocode?q={0},{1}&appid={2}&flags=G&gflags=QRL{3}";
static readonly string GeocoderUrlFormat = "http://where.yahooapis.com/geocode?q={0}&appid={1}&flags=CG&gflags=QL{2}";
static readonly string GeocoderDetailedUrlFormat = "http://where.yahooapis.com/geocode?country={0}&state={1}&county={2}&city={3}&neighborhood={4}&postal={5}&street={6}&house={7}&appid={8}&flags=CG&gflags=QL{9}";
 
#endregion
 
#endregion
}
 
/// <summary>
/// YahooMap provider
/// </summary>
public class YahooMapProvider : YahooMapProviderBase
{
public static readonly YahooMapProvider Instance;
 
YahooMapProvider()
{
}
 
static YahooMapProvider()
{
Instance = new YahooMapProvider();
}
 
public string Version = "2.1";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("65DB032C-6869-49B0-A7FC-3AE41A26AF4D");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "YahooMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://maps1.yimg.com/hx/tl?b=1&v=4.3&.intl=en&x=12&y=7&z=7&r=1
// http://2.base.maps.api.here.com/maptile/2.1/maptile/newest/normal.day/11/1169/652/256/png8?lg=EN&token=TrLJuXVK62IQk0vuXFzaig%3D%3D&app_id=eAdkWGYRoc4RfxVo0Z4B
// https://4.aerial.maps.api.here.com/maptile/2.1/maptile/newest/hybrid.day/11/1167/652/256/jpg?lg=ENG&token=TrLJuXVK62IQk0vuXFzaig%3D%3D&requestid=yahoo.prod&app_id=eAdkWGYRoc4RfxVo0Z4B
// https://4.aerial.maps.api.here.com/maptile/2.1/maptile/newest/satellite.day/13/4671/2604/256/jpg?lg=ENG&token=TrLJuXVK62IQk0vuXFzaig%3D%3D&requestid=yahoo.prod&app_id=eAdkWGYRoc4RfxVo0Z4B
 
return string.Format(UrlFormat, ((GetServerNum(pos, 2)) + 1), Version, zoom, pos.X, pos.Y, language, rnd1, rnd2);
}
 
string rnd1 = Guid.NewGuid().ToString("N").Substring(0, 28);
string rnd2 = Guid.NewGuid().ToString("N").Substring(0, 20);
 
//static readonly string UrlFormat = "http://maps{0}.yimg.com/hx/tl?v={1}&.intl={2}&x={3}&y={4}&z={5}&r=1";
static readonly string UrlFormat = "http://{0}.base.maps.api.here.com/maptile/{1}/maptile/newest/normal.day/{2}/{3}/{4}/256/png8?lg={5}&token={6}&requestid=yahoo.prod&app_id={7}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Yahoo/YahooSatelliteMapProvider.cs
0,0 → 1,62

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// YahooSatelliteMap provider
/// </summary>
public class YahooSatelliteMapProvider : YahooMapProviderBase
{
public static readonly YahooSatelliteMapProvider Instance;
 
YahooSatelliteMapProvider()
{
}
 
static YahooSatelliteMapProvider()
{
Instance = new YahooSatelliteMapProvider();
}
 
public string Version = "1.9";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("55D71878-913F-4320-B5B6-B4167A3F148F");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "YahooSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
// http://maps3.yimg.com/ae/ximg?v=1.9&t=a&s=256&.intl=en&x=15&y=7&z=7&r=1
 
return string.Format(UrlFormat, ((GetServerNum(pos, 2)) + 1), Version, language, pos.X, (((1 << zoom) >> 1) - 1 - pos.Y), (zoom + 1));
}
 
static readonly string UrlFormat = "http://maps{0}.yimg.com/ae/ximg?v={1}&t=a&s=256&.intl={2}&x={3}&y={4}&z={5}&r=1";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Yandex/YandexHybridMapProvider.cs
0,0 → 1,72

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// YandexHybridMap provider
/// </summary>
public class YandexHybridMapProvider : YandexMapProviderBase
{
public static readonly YandexHybridMapProvider Instance;
 
YandexHybridMapProvider()
{
}
 
static YandexHybridMapProvider()
{
Instance = new YandexHybridMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("78A3830F-5EE3-432C-A32E-91B7AF6BBCB9");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "YandexHybridMap";
public override string Name
{
get
{
return name;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { YandexSatelliteMapProvider.Instance, this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, UrlServer, GetServerNum(pos, 4) + 1, Version, pos.X, pos.Y, zoom, language, Server);
}
 
static readonly string UrlServer = "vec";
static readonly string UrlFormat = "http://{0}0{1}.{7}/tiles?l=skl&v={2}&x={3}&y={4}&z={5}&lang={6}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Yandex/YandexMapProvider.cs
0,0 → 1,115

namespace GMap.NET.MapProviders
{
using System;
using GMap.NET.Projections;
using GMap.NET.Internals;
 
public abstract class YandexMapProviderBase : GMapProvider
{
#region GMapProvider Members
public override Guid Id
{
get
{
throw new NotImplementedException();
}
}
 
public override string Name
{
get
{
throw new NotImplementedException();
}
}
 
public override PureProjection Projection
{
get
{
return MercatorProjectionYandex.Instance;
}
}
 
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if(overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
throw new NotImplementedException();
}
#endregion
 
protected string Version = "4.6.9";
 
public readonly string Server /*d{'_'}b*/ = /*{^_^}*/ Stuff.GString /*{"_"}*/ (/* ;}~ */"MECxW6okUK3Ir7a9ue/vIA=="/* ;}~ */);
public readonly string ServerRu /*d{'_'}b*/ = /*{^_^}*/ Stuff.GString /*{"_"}*/ (/* ;}~ */"MECxW6okUK0FRlRPbF0BQg=="/* ;}~ */);
public readonly string ServerCom /*d{'_'}b*/ = /*{^_^}*/ Stuff.GString/*{"_"}*/ (/* ;}~ */"MECxW6okUK2JNHOW5AuimA=="/* ;}~ */);
}
 
/// <summary>
/// YenduxMap provider
/// </summary>
public class YandexMapProvider : YandexMapProviderBase
{
public static readonly YandexMapProvider Instance;
 
YandexMapProvider()
{
RefererUrl = "http://" + ServerCom + "/";
}
 
static YandexMapProvider()
{
Instance = new YandexMapProvider();
}
 
#region GMapProvider Members
 
readonly Guid id = new Guid("82DC969D-0491-40F3-8C21-4D90B67F47EB");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "YandexMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, UrlServer, GetServerNum(pos, 4) + 1, Version, pos.X, pos.Y, zoom, language, Server);
}
 
static readonly string UrlServer = "vec";
static readonly string UrlFormat = "http://{0}0{1}.{7}/tiles?l=map&v={2}&x={3}&y={4}&z={5}&lang={6}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.MapProviders/Yandex/YandexSatelliteMapProvider.cs
0,0 → 1,61

namespace GMap.NET.MapProviders
{
using System;
 
/// <summary>
/// YandexSatelliteMap provider
/// </summary>
public class YandexSatelliteMapProvider : YandexMapProviderBase
{
public static readonly YandexSatelliteMapProvider Instance;
 
YandexSatelliteMapProvider()
{
}
 
static YandexSatelliteMapProvider()
{
Instance = new YandexSatelliteMapProvider();
}
 
public new string Version = "3.135.0";
 
#region GMapProvider Members
 
readonly Guid id = new Guid("2D4CE763-0F91-40B2-A511-13EF428237AD");
public override Guid Id
{
get
{
return id;
}
}
 
readonly string name = "YandexSatelliteMap";
public override string Name
{
get
{
return name;
}
}
 
public override PureImage GetTileImage(GPoint pos, int zoom)
{
string url = MakeTileImageUrl(pos, zoom, LanguageStr);
 
return GetTileImageUsingHttp(url);
}
 
#endregion
 
string MakeTileImageUrl(GPoint pos, int zoom, string language)
{
return string.Format(UrlFormat, UrlServer, GetServerNum(pos, 4) + 1, Version, pos.X, pos.Y, zoom, language, Server);
}
 
static readonly string UrlServer = "sat";
static readonly string UrlFormat = "http://{0}0{1}.{7}/tiles?l=sat&v={2}&x={3}&y={4}&z={5}&lang={6}";
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/MapsLTProjection.cs
0,0 → 1,622

namespace GMap.NET.Projections
{
using System;
using System.Collections.Generic;
 
/// <summary>
/// GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]
/// PROJCS["LKS94 / Lithuania TM",GEOGCS["LKS94",DATUM["Lithuania_1994_ETRS89",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6126"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4669"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",24],PARAMETER["scale_factor",0.9998],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],AUTHORITY["EPSG","3346"],AXIS["Y",EAST],AXIS["X",NORTH]]
/// </summary>
public class LKS94Projection : PureProjection
{
public static readonly LKS94Projection Instance = new LKS94Projection();
 
static readonly double MinLatitude = 53.33;
static readonly double MaxLatitude = 56.55;
static readonly double MinLongitude = 20.22;
static readonly double MaxLongitude = 27.11;
 
static readonly double orignX = -5122000;
static readonly double orignY = 10000100;
 
static readonly double scaleFactor = 0.9998; // scale factor
static readonly double centralMeridian = 0.41887902047863912;// Center longitude (projection center)
static readonly double latOrigin = 0.0; // center latitude
static readonly double falseNorthing = 0.0; // y offset in meters
static readonly double falseEasting = 500000.0; // x offset in meters
static readonly double semiMajor = 6378137.0; // major axis
static readonly double semiMinor = 6356752.3141403561; // minor axis
static readonly double semiMinor2 = 6356752.3142451793; // minor axis
static readonly double metersPerUnit = 1.0;
static readonly double COS_67P5 = 0.38268343236508977; // cosine of 67.5 degrees
static readonly double AD_C = 1.0026000; // Toms region 1 constant
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257222101);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
GPoint ret = GPoint.Empty;
 
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
double[] lks = new double[] { lng, lat };
lks = DTM10(lks);
lks = MTD10(lks);
lks = DTM00(lks);
 
double res = GetTileMatrixResolution(zoom);
return LksToPixel(lks, res);
}
 
static GPoint LksToPixel(double[] lks, double res)
{
return new GPoint((long)Math.Floor((lks[0] - orignX) / res), (long)Math.Floor((orignY - lks[1]) / res));
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
double res = GetTileMatrixResolution(zoom);
 
double[] lks = new double[] { (x * res) + orignX, orignY - (y * res) };
lks = MTD11(lks);
lks = DTM10(lks);
lks = MTD10(lks);
 
ret.Lat = Clip(lks[1], MinLatitude, MaxLatitude);
ret.Lng = Clip(lks[0], MinLongitude, MaxLongitude);
 
return ret;
}
 
double[] DTM10(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD10(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
bool AtPole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if(pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if(pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if(pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
AtPole = true;
lon = 0.0;
if(Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if(Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor, };
}
}
}
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); // initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor * ses * Sin3_B0; // corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
if(Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if(Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if(!AtPole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] DTM00(double[] lonlat)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
 
double delta_lon = 0.0; // Delta longitude (Given longitude - center)
double sin_phi, cos_phi; // sin and cos value
double al, als; // temporary values
double c, t, tq; // temporary values
double con, n, ml; // cone constant, small m
 
delta_lon = AdjustLongitude(lon - centralMeridian);
SinCos(lat, out sin_phi, out cos_phi);
 
al = cos_phi * delta_lon;
als = Math.Pow(al, 2);
c = esp * Math.Pow(cos_phi, 2);
tq = Math.Tan(lat);
t = Math.Pow(tq, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
ml = semiMajor * mlfn(e0, e1, e2, e3, lat);
 
double x = scaleFactor * n * al * (1.0 + als / 6.0 * (1.0 - t + c + als / 20.0 *
(5.0 - 18.0 * t + Math.Pow(t, 2) + 72.0 * c - 58.0 * esp))) + falseEasting;
 
double y = scaleFactor * (ml - ml0 + n * tq * (als * (0.5 + als / 24.0 *
(5.0 - t + 9.0 * c + 4.0 * Math.Pow(c, 2) + als / 30.0 * (61.0 - 58.0 * t
+ Math.Pow(t, 2) + 600.0 * c - 330.0 * esp))))) + falseNorthing;
 
if(lonlat.Length < 3)
return new double[] { x / metersPerUnit, y / metersPerUnit };
else
return new double[] { x / metersPerUnit, y / metersPerUnit, lonlat[2] };
}
 
double[] DTM01(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD01(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
bool At_Pole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if(pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if(pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if(pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
At_Pole = true;
lon = 0.0;
if(Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if(Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor2, };
}
}
}
 
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); //initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor2 * ses * Sin3_B0; //corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
 
if(Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if(Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if(!At_Pole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] MTD11(double[] p)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double con, phi;
double delta_phi;
long i;
double sin_phi, cos_phi, tan_phi;
double c, cs, t, ts, n, r, d, ds;
long max_iter = 6;
 
double x = p[0] * metersPerUnit - falseEasting;
double y = p[1] * metersPerUnit - falseNorthing;
 
con = (ml0 + y / scaleFactor) / semiMajor;
phi = con;
for(i = 0; ; i++)
{
delta_phi = ((con + e1 * Math.Sin(2.0 * phi) - e2 * Math.Sin(4.0 * phi) + e3 * Math.Sin(6.0 * phi)) / e0) - phi;
phi += delta_phi;
 
if(Math.Abs(delta_phi) <= EPSLoN)
break;
 
if(i >= max_iter)
throw new ArgumentException("Latitude failed to converge");
}
 
if(Math.Abs(phi) < HALF_PI)
{
SinCos(phi, out sin_phi, out cos_phi);
tan_phi = Math.Tan(phi);
c = esp * Math.Pow(cos_phi, 2);
cs = Math.Pow(c, 2);
t = Math.Pow(tan_phi, 2);
ts = Math.Pow(t, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
r = n * (1.0 - es) / con;
d = x / (n * scaleFactor);
ds = Math.Pow(d, 2);
 
double lat = phi - (n * tan_phi * ds / r) * (0.5 - ds / 24.0 * (5.0 + 3.0 * t +
10.0 * c - 4.0 * cs - 9.0 * esp - ds / 30.0 * (61.0 + 90.0 * t +
298.0 * c + 45.0 * ts - 252.0 * esp - 3.0 * cs)));
 
double lon = AdjustLongitude(centralMeridian + (d * (1.0 - ds / 6.0 * (1.0 + 2.0 * t +
c - ds / 20.0 * (5.0 - 2.0 * c + 28.0 * t - 3.0 * cs + 8.0 * esp +
24.0 * ts))) / cos_phi));
 
if(p.Length < 3)
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat) };
else
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), p[2] };
}
else
{
if(p.Length < 3)
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian) };
else
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian), p[2] };
}
}
 
#region -- levels info --
// layers":[{"id":0,"name":"Lietuva","parentLayerId":-1, "defaultVisibility":true,
// "subLayerIds":null,
//
// "minScale":10000000,"maxScale":900}],
// "tables":[],"spatialReference":{"wkid":2600,"latestWkid":3346},
// "singleFusedMapCache":true,"tileInfo":{"rows":256,"cols":256,"dpi":96,"format":"PNG8","compressionQuality":0,
//
// "origin":{"x":-5122000,"y":10000100},
// "spatialReference":{"wkid":2600,"latestWkid":3346},
//
// "lods":[
//{"level":0,"resolution":1587.5031750063501,"scale":6000000},
//{"level":1,"resolution":793.7515875031751,"scale":3000000},
//{"level":2,"resolution":529.1677250021168,"scale":2000000},
//{"level":3,"resolution":264.5838625010584,"scale":1000000},
//{"level":4,"resolution":132.2919312505292,"scale":500000},
//{"level":5,"resolution":52.91677250021167,"scale":200000},
//{"level":6,"resolution":26.458386250105836,"scale":100000},
//{"level":7,"resolution":13.229193125052918,"scale":50000},
//{"level":8,"resolution":6.614596562526459,"scale":25000},
//{"level":9,"resolution":2.6458386250105836,"scale":10000},
//{"level":10,"resolution":1.3229193125052918,"scale":5000},
//{"level":11,"resolution":0.5291677250021167,"scale":2000},
//{"level":12,"resolution":0.26458386250105836,"scale":1000}]},
 
//"initialExtent":
//{"xmin":95993.35274978809,"ymin":5830525.306491293,
//"xmax":852703.1995028148,"ymax":6400968.114043575,
//"spatialReference":{"wkid":2600,"latestWkid":3346}},
 
//"fullExtent":{"xmin":38843.23844955949,"ymin":5663308.305390623,
//"xmax":907736.6429030352,"ymax":6555485.089744193,
//"spatialReference":{"wkid":2600,"latestWkid":3346}},
 
//"minScale":6000000,"maxScale":1000,"units":"esriMeters",
//"supportedImageFormatTypes":"PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ,BMP",
//"documentInfo":{"Title":"Lietuvos topografinis žemėlapis"
//"xmax":1050000,"ymax":6500000, units":"esriMeters"
#endregion
 
public static double GetTileMatrixResolution(int zoom)
{
double ret = 0;
 
switch(zoom)
{
#region -- sizes --
case 0:
{
ret = 1587.5031750063501;
}
break;
 
case 1:
{
ret = 793.7515875031751;
}
break;
 
case 2:
{
ret = 529.1677250021168;
}
break;
 
case 3:
{
ret = 264.5838625010584;
}
break;
 
case 4:
{
ret = 132.2919312505292;
}
break;
 
case 5:
{
ret = 52.91677250021167;
}
break;
 
case 6:
{
ret = 26.458386250105836;
}
break;
 
case 7:
{
ret = 13.229193125052918;
}
break;
 
case 8:
{
ret = 6.614596562526459;
}
break;
 
case 9:
{
ret = 2.6458386250105836;
}
break;
 
case 10:
{
ret = 1.3229193125052918;
}
break;
 
case 11:
{
ret = 0.5291677250021167;
}
break;
 
case 12:
{
ret = 0.26458386250105836;
}
break;
#endregion
}
 
return ret;
}
 
public override double GetGroundResolution(int zoom, double latitude)
{
return GetTileMatrixResolution(zoom);
}
 
Dictionary<int, GSize> extentMatrixMin;
Dictionary<int, GSize> extentMatrixMax;
 
public override GSize GetTileMatrixMinXY(int zoom)
{
if(extentMatrixMin == null)
{
GenerateExtents();
}
return extentMatrixMin[zoom];
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
if(extentMatrixMax == null)
{
GenerateExtents();
}
return extentMatrixMax[zoom];
}
 
void GenerateExtents()
{
extentMatrixMin = new Dictionary<int, GSize>();
extentMatrixMax = new Dictionary<int, GSize>();
//RectLatLng Extent = RectLatLng.FromLTRB(219818.60040028347, 6407318.126743601, 747927.9899523959, 5826291.964691277);
 
for(int i = 0; i <= 12; i++)
{
double res = GetTileMatrixResolution(i);
//extentMatrixMin.Add(i, new GSize(FromPixelToTileXY(LksToPixel(new double[]{ Extent.Left, Extent.Top }, res))));
//extentMatrixMax.Add(i, new GSize(FromPixelToTileXY(LksToPixel(new double[] { Extent.Right, Extent.Bottom }, res))));
 
extentMatrixMin.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationTopLeft, i))));
extentMatrixMax.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationRightBottom, i))));
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/MapsLTReliefProjection.cs
0,0 → 1,621

namespace GMap.NET.Projections
{
using System;
using System.Collections.Generic;
 
/// <summary>
/// GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]
/// PROJCS["LKS94 / Lithuania TM",GEOGCS["LKS94",DATUM["Lithuania_1994_ETRS89",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6126"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4669"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",24],PARAMETER["scale_factor",0.9998],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],AUTHORITY["EPSG","3346"],AXIS["Y",EAST],AXIS["X",NORTH]]
/// </summary>
public class LKS94rProjection : PureProjection
{
public static readonly LKS94rProjection Instance = new LKS94rProjection();
 
static readonly double MinLatitude = 53.33;
static readonly double MaxLatitude = 56.55;
static readonly double MinLongitude = 20.22;
static readonly double MaxLongitude = 27.11;
 
static readonly double orignX = -5122000;
static readonly double orignY = 10325013.240285;
 
static readonly double scaleFactor = 0.9998; // scale factor
static readonly double centralMeridian = 0.41887902047863912;// Center longitude (projection center)
static readonly double latOrigin = 0.0; // center latitude
static readonly double falseNorthing = 0.0; // y offset in meters
static readonly double falseEasting = 500000.0; // x offset in meters
static readonly double semiMajor = 6378137.0; // major axis
static readonly double semiMinor = 6356752.3141403561; // minor axis
static readonly double semiMinor2 = 6356752.3142451793; // minor axis
static readonly double metersPerUnit = 1.0;
static readonly double COS_67P5 = 0.38268343236508977; // cosine of 67.5 degrees
static readonly double AD_C = 1.0026000; // Toms region 1 constant
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257222101);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
double[] lks = new double[] { lng, lat };
lks = DTM10(lks);
lks = MTD10(lks);
lks = DTM00(lks);
 
double res = GetTileMatrixResolution(zoom);
return LksToPixel(lks, res);
}
 
static GPoint LksToPixel(double[] lks, double res)
{
return new GPoint((long)Math.Floor((lks[0] - orignX) / res), (long)Math.Floor((orignY - lks[1]) / res));
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
double res = GetTileMatrixResolution(zoom);
 
double[] lks = new double[] { (x * res) + orignX, orignY - (y * res) };
lks = MTD11(lks);
lks = DTM10(lks);
lks = MTD10(lks);
 
ret.Lat = Clip(lks[1], MinLatitude, MaxLatitude);
ret.Lng = Clip(lks[0], MinLongitude, MaxLongitude);
 
return ret;
}
 
double[] DTM10(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD10(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
bool AtPole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if(pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if(pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if(pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
AtPole = true;
lon = 0.0;
if(Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if(Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor, };
}
}
}
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); // initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor * ses * Sin3_B0; // corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
if(Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if(Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if(!AtPole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] DTM00(double[] lonlat)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
 
double delta_lon = 0.0; // Delta longitude (Given longitude - center)
double sin_phi, cos_phi; // sin and cos value
double al, als; // temporary values
double c, t, tq; // temporary values
double con, n, ml; // cone constant, small m
 
delta_lon = AdjustLongitude(lon - centralMeridian);
SinCos(lat, out sin_phi, out cos_phi);
 
al = cos_phi * delta_lon;
als = Math.Pow(al, 2);
c = esp * Math.Pow(cos_phi, 2);
tq = Math.Tan(lat);
t = Math.Pow(tq, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
ml = semiMajor * mlfn(e0, e1, e2, e3, lat);
 
double x = scaleFactor * n * al * (1.0 + als / 6.0 * (1.0 - t + c + als / 20.0 *
(5.0 - 18.0 * t + Math.Pow(t, 2) + 72.0 * c - 58.0 * esp))) + falseEasting;
 
double y = scaleFactor * (ml - ml0 + n * tq * (als * (0.5 + als / 24.0 *
(5.0 - t + 9.0 * c + 4.0 * Math.Pow(c, 2) + als / 30.0 * (61.0 - 58.0 * t
+ Math.Pow(t, 2) + 600.0 * c - 330.0 * esp))))) + falseNorthing;
 
if(lonlat.Length < 3)
return new double[] { x / metersPerUnit, y / metersPerUnit };
else
return new double[] { x / metersPerUnit, y / metersPerUnit, lonlat[2] };
}
 
double[] DTM01(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD01(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
bool At_Pole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if(pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if(pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if(pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
At_Pole = true;
lon = 0.0;
if(Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if(Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor2, };
}
}
}
 
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); //initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor2 * ses * Sin3_B0; //corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
 
if(Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if(Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if(!At_Pole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] MTD11(double[] p)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double con, phi;
double delta_phi;
long i;
double sin_phi, cos_phi, tan_phi;
double c, cs, t, ts, n, r, d, ds;
long max_iter = 6;
 
double x = p[0] * metersPerUnit - falseEasting;
double y = p[1] * metersPerUnit - falseNorthing;
 
con = (ml0 + y / scaleFactor) / semiMajor;
phi = con;
for(i = 0; ; i++)
{
delta_phi = ((con + e1 * Math.Sin(2.0 * phi) - e2 * Math.Sin(4.0 * phi) + e3 * Math.Sin(6.0 * phi)) / e0) - phi;
phi += delta_phi;
 
if(Math.Abs(delta_phi) <= EPSLoN)
break;
 
if(i >= max_iter)
throw new ArgumentException("Latitude failed to converge");
}
 
if(Math.Abs(phi) < HALF_PI)
{
SinCos(phi, out sin_phi, out cos_phi);
tan_phi = Math.Tan(phi);
c = esp * Math.Pow(cos_phi, 2);
cs = Math.Pow(c, 2);
t = Math.Pow(tan_phi, 2);
ts = Math.Pow(t, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
r = n * (1.0 - es) / con;
d = x / (n * scaleFactor);
ds = Math.Pow(d, 2);
 
double lat = phi - (n * tan_phi * ds / r) * (0.5 - ds / 24.0 * (5.0 + 3.0 * t +
10.0 * c - 4.0 * cs - 9.0 * esp - ds / 30.0 * (61.0 + 90.0 * t +
298.0 * c + 45.0 * ts - 252.0 * esp - 3.0 * cs)));
 
double lon = AdjustLongitude(centralMeridian + (d * (1.0 - ds / 6.0 * (1.0 + 2.0 * t +
c - ds / 20.0 * (5.0 - 2.0 * c + 28.0 * t - 3.0 * cs + 8.0 * esp +
24.0 * ts))) / cos_phi));
 
if(p.Length < 3)
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat) };
else
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), p[2] };
}
else
{
if(p.Length < 3)
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian) };
else
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian), p[2] };
}
}
 
#region -- levels info --
/*
* "layers":[
* {"id":0,"name":"Lietuva","parentLayerId":-1,"defaultVisibility":true,
* "subLayerIds":null,
*
* "minScale":10000000,"maxScale":900}],
* "tables":[],"spatialReference":{"wkid":2600,"latestWkid":3346},
* "singleFusedMapCache":true,"tileInfo":{"rows":256,"cols":256,"dpi":96,"format":"MIXED","compressionQuality":90,
*
* "origin":{"x":-5122000,"y":1.0325013240285E7},
* "spatialReference":{"wkid":2600,"latestWkid":3346},
*
* "lods":[
* {"level":0,"resolution":1587.5031750063501,"scale":6000000},
* {"level":1,"resolution":793.7515875031751,"scale":3000000},
* {"level":2,"resolution":529.1677250021168,"scale":2000000},
* {"level":3,"resolution":264.5838625010584,"scale":1000000},
* {"level":4,"resolution":132.2919312505292,"scale":500000},
* {"level":5,"resolution":52.91677250021167,"scale":200000},
* {"level":6,"resolution":26.458386250105836,"scale":100000},
* {"level":7,"resolution":13.229193125052918,"scale":50000},
* {"level":8,"resolution":6.614596562526459,"scale":25000},
* {"level":9,"resolution":2.6458386250105836,"scale":10000},
* {"level":10,"resolution":1.3229193125052918,"scale":5000},
* {"level":11,"resolution":0.5291677250021167,"scale":2000},
* {"level":12,"resolution":0.26458386250105836,"scale":1000}]},
*
* "initialExtent":
* {"xmin":219818.60040028347,"ymin":5826291.964691277,
* "xmax":747927.9899523959,"ymax":6407318.126743601,
* "spatialReference":{"wkid":2600,"latestWkid":3346}},
*
* * "fullExtent":
* {"xmin":38843.23844955949,"ymin":5663308.305390623,
* "xmax":907736.6429030352,"ymax":6555485.089744193,
*
* "spatialReference":{"wkid":2600,"latestWkid":3346}},
* "minScale":6000000,"maxScale":5000,"units":"esriMeters","supportedImageFormatTypes":"PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ,BMP",
* "documentInfo":{"Title":"Lietuvos reljefinis žemėlapis","Author":"","Comments":"","Subject":"","Category":"","AntialiasingMode":"None","TextAntialiasingMode":"Force","Keywords":""},"capabilities":"Map","supportedQueryFormats":"JSON, AMF","exportTilesAllowed":false,"maxRecordCount":1000,"maxImageHeight":4096,"maxImageWidth":4096,"supportedExtensions":""});*/
#endregion
 
public static double GetTileMatrixResolution(int zoom)
{
double ret = 0;
 
switch(zoom)
{
#region -- sizes --
case 0:
{
ret = 1587.5031750063501;
}
break;
 
case 1:
{
ret = 793.7515875031751;
}
break;
 
case 2:
{
ret = 529.1677250021168;
}
break;
 
case 3:
{
ret = 264.5838625010584;
}
break;
 
case 4:
{
ret = 132.2919312505292;
}
break;
 
case 5:
{
ret = 52.91677250021167;
}
break;
 
case 6:
{
ret = 26.458386250105836;
}
break;
 
case 7:
{
ret = 13.229193125052918;
}
break;
 
case 8:
{
ret = 6.614596562526459;
}
break;
 
case 9:
{
ret = 2.6458386250105836;
}
break;
 
case 10:
{
ret = 1.3229193125052918;
}
break;
 
case 11:
{
ret = 0.5291677250021167;
}
break;
 
case 12:
{
ret = 0.26458386250105836;
}
break;
#endregion
}
 
return ret;
}
 
public override double GetGroundResolution(int zoom, double latitude)
{
return GetTileMatrixResolution(zoom);
}
 
Dictionary<int, GSize> extentMatrixMin;
Dictionary<int, GSize> extentMatrixMax;
 
public override GSize GetTileMatrixMinXY(int zoom)
{
if(extentMatrixMin == null)
{
GenerateExtents();
}
return extentMatrixMin[zoom];
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
if(extentMatrixMax == null)
{
GenerateExtents();
}
return extentMatrixMax[zoom];
}
 
void GenerateExtents()
{
extentMatrixMin = new Dictionary<int, GSize>();
extentMatrixMax = new Dictionary<int, GSize>();
//RectLatLng Extent = RectLatLng.FromLTRB(219818.60040028347, 6407318.126743601, 747927.9899523959, 5826291.964691277);
 
for(int i = 0; i <= 12; i++)
{
double res = GetTileMatrixResolution(i);
//extentMatrixMin.Add(i, new GSize(FromPixelToTileXY(LksToPixel(new double[]{ Extent.Left, Extent.Top }, res))));
//extentMatrixMax.Add(i, new GSize(FromPixelToTileXY(LksToPixel(new double[] { Extent.Right, Extent.Bottom }, res))));
 
extentMatrixMin.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationTopLeft, i))));
extentMatrixMax.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationRightBottom, i))));
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/MapsLVProjection.cs
0,0 → 1,610

namespace GMap.NET.Projections
{
using System;
using System.Collections.Generic;
 
/// <summary>
/// GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]
/// PROJCS["LKS92 / Latvia TM",GEOGCS["LKS92",DATUM["D_Latvia_1992",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",24],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",-6000000],UNIT["Meter",1]]
/// </summary>
public class LKS92Projection : PureProjection
{
public static readonly LKS92Projection Instance = new LKS92Projection();
 
static readonly double MinLatitude = 55.55;
static readonly double MaxLatitude = 58.22;
static readonly double MinLongitude = 20.22;
static readonly double MaxLongitude = 28.28;
 
static readonly double orignX = -5120900;
static readonly double orignY = 3998100;
 
static readonly double scaleFactor = 0.9996; // scale factor
static readonly double centralMeridian = 0.41887902047863912;// Center longitude (projection center)
static readonly double latOrigin = 0.0; // center latitude
static readonly double falseNorthing = -6000000.0; // y offset in meters
static readonly double falseEasting = 500000.0; // x offset in meters
static readonly double semiMajor = 6378137.0; // major axis
static readonly double semiMinor = 6356752.3141403561; // minor axis
static readonly double semiMinor2 = 6356752.3142451793; // minor axis
static readonly double metersPerUnit = 1.0;
static readonly double COS_67P5 = 0.38268343236508977; // cosine of 67.5 degrees
static readonly double AD_C = 1.0026000; // Toms region 1 constant
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257222101);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
double[] lks = new double[] { lng, lat };
lks = DTM10(lks);
lks = MTD10(lks);
lks = DTM00(lks);
 
double res = GetTileMatrixResolution(zoom);
return LksToPixel(lks, res);
}
 
static GPoint LksToPixel(double[] lks, double res)
{
return new GPoint((long)Math.Floor((lks[0] - orignX) / res), (long)Math.Floor((orignY - lks[1]) / res));
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
double res = GetTileMatrixResolution(zoom);
 
double[] lks = new double[] { (x * res) + orignX, orignY - (y * res) };
lks = MTD11(lks);
lks = DTM10(lks);
lks = MTD10(lks);
 
ret.Lat = Clip(lks[1], MinLatitude, MaxLatitude);
ret.Lng = Clip(lks[0], MinLongitude, MaxLongitude);
 
return ret;
}
 
double[] DTM10(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD10(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
bool AtPole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if(pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if(pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if(pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
AtPole = true;
lon = 0.0;
if(Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if(Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor, };
}
}
}
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); // initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor * ses * Sin3_B0; // corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
if(Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if(Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if(!AtPole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] DTM00(double[] lonlat)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
 
double delta_lon = 0.0; // Delta longitude (Given longitude - center)
double sin_phi, cos_phi; // sin and cos value
double al, als; // temporary values
double c, t, tq; // temporary values
double con, n, ml; // cone constant, small m
 
delta_lon = AdjustLongitude(lon - centralMeridian);
SinCos(lat, out sin_phi, out cos_phi);
 
al = cos_phi * delta_lon;
als = Math.Pow(al, 2);
c = esp * Math.Pow(cos_phi, 2);
tq = Math.Tan(lat);
t = Math.Pow(tq, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
ml = semiMajor * mlfn(e0, e1, e2, e3, lat);
 
double x = scaleFactor * n * al * (1.0 + als / 6.0 * (1.0 - t + c + als / 20.0 *
(5.0 - 18.0 * t + Math.Pow(t, 2) + 72.0 * c - 58.0 * esp))) + falseEasting;
 
double y = scaleFactor * (ml - ml0 + n * tq * (als * (0.5 + als / 24.0 *
(5.0 - t + 9.0 * c + 4.0 * Math.Pow(c, 2) + als / 30.0 * (61.0 - 58.0 * t
+ Math.Pow(t, 2) + 600.0 * c - 330.0 * esp))))) + falseNorthing;
 
if(lonlat.Length < 3)
return new double[] { x / metersPerUnit, y / metersPerUnit };
else
return new double[] { x / metersPerUnit, y / metersPerUnit, lonlat[2] };
}
 
double[] DTM01(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD01(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
bool At_Pole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if(pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if(pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if(pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
At_Pole = true;
lon = 0.0;
if(Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if(Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor2, };
}
}
}
 
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); //initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor2 * ses * Sin3_B0; //corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
 
if(Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if(Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if(!At_Pole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] MTD11(double[] p)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double con, phi;
double delta_phi;
long i;
double sin_phi, cos_phi, tan_phi;
double c, cs, t, ts, n, r, d, ds;
long max_iter = 6;
 
double x = p[0] * metersPerUnit - falseEasting;
double y = p[1] * metersPerUnit - falseNorthing;
 
con = (ml0 + y / scaleFactor) / semiMajor;
phi = con;
for(i = 0; ; i++)
{
delta_phi = ((con + e1 * Math.Sin(2.0 * phi) - e2 * Math.Sin(4.0 * phi) + e3 * Math.Sin(6.0 * phi)) / e0) - phi;
phi += delta_phi;
 
if(Math.Abs(delta_phi) <= EPSLoN)
break;
 
if(i >= max_iter)
throw new ArgumentException("Latitude failed to converge");
}
 
if(Math.Abs(phi) < HALF_PI)
{
SinCos(phi, out sin_phi, out cos_phi);
tan_phi = Math.Tan(phi);
c = esp * Math.Pow(cos_phi, 2);
cs = Math.Pow(c, 2);
t = Math.Pow(tan_phi, 2);
ts = Math.Pow(t, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
r = n * (1.0 - es) / con;
d = x / (n * scaleFactor);
ds = Math.Pow(d, 2);
 
double lat = phi - (n * tan_phi * ds / r) * (0.5 - ds / 24.0 * (5.0 + 3.0 * t +
10.0 * c - 4.0 * cs - 9.0 * esp - ds / 30.0 * (61.0 + 90.0 * t +
298.0 * c + 45.0 * ts - 252.0 * esp - 3.0 * cs)));
 
double lon = AdjustLongitude(centralMeridian + (d * (1.0 - ds / 6.0 * (1.0 + 2.0 * t +
c - ds / 20.0 * (5.0 - 2.0 * c + 28.0 * t - 3.0 * cs + 8.0 * esp +
24.0 * ts))) / cos_phi));
 
if(p.Length < 3)
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat) };
else
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), p[2] };
}
else
{
if(p.Length < 3)
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian) };
else
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian), p[2] };
}
}
 
#region -- levels info --
/*
"spatialReference":{"wkid":3059,"latestWkid":3059},"singleFusedMapCache":true,
* "tileInfo":{"rows":256,"cols":256,"dpi":96,"format":"PNG8","compressionQuality":0,
* "origin":{"x":-5120900,"y":3998100},
* "spatialReference":{"wkid":3059,"latestWkid":3059},
*
* "lods":[
* {"level":0,"resolution":1587.5031750063501,"scale":6000000},
* {"level":1,"resolution":793.7515875031751,"scale":3000000},
* {"level":2,"resolution":529.1677250021168,"scale":2000000},
* {"level":3,"resolution":264.5838625010584,"scale":1000000},
* {"level":4,"resolution":132.2919312505292,"scale":500000},
* {"level":5,"resolution":52.91677250021167,"scale":200000},
* {"level":6,"resolution":26.458386250105836,"scale":100000},
* {"level":7,"resolution":13.229193125052918,"scale":50000},
* {"level":8,"resolution":6.614596562526459,"scale":25000},
* {"level":9,"resolution":2.6458386250105836,"scale":10000},
* {"level":10,"resolution":1.3229193125052918,"scale":5000},
* {"level":11,"resolution":0.5291677250021167,"scale":2000}]},
*
* "initialExtent":
* {"xmin":352544.7096929534,"ymin":240883.24768736016,
* "xmax":722784.980307047,"ymax":539178.473189597,
* "spatialReference":{"wkid":3059,"latestWkid":3059}},
*
* "fullExtent":
* {"xmin":312773.6900000004,"ymin":172941,
* "xmax":762556,"ymax":438880,
* "spatialReference":{"wkid":3059,"latestWkid":3059}},
*
* "minScale":6000000,"maxScale":2000,"units":"esriMeters","supportedImageFormatTypes":"PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ,BMP",
* "documentInfo":{"Title":"ikartelv","Author":"gstanevicius","Comments":"","Subject":"","Category":"","AntialiasingMode":"None","TextAntialiasingMode":"Force","Keywords":""},"capabilities":"Map,Query,Data","supportedQueryFormats":"JSON, AMF","exportTilesAllowed":false,"maxRecordCount":500,"maxImageHeight":4096,"maxImageWidth":4096,"supportedExtensions":"KmlServer, WMSServer"});
*/
 
#endregion
 
public static double GetTileMatrixResolution(int zoom)
{
double ret = 0;
 
switch(zoom)
{
#region -- sizes --
case 0:
{
ret = 1587.5031750063501;
}
break;
 
case 1:
{
ret = 793.7515875031751;
}
break;
 
case 2:
{
ret = 529.1677250021168;
}
break;
 
case 3:
{
ret = 264.5838625010584;
}
break;
 
case 4:
{
ret = 132.2919312505292;
}
break;
 
case 5:
{
ret = 52.91677250021167;
}
break;
 
case 6:
{
ret = 26.458386250105836;
}
break;
 
case 7:
{
ret = 13.229193125052918;
}
break;
 
case 8:
{
ret = 6.614596562526459;
}
break;
 
case 9:
{
ret = 2.6458386250105836;
}
break;
 
case 10:
{
ret = 1.3229193125052918;
}
break;
 
case 11:
{
ret = 0.5291677250021167;
}
break;
#endregion
}
 
return ret;
}
 
public override double GetGroundResolution(int zoom, double latitude)
{
return GetTileMatrixResolution(zoom);
}
 
Dictionary<int, GSize> extentMatrixMin;
Dictionary<int, GSize> extentMatrixMax;
 
public override GSize GetTileMatrixMinXY(int zoom)
{
if(extentMatrixMin == null)
{
GenerateExtents();
}
return extentMatrixMin[zoom];
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
if(extentMatrixMax == null)
{
GenerateExtents();
}
return extentMatrixMax[zoom];
}
 
void GenerateExtents()
{
extentMatrixMin = new Dictionary<int, GSize>();
extentMatrixMax = new Dictionary<int, GSize>();
//RectLatLng Extent = RectLatLng.FromLTRB(219818.60040028347, 6407318.126743601, 747927.9899523959, 5826291.964691277);
 
for(int i = 0; i <= 11; i++)
{
double res = GetTileMatrixResolution(i);
//extentMatrixMin.Add(i, new GSize(FromPixelToTileXY(LksToPixel(new double[]{ Extent.Left, Extent.Top }, res))));
//extentMatrixMax.Add(i, new GSize(FromPixelToTileXY(LksToPixel(new double[] { Extent.Right, Extent.Bottom }, res))));
 
extentMatrixMin.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationTopLeft, i))));
extentMatrixMax.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationRightBottom, i))));
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/MapyCZProjection.cs
0,0 → 1,259

namespace GMap.NET.Projections
{
using System;
 
/// <summary>
/// GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]
/// PROJCS["Mapy.cz",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",134400000],PARAMETER["false_northing",-41600000],UNIT["1/32meter",0.03125]]
/// </summary>
public class MapyCZProjection : PureProjection
{
public static readonly MapyCZProjection Instance = new MapyCZProjection();
 
static readonly double MinLatitude = 26;
static readonly double MaxLatitude = 76;
static readonly double MinLongitude = -26;
static readonly double MaxLongitude = 38;
 
#region -- Common --
static int getLCM(int zone)
{
if((zone < 1) || (zone > 60))
{
throw new Exception("MapyCZProjection: UTM Zone number is not between 1 and 60.");
}
else
{
return ((zone * 6) - 183);
}
}
 
static double roundoff(double xx, double yy)
{
var x = xx;
var y = yy;
x = Math.Round(x * Math.Pow(10, y)) / Math.Pow(10, y);
return x;
}
 
static readonly double UTMSIZE = 2;
static readonly double UNITS = 1;
 
#endregion
 
#region -- WGSToMapyCZ --
 
public long[] WGSToPP(double la, double lo)
{
var utmEE = wgsToUTM(DegreesToRadians(la), DegreesToRadians(lo), 33);
var pp = utmEEToPP(utmEE[0], utmEE[1]);
return pp;
}
 
static long[] utmEEToPP(double east, double north)
{
var x = (Math.Round(east) - (-3700000.0)) * Math.Pow(2, 5);
var y = (Math.Round(north) - (1300000.0)) * Math.Pow(2, 5);
 
return new long[] { (long)x, (long)y };
}
 
double[] wgsToUTM(double la, double lo, int zone)
{
var latrad = la;
var lonrad = lo;
var latddd = RadiansToDegrees(la);
var londdd = RadiansToDegrees(lo);
 
var k = 0.9996f;
var a = Axis;
var f = Flattening;
var b = a * (1.0 - f);
var e2 = (a * a - b * b) / (a * a);
var e = Math.Sqrt(e2);
var ei2 = (a * a - b * b) / (b * b);
var ei = Math.Sqrt(ei2);
var n = (a - b) / (a + b);
var G = a * (1.0 - n) * (1.0 - n * n) * (1.0 + (9 / 4.0) * n * n + (255.0 / 64.0) * Math.Pow(n, 4)) * (PI / 180.0);
var w = londdd - ((double) (zone * 6 - 183));
w = DegreesToRadians(w);
var t = Math.Tan(latrad);
var rho = a * (1.0 - e2) / Math.Pow(1.0 - (e2 * Math.Sin(latrad) * Math.Sin(latrad)), (3 / 2.0));
var nu = a / Math.Sqrt(1.0 - (e2 * Math.Sin(latrad) * Math.Sin(latrad)));
var psi = nu / rho;
var coslat = Math.Cos(latrad);
var sinlat = Math.Sin(latrad);
var A0 = 1 - (e2 / 4.0) - (3 * e2 * e2 / 64.0) - (5 * Math.Pow(e2, 3) / 256.0);
var A2 = (3 / 8.0) * (e2 + (e2 * e2 / 4.0) + (15 * Math.Pow(e2, 3) / 128.0));
var A4 = (15 / 256.0) * (e2 * e2 + (3 * Math.Pow(e2, 3) / 4.0));
var A6 = 35 * Math.Pow(e2, 3) / 3072.0;
var m = a * ((A0 * latrad) - (A2 * Math.Sin(2 * latrad)) + (A4 * Math.Sin(4 * latrad)) - (A6 * Math.Sin(6 * latrad)));
var eterm1 = (w * w / 6.0) * coslat * coslat * (psi - t * t);
var eterm2 = (Math.Pow(w, 4) / 120.0) * Math.Pow(coslat, 4) * (4 * Math.Pow(psi, 3) * (1.0 - 6 * t * t) + psi * psi * (1.0 + 8 * t * t) - psi * 2 * t * t + Math.Pow(t, 4));
var eterm3 = (Math.Pow(w, 6) / 5040.0) * Math.Pow(coslat, 6) * (61.0 - 479 * t * t + 179 * Math.Pow(t, 4) - Math.Pow(t, 6));
var dE = k * nu * w * coslat * (1.0 + eterm1 + eterm2 + eterm3);
var east = 500000.0 + (dE / UNITS);
east = roundoff(east, UTMSIZE);
var nterm1 = (w * w / 2.0) * nu * sinlat * coslat;
var nterm2 = (Math.Pow(w, 4) / 24.0) * nu * sinlat * Math.Pow(coslat, 3) * (4 * psi * psi + psi - t * t);
var nterm3 = (Math.Pow(w, 6) / 720.0) * nu * sinlat * Math.Pow(coslat, 5) * (8 * Math.Pow(psi, 4) * (11.0 - 24 * t * t) - 28 * Math.Pow(psi, 3) * (1.0 - 6 * t * t) + psi * psi * (1.0 - 32 * t * t) - psi * 2 * t * t + Math.Pow(t, 4));
var nterm4 = (Math.Pow(w, 8) / 40320.0) * nu * sinlat * Math.Pow(coslat, 7) * (1385.0 - 3111 * t * t + 543 * Math.Pow(t, 4) - Math.Pow(t, 6));
var dN = k * (m + nterm1 + nterm2 + nterm3 + nterm4);
var north = (0.0 + (dN / UNITS));
north = roundoff(north, UTMSIZE);
 
return new double[] { east, north, zone };
}
 
#endregion
 
#region -- MapyCZToWGS --
 
public double[] PPToWGS(double x, double y)
{
var utmEE = ppToUTMEE(x, y);
var ret = utmToWGS(utmEE[0], utmEE[1], 33);
return ret;
}
 
double[] ppToUTMEE(double x, double y)
{
var north = y * Math.Pow(2, -5) + 1300000.0;
var east = x * Math.Pow(2, -5) + (-3700000.0);
east = roundoff(east, UTMSIZE);
north = roundoff(north, UTMSIZE);
 
return new double[] { east, north };
}
 
double[] utmToWGS(double eastIn, double northIn, int zone)
{
var k = 0.9996f;
var a = Axis;
var f = Flattening;
var b = a * (1.0 - f);
var e2 = (a * a - b * b) / (a * a);
var e = Math.Sqrt(e2);
var ei2 = (a * a - b * b) / (b * b);
var ei = Math.Sqrt(ei2);
var n = (a - b) / (a + b);
var G = a * (1.0 - n) * (1.0 - n * n) * (1.0 + (9 / 4.0) * n * n + (255 / 64.0) * Math.Pow(n, 4)) * (PI / 180.0);
var north = (northIn - 0) * UNITS;
var east = (eastIn - 500000.0) * UNITS;
var m = north / k;
var sigma = (m * PI) / (180.0 * G);
var footlat = sigma + ((3 * n / 2.0) - (27 * Math.Pow(n, 3) / 32.0)) * Math.Sin(2 * sigma) + ((21 * n * n / 16.0) - (55 * Math.Pow(n, 4) / 32.0)) * Math.Sin(4 * sigma) + (151 * Math.Pow(n, 3) / 96.0) * Math.Sin(6 * sigma) + (1097 * Math.Pow(n, 4) / 512.0) * Math.Sin(8 * sigma);
var rho = a * (1.0 - e2) / Math.Pow(1.0 - (e2 * Math.Sin(footlat) * Math.Sin(footlat)), (3 / 2.0));
var nu = a / Math.Sqrt(1.0 - (e2 * Math.Sin(footlat) * Math.Sin(footlat)));
var psi = nu / rho;
var t = Math.Tan(footlat);
var x = east / (k * nu);
var laterm1 = (t / (k * rho)) * (east * x / 2.0);
var laterm2 = (t / (k * rho)) * (east * Math.Pow(x, 3) / 24.0) * (-4 * psi * psi + 9 * psi * (1 - t * t) + 12 * t * t);
var laterm3 = (t / (k * rho)) * (east * Math.Pow(x, 5) / 720.0) * (8 * Math.Pow(psi, 4) * (11 - 24 * t * t) - 12 * Math.Pow(psi, 3) * (21.0 - 71 * t * t) + 15 * psi * psi * (15.0 - 98 * t * t + 15 * Math.Pow(t, 4)) + 180 * psi * (5 * t * t - 3 * Math.Pow(t, 4)) + 360 * Math.Pow(t, 4));
var laterm4 = (t / (k * rho)) * (east * Math.Pow(x, 7) / 40320.0) * (1385.0 + 3633 * t * t + 4095 * Math.Pow(t, 4) + 1575 * Math.Pow(t, 6));
var latrad = footlat - laterm1 + laterm2 - laterm3 + laterm4;
var lat = RadiansToDegrees(latrad);
var seclat = 1 / Math.Cos(footlat);
var loterm1 = x * seclat;
var loterm2 = (Math.Pow(x, 3) / 6.0) * seclat * (psi + 2 * t * t);
var loterm3 = (Math.Pow(x, 5) / 120.0) * seclat * (-4 * Math.Pow(psi, 3) * (1 - 6 * t * t) + psi * psi * (9 - 68 * t * t) + 72 * psi * t * t + 24 * Math.Pow(t, 4));
var loterm4 = (Math.Pow(x, 7) / 5040.0) * seclat * (61.0 + 662 * t * t + 1320 * Math.Pow(t, 4) + 720 * Math.Pow(t, 6));
var w = loterm1 - loterm2 + loterm3 - loterm4;
var longrad = DegreesToRadians(getLCM(zone)) + w;
var lon = RadiansToDegrees(longrad);
 
return new double[] { lat, lon, latrad, longrad };
}
 
#endregion
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
public override GSize TileSize
{
get
{
return new GSize(256, 256);
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257223563);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
GPoint ret = GPoint.Empty;
 
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
var size = GetTileMatrixSizePixel(zoom);
{
var l = WGSToPP(lat, lng);
ret.X = (long)l[0] >> (20 - zoom);
ret.Y = size.Height - ((long)l[1] >> (20 - zoom));
}
return ret;
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
var size = GetTileMatrixSizePixel(zoom);
 
var oX = x << (20 - zoom);
var oY = (size.Height - y) << (20 - zoom);
{
var l = PPToWGS(oX, oY);
ret.Lat = Clip(l[0], MinLatitude, MaxLatitude);
ret.Lng = Clip(l[1], MinLongitude, MaxLongitude);
}
return ret;
}
 
public override GSize GetTileMatrixSizeXY(int zoom)
{
return new GSize((long)Math.Pow(2, zoom), (long)Math.Pow(2, zoom));
}
 
public override GSize GetTileMatrixSizePixel(int zoom)
{
GSize s = GetTileMatrixSizeXY(zoom);
return new GSize(s.Width << 8, s.Height << 8);
}
 
public override GSize GetTileMatrixMinXY(int zoom)
{
long wh = zoom > 3 ? (3 * (long)Math.Pow(2, zoom - 4)) : 1;
return new GSize(wh, wh);
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
long wh = (long)Math.Pow(2, zoom) - (long)Math.Pow(2, zoom - 2);
return new GSize(wh, wh);
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/MercatorProjection.cs
0,0 → 1,101

namespace GMap.NET.Projections
{
using System;
 
/// <summary>
/// The Mercator projection
/// PROJCS["World_Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["standard_parallel_1",0],UNIT["Meter",1]]
/// </summary>
public class MercatorProjection : PureProjection
{
public static readonly MercatorProjection Instance = new MercatorProjection();
 
static readonly double MinLatitude = -85.05112878;
static readonly double MaxLatitude = 85.05112878;
static readonly double MinLongitude = -180;
static readonly double MaxLongitude = 180;
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
readonly GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257223563);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
GPoint ret = GPoint.Empty;
 
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
double x = (lng + 180) / 360;
double sinLatitude = Math.Sin(lat * Math.PI / 180);
double y = 0.5 - Math.Log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI);
 
GSize s = GetTileMatrixSizePixel(zoom);
long mapSizeX = s.Width;
long mapSizeY = s.Height;
 
ret.X = (long)Clip(x * mapSizeX + 0.5, 0, mapSizeX - 1);
ret.Y = (long)Clip(y * mapSizeY + 0.5, 0, mapSizeY - 1);
 
return ret;
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
GSize s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width;
double mapSizeY = s.Height;
 
double xx = (Clip(x, 0, mapSizeX - 1) / mapSizeX) - 0.5;
double yy = 0.5 - (Clip(y, 0, mapSizeY - 1) / mapSizeY);
 
ret.Lat = 90 - 360 * Math.Atan(Math.Exp(-yy * 2 * Math.PI)) / Math.PI;
ret.Lng = 360 * xx;
 
return ret;
}
 
public override GSize GetTileMatrixMinXY(int zoom)
{
return new GSize(0, 0);
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
long xy = (1 << zoom);
return new GSize(xy - 1, xy - 1);
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/MercatorProjectionYandex.cs
0,0 → 1,113

namespace GMap.NET.Projections
{
using System;
 
class MercatorProjectionYandex : PureProjection
{
public static readonly MercatorProjectionYandex Instance = new MercatorProjectionYandex();
 
static readonly double MinLatitude = -85.05112878;
static readonly double MaxLatitude = 85.05112878;
static readonly double MinLongitude = -177;
static readonly double MaxLongitude = 177;
 
static readonly double RAD_DEG = 180 / Math.PI;
static readonly double DEG_RAD = Math.PI / 180;
static readonly double MathPiDiv4 = Math.PI / 4;
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6356752.3142;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257223563);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
double rLon = lng * DEG_RAD; // Math.PI / 180;
double rLat = lat * DEG_RAD; // Math.PI / 180;
 
double a = 6378137;
double k = 0.0818191908426;
 
double z = Math.Tan(MathPiDiv4 + rLat / 2) / Math.Pow((Math.Tan(MathPiDiv4 + Math.Asin(k * Math.Sin(rLat)) / 2)), k);
double z1 = Math.Pow(2, 23 - zoom);
 
double DX = ((20037508.342789 + a * rLon) * 53.5865938 / z1);
double DY = ((20037508.342789 - a * Math.Log(z)) * 53.5865938 / z1);
 
GPoint ret = GPoint.Empty;
ret.X = (long)DX;
ret.Y = (long)DY;
 
return ret;
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
GSize s = GetTileMatrixSizePixel(zoom);
 
double mapSizeX = s.Width;
double mapSizeY = s.Height;
 
double a = 6378137;
double c1 = 0.00335655146887969;
double c2 = 0.00000657187271079536;
double c3 = 0.00000001764564338702;
double c4 = 0.00000000005328478445;
double z1 = (23 - zoom);
double mercX = (x * Math.Pow(2, z1)) / 53.5865938 - 20037508.342789;
double mercY = 20037508.342789 - (y * Math.Pow(2, z1)) / 53.5865938;
 
double g = Math.PI / 2 - 2 * Math.Atan(1 / Math.Exp(mercY / a));
double z = g + c1 * Math.Sin(2 * g) + c2 * Math.Sin(4 * g) + c3 * Math.Sin(6 * g) + c4 * Math.Sin(8 * g);
 
PointLatLng ret = PointLatLng.Empty;
ret.Lat = z * RAD_DEG;
ret.Lng = mercX / a * RAD_DEG;
 
return ret;
}
 
public override GSize GetTileMatrixMinXY(int zoom)
{
return new GSize(0, 0);
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
long xy = (1 << zoom);
return new GSize(xy - 1, xy - 1);
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/PlateCarreeProjection.cs
0,0 → 1,98

namespace GMap.NET.Projections
{
using System;
 
/// <summary>
/// Plate Carrée (literally, “plane square”) projection
/// PROJCS["WGS 84 / World Equidistant Cylindrical",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],UNIT["Meter",1]]
/// </summary>
public class PlateCarreeProjection : PureProjection
{
public static readonly PlateCarreeProjection Instance = new PlateCarreeProjection();
 
static readonly double MinLatitude = -85.05112878;
static readonly double MaxLatitude = 85.05112878;
static readonly double MinLongitude = -180;
static readonly double MaxLongitude = 180;
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(512, 512);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257223563);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
GPoint ret = GPoint.Empty;
 
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
GSize s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width;
double mapSizeY = s.Height;
 
double scale = 360.0 / mapSizeX;
 
ret.Y = (long)((90.0 - lat) / scale);
ret.X = (long)((lng + 180.0) / scale);
 
return ret;
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
GSize s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width;
double mapSizeY = s.Height;
 
double scale = 360.0 / mapSizeX;
 
ret.Lat = 90 - (y * scale);
ret.Lng = (x * scale) - 180;
 
return ret;
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
long y = (long)Math.Pow(2, zoom);
return new GSize((2 * y) - 1, y - 1);
}
 
public override GSize GetTileMatrixMinXY(int zoom)
{
return new GSize(0, 0);
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/PlateCarreeProjectionDarbAe.cs
0,0 → 1,230

namespace GMap.NET.Projections
{
using System;
 
/// <summary>
/// Plate Carrée (literally, “plane square”) projection
/// PROJCS["WGS 84 / World Equidistant Cylindrical",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],UNIT["Meter",1]]
///
///"spatialReference":
///{"wkid":4326},"singleFusedMapCache":true,"tileInfo":
///{"rows":256,"cols":256,"dpi":96,"format":"PNG8","compressionQuality":0,
///"origin":{"x":-400,"y":400},"spatialReference":{"wkid":4326},"lods":
///
///[{"level":0,"resolution":0.0118973050291514,"scale":5000000},
///{"level":1,"resolution":0.0059486525145757,"scale":2500000},
///{"level":2,"resolution":0.00297432625728785,"scale":1250000},
///{"level":3,"resolution":0.00118973050291514,"scale":500000},
///{"level":4,"resolution":0.00059486525145757,"scale":250000},
///{"level":5,"resolution":0.000356919150874542,"scale":150000},
///{"level":6,"resolution":0.000178459575437271,"scale":75000},
///{"level":7,"resolution":0.000118973050291514,"scale":50000},
///{"level":8,"resolution":5.9486525145757E-05,"scale":25000},
///{"level":9,"resolution":3.56919150874542E-05,"scale":15000},
///{"level":10,"resolution":1.90356880466422E-05,"scale":8000},
///{"level":11,"resolution":9.51784402332112E-06,"scale":4000},
///{"level":12,"resolution":4.75892201166056E-06,"scale":2000}]},
///
///"initialExtent":
///{"xmin":42.1125196069871,"ymin":18.6650706214551,"xmax":65.698643558112
///4,"ymax":29.4472987133981,"spatialReference":{"wkid":4326}},
///
///"fullExtent":
///{"xmin":41.522866508209,"ymin":18.7071563263201,"xmax":66.2882966568906
///,"ymax":29.4052130085331,"spatialReference":{"wkid":4326}},
///
///"units":"esriDecimalDegrees"
/// </summary>
public class PlateCarreeProjectionDarbAe : PureProjection
{
public static readonly PlateCarreeProjectionDarbAe Instance = new PlateCarreeProjectionDarbAe();
 
public static readonly double MinLatitude = 18.7071563263201;
public static readonly double MaxLatitude = 29.4052130085331;
public static readonly double MinLongitude = 41.522866508209;
public static readonly double MaxLongitude = 66.2882966568906;
 
static readonly double orignX = -400;
static readonly double orignY = 400;
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257223563);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
GPoint ret = GPoint.Empty;
 
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
/*
getContainingTileCoords:function(ti,_1dd,lod)
{
var to=ti.origin,
res=lod.resolution,
tmw=ti.width*res,
tmh=ti.height*res,
tc=Math.floor((_1dd.x-to.x)/tmw),
tr=Math.floor((to.y-_1dd.y)/tmh);
}
*/
 
double res = GetTileMatrixResolution(zoom);
 
ret.X = (long)Math.Floor((lng - orignX) / res);
ret.Y = (long)Math.Floor((orignY - lat) / res);
 
return ret;
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
double res = GetTileMatrixResolution(zoom);
 
ret.Lat = orignY - (y * res);
ret.Lng = (x * res) + orignX;
 
return ret;
}
 
public static double GetTileMatrixResolution(int zoom)
{
double ret = 0;
 
switch(zoom)
{
#region -- sizes --
case 0:
{
ret = 0.0118973050291514;
}
break;
 
case 1:
{
ret = 0.0059486525145757;
}
break;
 
case 2:
{
ret = 0.00297432625728785;
}
break;
 
case 3:
{
ret = 0.00118973050291514;
}
break;
 
case 4:
{
ret = 0.00059486525145757;
}
break;
 
case 5:
{
ret = 0.000356919150874542;
}
break;
 
case 6:
{
ret = 0.000178459575437271;
}
break;
 
case 7:
{
ret = 0.000118973050291514;
}
break;
 
case 8:
{
ret = 5.9486525145757E-05;
}
break;
 
case 9:
{
ret = 3.56919150874542E-05;
}
break;
 
case 10:
{
ret = 1.90356880466422E-05;
}
break;
 
case 11:
{
ret = 9.51784402332112E-06;
}
break;
 
case 12:
{
ret = 4.75892201166056E-06;
}
break;
#endregion
}
 
return ret;
}
 
public override double GetGroundResolution(int zoom, double latitude)
{
return GetTileMatrixResolution(zoom);
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
var maxPx = FromLatLngToPixel(MinLatitude, MaxLongitude, zoom);
return new GSize(FromPixelToTileXY(maxPx));
}
 
public override GSize GetTileMatrixMinXY(int zoom)
{
var minPx = FromLatLngToPixel(MaxLatitude, MinLongitude, zoom);
return new GSize(FromPixelToTileXY(minPx));
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/PlateCarreeProjectionPergo.cs
0,0 → 1,100

namespace GMap.NET.Projections
{
#if OLD_PERGO
using System;
 
/// <summary>
/// Plate Carrée (literally, “plane square”) projection
/// PROJCS["WGS 84 / World Equidistant Cylindrical",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],UNIT["Meter",1]]
/// </summary>
public class PlateCarreeProjectionPergo : PureProjection
{
public static readonly PlateCarreeProjectionPergo Instance = new PlateCarreeProjectionPergo();
 
static readonly double MinLatitude = -85.05112878;
static readonly double MaxLatitude = 85.05112878;
static readonly double MinLongitude = -180;
static readonly double MaxLongitude = 180;
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257223563);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
GPoint ret = GPoint.Empty;
 
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
GSize s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width;
double mapSizeY = s.Height;
 
double scale = 360.0 / mapSizeX;
 
ret.Y = (long)((90.0 - lat) / scale);
ret.X = (long)((lng + 180.0) / scale);
 
return ret;
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
GSize s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width;
double mapSizeY = s.Height;
 
double scale = 360.0 / mapSizeX;
 
ret.Lat = 90 - (y * scale);
ret.Lng = (x * scale) - 180;
 
return ret;
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
long y = (long)Math.Pow(2, zoom);
return new GSize((2*y) - 1, y - 1);
}
 
public override GSize GetTileMatrixMinXY(int zoom)
{
return new GSize(0, 0);
}
}
#endif
}
/MKLiveView/v1.0/Source/GMap.NET.Core/GMap.NET.Projections/SWEREF99_TMProjection.cs
0,0 → 1,520

namespace GMap.NET.Projections
{
using System;
using System.Collections.Generic;
 
/// <summary>
/// PROJCS["SWEREF99 TM",GEOGCS["SWEREF99",DATUM["SWEREF99",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6619"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4619"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],
/// PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],AUTHORITY["EPSG","3006"],AXIS["y",EAST],AXIS["x",NORTH]]
/// </summary>
public class SWEREF99_TMProjection : PureProjection
{
public static readonly SWEREF99_TMProjection Instance = new SWEREF99_TMProjection();
 
static readonly double MinLatitude = 54.96;
static readonly double MaxLatitude = 69.07;
static readonly double MinLongitude = 10.0;
static readonly double MaxLongitude = 24.5;
 
static readonly double orignX = -1200000;
static readonly double orignY = 8500000;
 
static readonly double scaleFactor = 0.9996; // scale factor
static readonly double centralMeridian = DegreesToRadians(15);// Center longitude (projection center)
static readonly double latOrigin = 0.0; // center latitude
static readonly double falseNorthing = 0.0; // y offset in meters
static readonly double falseEasting = 500000.0; // x offset in meters
static readonly double semiMajor = 6378137.0; // major axis
static readonly double semiMinor = 6356752.3141403561; // minor axis
static readonly double semiMinor2 = 6356752.3142451793; // minor axis
static readonly double metersPerUnit = 1.0;
static readonly double COS_67P5 = 0.38268343236508977; // cosine of 67.5 degrees
static readonly double AD_C = 1.0026000; // Toms region 1 constant
 
public override RectLatLng Bounds
{
get
{
return RectLatLng.FromLTRB(MinLongitude, MaxLatitude, MaxLongitude, MinLatitude);
}
}
 
GSize tileSize = new GSize(256, 256);
public override GSize TileSize
{
get
{
return tileSize;
}
}
 
public override double Axis
{
get
{
return 6378137;
}
}
 
public override double Flattening
{
get
{
return (1.0 / 298.257222101);
}
}
 
public override GPoint FromLatLngToPixel(double lat, double lng, int zoom)
{
GPoint ret = GPoint.Empty;
 
lat = Clip(lat, MinLatitude, MaxLatitude);
lng = Clip(lng, MinLongitude, MaxLongitude);
 
double[] lks = new double[] { lng, lat };
lks = DTM10(lks);
lks = MTD10(lks);
lks = DTM00(lks);
 
double res = GetTileMatrixResolution(zoom);
return LksToPixel(lks, res);
}
 
static GPoint LksToPixel(double[] lks, double res)
{
return new GPoint((long)Math.Floor((lks[0] - orignX) / res), (long)Math.Floor((orignY - lks[1]) / res));
}
 
public override PointLatLng FromPixelToLatLng(long x, long y, int zoom)
{
PointLatLng ret = PointLatLng.Empty;
 
double res = GetTileMatrixResolution(zoom);
 
double[] lks = new double[] { (x * res) + orignX, orignY - (y * res) };
lks = MTD11(lks);
lks = DTM10(lks);
lks = MTD10(lks);
 
ret.Lat = Clip(lks[1], MinLatitude, MaxLatitude);
ret.Lng = Clip(lks[0], MinLongitude, MaxLongitude);
 
return ret;
}
 
double[] DTM10(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD10(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor); // e^2
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
bool AtPole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if (pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if (pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if (pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
AtPole = true;
lon = 0.0;
if (Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if (Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor, };
}
}
}
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); // initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor * ses * Sin3_B0; // corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
if (Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if (Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if (!AtPole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] DTM00(double[] lonlat)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
 
double delta_lon = 0.0; // Delta longitude (Given longitude - center)
double sin_phi, cos_phi; // sin and cos value
double al, als; // temporary values
double c, t, tq; // temporary values
double con, n, ml; // cone constant, small m
 
delta_lon = AdjustLongitude(lon - centralMeridian);
SinCos(lat, out sin_phi, out cos_phi);
 
al = cos_phi * delta_lon;
als = Math.Pow(al, 2);
c = esp * Math.Pow(cos_phi, 2);
tq = Math.Tan(lat);
t = Math.Pow(tq, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
ml = semiMajor * mlfn(e0, e1, e2, e3, lat);
 
double x = scaleFactor * n * al * (1.0 + als / 6.0 * (1.0 - t + c + als / 20.0 *
(5.0 - 18.0 * t + Math.Pow(t, 2) + 72.0 * c - 58.0 * esp))) + falseEasting;
 
double y = scaleFactor * (ml - ml0 + n * tq * (als * (0.5 + als / 24.0 *
(5.0 - t + 9.0 * c + 4.0 * Math.Pow(c, 2) + als / 30.0 * (61.0 - 58.0 * t
+ Math.Pow(t, 2) + 600.0 * c - 330.0 * esp))))) + falseNorthing;
 
if (lonlat.Length < 3)
return new double[] { x / metersPerUnit, y / metersPerUnit };
else
return new double[] { x / metersPerUnit, y / metersPerUnit, lonlat[2] };
}
 
double[] DTM01(double[] lonlat)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor * semiMinor) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor, 2)) / Math.Pow(semiMinor, 2);
 
double ba = semiMinor / semiMajor;
double ab = semiMajor / semiMinor;
 
double lon = DegreesToRadians(lonlat[0]);
double lat = DegreesToRadians(lonlat[1]);
double h = lonlat.Length < 3 ? 0 : lonlat[2].Equals(Double.NaN) ? 0 : lonlat[2];
double v = semiMajor / Math.Sqrt(1 - es * Math.Pow(Math.Sin(lat), 2));
double x = (v + h) * Math.Cos(lat) * Math.Cos(lon);
double y = (v + h) * Math.Cos(lat) * Math.Sin(lon);
double z = ((1 - es) * v + h) * Math.Sin(lat);
return new double[] { x, y, z, };
}
 
double[] MTD01(double[] pnt)
{
// Eccentricity squared : (a^2 - b^2)/a^2
double es = 1.0 - (semiMinor2 * semiMinor2) / (semiMajor * semiMajor);
 
// Second eccentricity squared : (a^2 - b^2)/b^2
double ses = (Math.Pow(semiMajor, 2) - Math.Pow(semiMinor2, 2)) / Math.Pow(semiMinor2, 2);
 
double ba = semiMinor2 / semiMajor;
double ab = semiMajor / semiMinor2;
 
bool At_Pole = false; // is location in polar region
double Z = pnt.Length < 3 ? 0 : pnt[2].Equals(Double.NaN) ? 0 : pnt[2];
 
double lon = 0;
double lat = 0;
double Height = 0;
if (pnt[0] != 0.0)
{
lon = Math.Atan2(pnt[1], pnt[0]);
}
else
{
if (pnt[1] > 0)
{
lon = Math.PI / 2;
}
else
if (pnt[1] < 0)
{
lon = -Math.PI * 0.5;
}
else
{
At_Pole = true;
lon = 0.0;
if (Z > 0.0) // north pole
{
lat = Math.PI * 0.5;
}
else
if (Z < 0.0) // south pole
{
lat = -Math.PI * 0.5;
}
else // center of earth
{
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(Math.PI * 0.5), -semiMinor2, };
}
}
}
 
double W2 = pnt[0] * pnt[0] + pnt[1] * pnt[1]; // Square of distance from Z axis
double W = Math.Sqrt(W2); // distance from Z axis
double T0 = Z * AD_C; // initial estimate of vertical component
double S0 = Math.Sqrt(T0 * T0 + W2); //initial estimate of horizontal component
double Sin_B0 = T0 / S0; // sin(B0), B0 is estimate of Bowring aux variable
double Cos_B0 = W / S0; // cos(B0)
double Sin3_B0 = Math.Pow(Sin_B0, 3);
double T1 = Z + semiMinor2 * ses * Sin3_B0; //corrected estimate of vertical component
double Sum = W - semiMajor * es * Cos_B0 * Cos_B0 * Cos_B0; // numerator of cos(phi1)
double S1 = Math.Sqrt(T1 * T1 + Sum * Sum); // corrected estimate of horizontal component
double Sin_p1 = T1 / S1; // sin(phi1), phi1 is estimated latitude
double Cos_p1 = Sum / S1; // cos(phi1)
double Rn = semiMajor / Math.Sqrt(1.0 - es * Sin_p1 * Sin_p1); // Earth radius at location
 
if (Cos_p1 >= COS_67P5)
{
Height = W / Cos_p1 - Rn;
}
else
if (Cos_p1 <= -COS_67P5)
{
Height = W / -Cos_p1 - Rn;
}
else
{
Height = Z / Sin_p1 + Rn * (es - 1.0);
}
 
if (!At_Pole)
{
lat = Math.Atan(Sin_p1 / Cos_p1);
}
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), Height, };
}
 
double[] MTD11(double[] p)
{
double e0, e1, e2, e3; // eccentricity constants
double e, es, esp; // eccentricity constants
double ml0; // small value m
 
es = 1.0 - Math.Pow(semiMinor / semiMajor, 2);
e = Math.Sqrt(es);
e0 = e0fn(es);
e1 = e1fn(es);
e2 = e2fn(es);
e3 = e3fn(es);
ml0 = semiMajor * mlfn(e0, e1, e2, e3, latOrigin);
esp = es / (1.0 - es);
 
// ...
 
double con, phi;
double delta_phi;
long i;
double sin_phi, cos_phi, tan_phi;
double c, cs, t, ts, n, r, d, ds;
long max_iter = 6;
 
double x = p[0] * metersPerUnit - falseEasting;
double y = p[1] * metersPerUnit - falseNorthing;
 
con = (ml0 + y / scaleFactor) / semiMajor;
phi = con;
for (i = 0; ; i++)
{
delta_phi = ((con + e1 * Math.Sin(2.0 * phi) - e2 * Math.Sin(4.0 * phi) + e3 * Math.Sin(6.0 * phi)) / e0) - phi;
phi += delta_phi;
 
if (Math.Abs(delta_phi) <= EPSLoN)
break;
 
if (i >= max_iter)
throw new ArgumentException("Latitude failed to converge");
}
 
if (Math.Abs(phi) < HALF_PI)
{
SinCos(phi, out sin_phi, out cos_phi);
tan_phi = Math.Tan(phi);
c = esp * Math.Pow(cos_phi, 2);
cs = Math.Pow(c, 2);
t = Math.Pow(tan_phi, 2);
ts = Math.Pow(t, 2);
con = 1.0 - es * Math.Pow(sin_phi, 2);
n = semiMajor / Math.Sqrt(con);
r = n * (1.0 - es) / con;
d = x / (n * scaleFactor);
ds = Math.Pow(d, 2);
 
double lat = phi - (n * tan_phi * ds / r) * (0.5 - ds / 24.0 * (5.0 + 3.0 * t +
10.0 * c - 4.0 * cs - 9.0 * esp - ds / 30.0 * (61.0 + 90.0 * t +
298.0 * c + 45.0 * ts - 252.0 * esp - 3.0 * cs)));
 
double lon = AdjustLongitude(centralMeridian + (d * (1.0 - ds / 6.0 * (1.0 + 2.0 * t +
c - ds / 20.0 * (5.0 - 2.0 * c + 28.0 * t - 3.0 * cs + 8.0 * esp +
24.0 * ts))) / cos_phi));
 
if (p.Length < 3)
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat) };
else
return new double[] { RadiansToDegrees(lon), RadiansToDegrees(lat), p[2] };
}
else
{
if (p.Length < 3)
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian) };
else
return new double[] { RadiansToDegrees(HALF_PI * Sign(y)), RadiansToDegrees(centralMeridian), p[2] };
}
}
 
#region -- levels info --
// "defaultLayer" : "topowebbwmts",
// "extent" : {
// "left" : -1200000,
// "bottom" : 4700000,
// "right" : 2600000,
// "top" : 8500000
// },
// "projection" : "EPSG:3006",
// "units" : "m",
// "allOverlays" : true,
// "resolutions" : [4096.0, 2048.0, 1024.0, 512.0, 256.0, 128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25, 0.15, 0.1, 0.05, 0.01],
// "initPosition" : {
// "n" : 6607899,
// "e" : 564931,
// "zoom" : 2
// },
#endregion
 
static double[] resolutions = new double[] { 4096.0, 2048.0, 1024.0, 512.0, 256.0, 128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25, 0.15, 0.1, 0.05, 0.01 };
public static double GetTileMatrixResolution(int zoom)
{
double ret = 0;
 
if (zoom < resolutions.Length)
{
ret = resolutions[zoom];
}
 
return ret;
}
 
public override double GetGroundResolution(int zoom, double latitude)
{
return GetTileMatrixResolution(zoom);
}
 
Dictionary<int, GSize> extentMatrixMin;
Dictionary<int, GSize> extentMatrixMax;
 
public override GSize GetTileMatrixMinXY(int zoom)
{
if (extentMatrixMin == null)
{
GenerateExtents();
}
return extentMatrixMin[zoom];
}
 
public override GSize GetTileMatrixMaxXY(int zoom)
{
if (extentMatrixMax == null)
{
GenerateExtents();
}
return extentMatrixMax[zoom];
}
 
void GenerateExtents()
{
extentMatrixMin = new Dictionary<int, GSize>();
extentMatrixMax = new Dictionary<int, GSize>();
 
for (int i = 0; i <= resolutions.Length; i++)
{
double res = GetTileMatrixResolution(i);
 
extentMatrixMin.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationTopLeft, i))));
extentMatrixMax.Add(i, new GSize(FromPixelToTileXY(FromLatLngToPixel(Bounds.LocationRightBottom, i))));
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/Properties/AssemblyInfo.cs
0,0 → 1,40
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
 
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("GMap.NET.Core")]
[assembly: AssemblyDescription("GMap.NET - Great Maps")]
[assembly: AssemblyProduct("GMap.NET.Core")]
 
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(true)]
 
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("843e1f67-489b-4454-b451-021e5c526e30")]
 
// internal visibility
[assembly:
#if DEBUG
InternalsVisibleTo("ConsoleApplication, PublicKey=0024000004800000940000000602000000240000525341310004000001000100cd251b0b8f7079914bbe3e5655d92e5427218f3f0241537a9cb7467b6da2aa5cb20915c31400800e3081d20e6454a35164600fe8bf4f846744f211e040588260cc872c78abd91b422c60071bfda5f11d251eb09f0935944b41de2a28374ad17e8c963d642310df9050e8ae0f1a2b867bcc8f035e4b353dc699cfc7125b9661ce"),
#endif
InternalsVisibleTo("GMap.NET.WindowsForms, PublicKey=0024000004800000940000000602000000240000525341310004000001000100cd251b0b8f7079914bbe3e5655d92e5427218f3f0241537a9cb7467b6da2aa5cb20915c31400800e3081d20e6454a35164600fe8bf4f846744f211e040588260cc872c78abd91b422c60071bfda5f11d251eb09f0935944b41de2a28374ad17e8c963d642310df9050e8ae0f1a2b867bcc8f035e4b353dc699cfc7125b9661ce"),
InternalsVisibleTo("GMap.NET.WindowsMobile, PublicKey=0024000004800000940000000602000000240000525341310004000001000100cd251b0b8f7079914bbe3e5655d92e5427218f3f0241537a9cb7467b6da2aa5cb20915c31400800e3081d20e6454a35164600fe8bf4f846744f211e040588260cc872c78abd91b422c60071bfda5f11d251eb09f0935944b41de2a28374ad17e8c963d642310df9050e8ae0f1a2b867bcc8f035e4b353dc699cfc7125b9661ce"),
InternalsVisibleTo("GMap.NET.WindowsPresentation, PublicKey=0024000004800000940000000602000000240000525341310004000001000100cd251b0b8f7079914bbe3e5655d92e5427218f3f0241537a9cb7467b6da2aa5cb20915c31400800e3081d20e6454a35164600fe8bf4f846744f211e040588260cc872c78abd91b422c60071bfda5f11d251eb09f0935944b41de2a28374ad17e8c963d642310df9050e8ae0f1a2b867bcc8f035e4b353dc699cfc7125b9661ce")]
 
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.5.3.3")]
//[assembly: AssemblyFileVersion("1.5.3.3")]
/MKLiveView/v1.0/Source/GMap.NET.Core/Properties/Resources.Designer.cs
0,0 → 1,107
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.235
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
 
namespace GMap.NET.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("GMap.NET.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to CREATE TABLE IF NOT EXISTS Tiles (id INTEGER NOT NULL PRIMARY KEY, X INTEGER NOT NULL, Y INTEGER NOT NULL, Zoom INTEGER NOT NULL, Type UNSIGNED INTEGER NOT NULL, CacheTime DATETIME);
///CREATE INDEX IF NOT EXISTS IndexOfTiles ON Tiles (X, Y, Zoom, Type);
///
///CREATE TABLE IF NOT EXISTS TilesData (id INTEGER NOT NULL PRIMARY KEY CONSTRAINT fk_Tiles_id REFERENCES Tiles(id) ON DELETE CASCADE, Tile BLOB NULL);
///
///-- Foreign Key Preventing insert
///CREATE TRIGGER fki_TilesData_id_Tiles_id
///BEFORE INSERT ON [TilesDat [rest of string was truncated]&quot;;.
/// </summary>
internal static string CreateTileDb {
get {
return ResourceManager.GetString("CreateTileDb", resourceCulture);
}
}
internal static byte[] System_Data_SQLite_x64_NET2_dll {
get {
object obj = ResourceManager.GetObject("System_Data_SQLite_x64_NET2_dll", resourceCulture);
return ((byte[])(obj));
}
}
internal static byte[] System_Data_SQLite_x64_NET4_dll {
get {
object obj = ResourceManager.GetObject("System_Data_SQLite_x64_NET4_dll", resourceCulture);
return ((byte[])(obj));
}
}
internal static byte[] System_Data_SQLite_x86_NET2_dll {
get {
object obj = ResourceManager.GetObject("System_Data_SQLite_x86_NET2_dll", resourceCulture);
return ((byte[])(obj));
}
}
internal static byte[] System_Data_SQLite_x86_NET4_dll {
get {
object obj = ResourceManager.GetObject("System_Data_SQLite_x86_NET4_dll", resourceCulture);
return ((byte[])(obj));
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.Core/Properties/Resources.resx
0,0 → 1,162
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
 
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="CreateTileDb" xml:space="preserve">
<value>CREATE TABLE IF NOT EXISTS Tiles (id INTEGER NOT NULL PRIMARY KEY, X INTEGER NOT NULL, Y INTEGER NOT NULL, Zoom INTEGER NOT NULL, Type UNSIGNED INTEGER NOT NULL, CacheTime DATETIME);
CREATE INDEX IF NOT EXISTS IndexOfTiles ON Tiles (X, Y, Zoom, Type);
 
CREATE TABLE IF NOT EXISTS TilesData (id INTEGER NOT NULL PRIMARY KEY CONSTRAINT fk_Tiles_id REFERENCES Tiles(id) ON DELETE CASCADE, Tile BLOB NULL);
 
-- Foreign Key Preventing insert
CREATE TRIGGER fki_TilesData_id_Tiles_id
BEFORE INSERT ON [TilesData]
FOR EACH ROW BEGIN
SELECT RAISE(ROLLBACK, 'insert on table "TilesData" violates foreign key constraint "fki_TilesData_id_Tiles_id"')
WHERE (SELECT id FROM Tiles WHERE id = NEW.id) IS NULL;
END;
 
-- Foreign key preventing update
CREATE TRIGGER fku_TilesData_id_Tiles_id
BEFORE UPDATE ON [TilesData]
FOR EACH ROW BEGIN
SELECT RAISE(ROLLBACK, 'update on table "TilesData" violates foreign key constraint "fku_TilesData_id_Tiles_id"')
WHERE (SELECT id FROM Tiles WHERE id = NEW.id) IS NULL;
END;
 
-- Cascading Delete
CREATE TRIGGER fkdc_TilesData_id_Tiles_id
BEFORE DELETE ON Tiles
FOR EACH ROW BEGIN
DELETE FROM TilesData WHERE TilesData.id = OLD.id;
END;</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="System_Data_SQLite_x64_NET2_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\System.Data.SQLite.x64.NET2.dll.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="System_Data_SQLite_x64_NET4_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\System.Data.SQLite.x64.NET4.dll.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="System_Data_SQLite_x86_NET2_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\System.Data.SQLite.x86.NET2.dll.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="System_Data_SQLite_x86_NET4_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\System.Data.SQLite.x86.NET4.dll.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
/MKLiveView/v1.0/Source/GMap.NET.Core/Properties/VersionInfo.cs
0,0 → 1,34
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
 
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyCulture("")]
[assembly: AssemblyCompany("Universe")]
[assembly: AssemblyCopyright("Copyright © Universe 2015")]
[assembly: AssemblyTrademark("email@radioman.lt")]
 
#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif
 
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.7")]
[assembly: AssemblyInformationalVersion("1.7")]
 
#if !PocketPC
[assembly: AssemblyFileVersion("1.7")]
#endif
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/System.Data.SQLite.x64.NET2.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/System.Data.SQLite.x64.NET4.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/System.Data.SQLite.x86.NET2.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/System.Data.SQLite.x86.NET4.dll.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/blue-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/drag_cross_67_16.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/green-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/marker.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/mm_20_blue.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/mm_20_green.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/mm_20_red.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/mm_20_shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/mm_20_yellow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/red-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/shadow50.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/Resources/yellow-dot.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/bin/Debug/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/bin/Debug/GMap.NET.Core.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/bin/Release/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/GMap.NET.Core.csproj.FileListAbsolute.txt
0,0 → 1,14
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\bin\Debug\GMap.NET.Core.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\bin\Debug\GMap.NET.Core.pdb
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Debug\GMap.NET.Properties.Resources.resources
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Debug\GMap.NET.Core.csproj.GenerateResource.Cache
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Debug\GMap.NET.Core.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Debug\GMap.NET.Core.pdb
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Debug\GMap.NET.Core.csprojResolveAssemblyReference.cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\bin\Debug\GMap.NET.Core.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\bin\Debug\GMap.NET.Core.pdb
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Debug\GMap.NET.Core.csprojResolveAssemblyReference.cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Debug\GMap.NET.Properties.Resources.resources
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Debug\GMap.NET.Core.csproj.GenerateResource.Cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Debug\GMap.NET.Core.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Debug\GMap.NET.Core.pdb
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/GMap.NET.Core.csproj.GenerateResource.Cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/GMap.NET.Core.csprojResolveAssemblyReference.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/GMap.NET.Core.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/GMap.NET.Properties.Resources.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Release/GMap.NET.Core.csproj.FileListAbsolute.txt
0,0 → 1,8
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\bin\Release\GMap.NET.Core.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Release\GMap.NET.Properties.Resources.resources
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Release\GMap.NET.Core.csproj.GenerateResource.Cache
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.Core\obj\Release\GMap.NET.Core.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\bin\Release\GMap.NET.Core.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Release\GMap.NET.Properties.Resources.resources
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Release\GMap.NET.Core.csproj.GenerateResource.Cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.Core\obj\Release\GMap.NET.Core.dll
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Release/GMap.NET.Core.csproj.GenerateResource.Cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Release/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Release/GMap.NET.Properties.Resources.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.Core/sn.snk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapControl.cs
0,0 → 1,2366

namespace GMap.NET.WindowsPresentation
{
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Threading;
using GMap.NET;
using GMap.NET.Internals;
using System.Diagnostics;
using GMap.NET.MapProviders;
using System.Windows.Media.Animation;
using GMap.NET.Projections;
 
/// <summary>
/// GMap.NET control for Windows Presentation
/// </summary>
public partial class GMapControl : ItemsControl, Interface, IDisposable
{
#region DependencyProperties and related stuff
 
public System.Windows.Point MapPoint
{
get
{
return (System.Windows.Point)GetValue(MapPointProperty);
}
set
{
SetValue(MapPointProperty, value);
}
}
 
 
// Using a DependencyProperty as the backing store for point. This enables animation, styling, binding, etc...
public static readonly DependencyProperty MapPointProperty =
DependencyProperty.Register("MapPoint", typeof(System.Windows.Point), typeof(GMapControl), new PropertyMetadata(new Point(), OnMapPointPropertyChanged));
 
 
private static void OnMapPointPropertyChanged(DependencyObject source,
DependencyPropertyChangedEventArgs e)
{
Point temp = (Point)e.NewValue;
(source as GMapControl).Position = new PointLatLng(temp.X, temp.Y);
}
 
public static readonly DependencyProperty MapProviderProperty = DependencyProperty.Register("MapProvider", typeof(GMapProvider), typeof(GMapControl), new UIPropertyMetadata(EmptyProvider.Instance, new PropertyChangedCallback(MapProviderPropertyChanged)));
 
/// <summary>
/// type of map
/// </summary>
[Browsable(false)]
public GMapProvider MapProvider
{
get
{
return GetValue(MapProviderProperty) as GMapProvider;
}
set
{
SetValue(MapProviderProperty, value);
}
}
 
private static void MapProviderPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
GMapControl map = (GMapControl)d;
if(map != null && e.NewValue != null)
{
Debug.WriteLine("MapType: " + e.OldValue + " -> " + e.NewValue);
 
RectLatLng viewarea = map.SelectedArea;
if(viewarea != RectLatLng.Empty)
{
map.Position = new PointLatLng(viewarea.Lat - viewarea.HeightLat / 2, viewarea.Lng + viewarea.WidthLng / 2);
}
else
{
viewarea = map.ViewArea;
}
 
map.Core.Provider = e.NewValue as GMapProvider;
 
map.Copyright = null;
if(!string.IsNullOrEmpty(map.Core.Provider.Copyright))
{
map.Copyright = new FormattedText(map.Core.Provider.Copyright, CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, new Typeface("GenericSansSerif"), 9, Brushes.Navy);
}
 
if(map.Core.IsStarted && map.Core.zoomToArea)
{
// restore zoomrect as close as possible
if(viewarea != RectLatLng.Empty && viewarea != map.ViewArea)
{
int bestZoom = map.Core.GetMaxZoomToFitRect(viewarea);
if(bestZoom > 0 && map.Zoom != bestZoom)
{
map.Zoom = bestZoom;
}
}
}
}
}
 
public static readonly DependencyProperty ZoomProperty = DependencyProperty.Register("Zoom", typeof(double), typeof(GMapControl), new UIPropertyMetadata(0.0, new PropertyChangedCallback(ZoomPropertyChanged), new CoerceValueCallback(OnCoerceZoom)));
 
/// <summary>
/// map zoom
/// </summary>
[Category("GMap.NET")]
public double Zoom
{
get
{
return (double)(GetValue(ZoomProperty));
}
set
{
SetValue(ZoomProperty, value);
}
}
 
private static object OnCoerceZoom(DependencyObject o, object value)
{
GMapControl map = o as GMapControl;
if(map != null)
{
double result = (double)value;
if(result > map.MaxZoom)
{
result = map.MaxZoom;
}
if(result < map.MinZoom)
{
result = map.MinZoom;
}
 
return result;
}
else
{
return value;
}
}
 
private ScaleModes scaleMode = ScaleModes.Integer;
 
/// <summary>
/// Specifies, if a floating map scale is displayed using a
/// stretched, or a narrowed map.
/// If <code>ScaleMode</code> is <code>ScaleDown</code>,
/// then a scale of 12.3 is displayed using a map zoom level of 13
/// resized to the lower level. If the parameter is <code>ScaleUp</code> ,
/// then the same scale is displayed using a zoom level of 12 with an
/// enlarged scale. If the value is <code>Dynamic</code>, then until a
/// remainder of 0.25 <code>ScaleUp</code> is applied, for bigger
/// remainders <code>ScaleDown</code>.
/// </summary>
[Category("GMap.NET")]
[Description("map scale type")]
public ScaleModes ScaleMode
{
get
{
return scaleMode;
}
set
{
scaleMode = value;
InvalidateVisual();
}
}
 
private static void ZoomPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
GMapControl map = (GMapControl)d;
if(map != null && map.MapProvider.Projection != null)
{
double value = (double)e.NewValue;
 
Debug.WriteLine("Zoom: " + e.OldValue + " -> " + value);
 
double remainder = value % 1;
if(map.ScaleMode != ScaleModes.Integer && remainder != 0 && map.ActualWidth > 0)
{
bool scaleDown;
 
switch(map.ScaleMode)
{
case ScaleModes.ScaleDown:
scaleDown = true;
break;
 
case ScaleModes.Dynamic:
scaleDown = remainder > 0.25;
break;
 
default:
scaleDown = false;
break;
}
 
if(scaleDown)
remainder--;
 
double scaleValue = Math.Pow(2d, remainder);
{
if(map.MapScaleTransform == null)
{
map.MapScaleTransform = map.lastScaleTransform;
}
map.MapScaleTransform.ScaleX = scaleValue;
map.MapScaleTransform.ScaleY = scaleValue;
 
map.Core.scaleX = 1 / scaleValue;
map.Core.scaleY = 1 / scaleValue;
 
map.MapScaleTransform.CenterX = map.ActualWidth / 2;
map.MapScaleTransform.CenterY = map.ActualHeight / 2;
}
 
map.Core.Zoom = Convert.ToInt32(scaleDown ? Math.Ceiling(value) : value - remainder);
}
else
{
map.MapScaleTransform = null;
map.Core.scaleX = 1;
map.Core.scaleY = 1;
map.Core.Zoom = (int)Math.Floor(value);
}
 
if(map.IsLoaded)
{
map.ForceUpdateOverlays();
map.InvalidateVisual(true);
}
}
}
 
readonly ScaleTransform lastScaleTransform = new ScaleTransform();
 
#endregion
 
readonly Core Core = new Core();
//GRect region;
delegate void MethodInvoker();
PointLatLng selectionStart;
PointLatLng selectionEnd;
Typeface tileTypeface = new Typeface("Arial");
bool showTileGridLines = false;
 
FormattedText Copyright;
 
/// <summary>
/// enables filling empty tiles using lower level images
/// </summary>
[Browsable(false)]
public bool FillEmptyTiles
{
get
{
return Core.fillEmptyTiles;
}
set
{
Core.fillEmptyTiles = value;
}
}
 
/// <summary>
/// max zoom
/// </summary>
[Category("GMap.NET")]
[Description("maximum zoom level of map")]
public int MaxZoom
{
get
{
return Core.maxZoom;
}
set
{
Core.maxZoom = value;
}
}
 
/// <summary>
/// min zoom
/// </summary>
[Category("GMap.NET")]
[Description("minimum zoom level of map")]
public int MinZoom
{
get
{
return Core.minZoom;
}
set
{
Core.minZoom = value;
}
}
 
/// <summary>
/// pen for empty tile borders
/// </summary>
public Pen EmptyTileBorders = new Pen(Brushes.White, 1.0);
 
/// <summary>
/// pen for Selection
/// </summary>
public Pen SelectionPen = new Pen(Brushes.Blue, 2.0);
 
/// <summary>
/// background of selected area
/// </summary>
public Brush SelectedAreaFill = new SolidColorBrush(Color.FromArgb(33, Colors.RoyalBlue.R, Colors.RoyalBlue.G, Colors.RoyalBlue.B));
 
/// <summary>
/// /// <summary>
/// pen for empty tile background
/// </summary>
public Brush EmptytileBrush = Brushes.Navy;
 
/// <summary>
/// text on empty tiles
/// </summary>
public FormattedText EmptyTileText = new FormattedText("We are sorry, but we don't\nhave imagery at this zoom\n level for this region.", System.Globalization.CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, new Typeface("Arial"), 16, Brushes.Blue);
 
/// <summary>
/// map zooming type for mouse wheel
/// </summary>
[Category("GMap.NET")]
[Description("map zooming type for mouse wheel")]
public MouseWheelZoomType MouseWheelZoomType
{
get
{
return Core.MouseWheelZoomType;
}
set
{
Core.MouseWheelZoomType = value;
}
}
/// <summary>
/// enable map zoom on mouse wheel
/// </summary>
[Category("GMap.NET")]
[Description("enable map zoom on mouse wheel")]
public bool MouseWheelZoomEnabled
{
get
{
return Core.MouseWheelZoomEnabled;
}
set
{
Core.MouseWheelZoomEnabled = value;
}
}
 
/// <summary>
/// map dragg button
/// </summary>
[Category("GMap.NET")]
public MouseButton DragButton = MouseButton.Right;
 
/// <summary>
/// use circle for selection
/// </summary>
public bool SelectionUseCircle = false;
 
/// <summary>
/// shows tile gridlines
/// </summary>
[Category("GMap.NET")]
public bool ShowTileGridLines
{
get
{
return showTileGridLines;
}
set
{
showTileGridLines = value;
InvalidateVisual();
}
}
 
/// <summary>
/// retry count to get tile
/// </summary>
[Browsable(false)]
public int RetryLoadTile
{
get
{
return Core.RetryLoadTile;
}
set
{
Core.RetryLoadTile = value;
}
}
 
/// <summary>
/// how many levels of tiles are staying decompresed in memory
/// </summary>
[Browsable(false)]
public int LevelsKeepInMemmory
{
get
{
return Core.LevelsKeepInMemmory;
}
 
set
{
Core.LevelsKeepInMemmory = value;
}
}
 
/// <summary>
/// current selected area in map
/// </summary>
private RectLatLng selectedArea;
 
[Browsable(false)]
public RectLatLng SelectedArea
{
get
{
return selectedArea;
}
set
{
selectedArea = value;
InvalidateVisual();
}
}
 
/// <summary>
/// is touch control enabled
/// </summary>
public bool TouchEnabled = true;
 
/// <summary>
/// map boundaries
/// </summary>
public RectLatLng? BoundsOfMap = null;
 
/// <summary>
/// occurs when mouse selection is changed
/// </summary>
public event SelectionChange OnSelectionChange;
 
/// <summary>
/// list of markers
/// </summary>
public readonly ObservableCollection<GMapMarker> Markers = new ObservableCollection<GMapMarker>();
 
/// <summary>
/// current markers overlay offset
/// </summary>
internal readonly TranslateTransform MapTranslateTransform = new TranslateTransform();
internal readonly TranslateTransform MapOverlayTranslateTransform = new TranslateTransform();
 
internal ScaleTransform MapScaleTransform = new ScaleTransform();
internal RotateTransform MapRotateTransform = new RotateTransform();
 
protected bool DesignModeInConstruct
{
get
{
return System.ComponentModel.DesignerProperties.GetIsInDesignMode(this);
}
}
 
Canvas mapCanvas = null;
 
/// <summary>
/// markers overlay
/// </summary>
internal Canvas MapCanvas
{
get
{
if(mapCanvas == null)
{
if(this.VisualChildrenCount > 0)
{
Border border = VisualTreeHelper.GetChild(this, 0) as Border;
ItemsPresenter items = border.Child as ItemsPresenter;
DependencyObject target = VisualTreeHelper.GetChild(items, 0);
mapCanvas = target as Canvas;
 
mapCanvas.RenderTransform = MapTranslateTransform;
}
}
 
return mapCanvas;
}
}
 
public GMaps Manager
{
get
{
return GMaps.Instance;
}
}
 
static DataTemplate DataTemplateInstance;
static ItemsPanelTemplate ItemsPanelTemplateInstance;
static Style StyleInstance;
 
public GMapControl()
{
if(!DesignModeInConstruct)
{
#region -- templates --
 
#region -- xaml --
// <ItemsControl Name="figures">
// <ItemsControl.ItemTemplate>
// <DataTemplate>
// <ContentPresenter Content="{Binding Path=Shape}" />
// </DataTemplate>
// </ItemsControl.ItemTemplate>
// <ItemsControl.ItemsPanel>
// <ItemsPanelTemplate>
// <Canvas />
// </ItemsPanelTemplate>
// </ItemsControl.ItemsPanel>
// <ItemsControl.ItemContainerStyle>
// <Style>
// <Setter Property="Canvas.Left" Value="{Binding Path=LocalPositionX}"/>
// <Setter Property="Canvas.Top" Value="{Binding Path=LocalPositionY}"/>
// </Style>
// </ItemsControl.ItemContainerStyle>
//</ItemsControl>
#endregion
 
if(DataTemplateInstance == null)
{
DataTemplateInstance = new DataTemplate(typeof(GMapMarker));
{
FrameworkElementFactory fef = new FrameworkElementFactory(typeof(ContentPresenter));
fef.SetBinding(ContentPresenter.ContentProperty, new Binding("Shape"));
DataTemplateInstance.VisualTree = fef;
}
}
ItemTemplate = DataTemplateInstance;
 
if(ItemsPanelTemplateInstance == null)
{
var factoryPanel = new FrameworkElementFactory(typeof(Canvas));
{
factoryPanel.SetValue(Canvas.IsItemsHostProperty, true);
 
ItemsPanelTemplateInstance = new ItemsPanelTemplate();
{
ItemsPanelTemplateInstance.VisualTree = factoryPanel;
}
}
}
ItemsPanel = ItemsPanelTemplateInstance;
 
if(StyleInstance == null)
{
StyleInstance = new Style();
{
StyleInstance.Setters.Add(new Setter(Canvas.LeftProperty, new Binding("LocalPositionX")));
StyleInstance.Setters.Add(new Setter(Canvas.TopProperty, new Binding("LocalPositionY")));
StyleInstance.Setters.Add(new Setter(Canvas.ZIndexProperty, new Binding("ZIndex")));
}
}
ItemContainerStyle = StyleInstance;
#endregion
 
ClipToBounds = true;
SnapsToDevicePixels = true;
 
Core.SystemType = "WindowsPresentation";
 
Core.RenderMode = GMap.NET.RenderMode.WPF;
 
Core.OnMapZoomChanged += new MapZoomChanged(ForceUpdateOverlays);
Loaded += new RoutedEventHandler(GMapControl_Loaded);
Dispatcher.ShutdownStarted += new EventHandler(Dispatcher_ShutdownStarted);
SizeChanged += new SizeChangedEventHandler(GMapControl_SizeChanged);
 
// by default its internal property, feel free to use your own
if(ItemsSource == null)
{
ItemsSource = Markers;
}
 
Core.Zoom = (int)((double)ZoomProperty.DefaultMetadata.DefaultValue);
}
}
 
static GMapControl()
{
GMapImageProxy.Enable();
#if !PocketPC
GMaps.Instance.SQLitePing();
#endif
}
 
void invalidatorEngage(object sender, ProgressChangedEventArgs e)
{
base.InvalidateVisual();
}
 
/// <summary>
/// enque built-in thread safe invalidation
/// </summary>
public new void InvalidateVisual()
{
if(Core.Refresh != null)
{
Core.Refresh.Set();
}
}
 
/// <summary>
/// Invalidates the rendering of the element, and forces a complete new layout
/// pass. System.Windows.UIElement.OnRender(System.Windows.Media.DrawingContext)
/// is called after the layout cycle is completed. If not forced enques built-in thread safe invalidation
/// </summary>
/// <param name="forced"></param>
public void InvalidateVisual(bool forced)
{
if(forced)
{
lock(Core.invalidationLock)
{
Core.lastInvalidation = DateTime.Now;
}
base.InvalidateVisual();
}
else
{
InvalidateVisual();
}
}
 
protected override void OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
base.OnItemsChanged(e);
if(e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
ForceUpdateOverlays(e.NewItems);
}
else
{
InvalidateVisual();
}
}
 
/// <summary>
/// inits core system
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void GMapControl_Loaded(object sender, RoutedEventArgs e)
{
if(!Core.IsStarted)
{
if(lazyEvents)
{
lazyEvents = false;
 
if(lazySetZoomToFitRect.HasValue)
{
SetZoomToFitRect(lazySetZoomToFitRect.Value);
lazySetZoomToFitRect = null;
}
}
Core.OnMapOpen().ProgressChanged += new ProgressChangedEventHandler(invalidatorEngage);
ForceUpdateOverlays();
 
if(Application.Current != null)
{
loadedApp = Application.Current;
 
loadedApp.Dispatcher.Invoke(DispatcherPriority.ApplicationIdle,
new Action(delegate()
{
loadedApp.SessionEnding += new SessionEndingCancelEventHandler(Current_SessionEnding);
}
));
}
}
}
 
Application loadedApp;
 
void Current_SessionEnding(object sender, SessionEndingCancelEventArgs e)
{
GMaps.Instance.CancelTileCaching();
}
 
void Dispatcher_ShutdownStarted(object sender, EventArgs e)
{
Dispose();
}
 
/// <summary>
/// recalculates size
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void GMapControl_SizeChanged(object sender, SizeChangedEventArgs e)
{
System.Windows.Size constraint = e.NewSize;
 
// 50px outside control
//region = new GRect(-50, -50, (int)constraint.Width + 100, (int)constraint.Height + 100);
 
Core.OnMapSizeChanged((int)constraint.Width, (int)constraint.Height);
 
if(Core.IsStarted)
{
if(IsRotated)
{
UpdateRotationMatrix();
}
 
ForceUpdateOverlays();
}
}
void ForceUpdateOverlays()
{
ForceUpdateOverlays(ItemsSource);
}
 
void ForceUpdateOverlays(System.Collections.IEnumerable items)
{
using(Dispatcher.DisableProcessing())
{
UpdateMarkersOffset();
 
foreach(GMapMarker i in items)
{
if(i != null)
{
i.ForceUpdateLocalPosition(this);
 
if(i is IShapable)
{
(i as IShapable).RegenerateShape(this);
}
}
}
}
InvalidateVisual();
}
 
/// <summary>
/// updates markers overlay offset
/// </summary>
void UpdateMarkersOffset()
{
if(MapCanvas != null)
{
if(MapScaleTransform != null)
{
var tp = MapScaleTransform.Transform(new System.Windows.Point(Core.renderOffset.X, Core.renderOffset.Y));
MapOverlayTranslateTransform.X = tp.X;
MapOverlayTranslateTransform.Y = tp.Y;
 
// map is scaled already
MapTranslateTransform.X = Core.renderOffset.X;
MapTranslateTransform.Y = Core.renderOffset.Y;
}
else
{
MapTranslateTransform.X = Core.renderOffset.X;
MapTranslateTransform.Y = Core.renderOffset.Y;
 
MapOverlayTranslateTransform.X = MapTranslateTransform.X;
MapOverlayTranslateTransform.Y = MapTranslateTransform.Y;
}
}
}
 
public Brush EmptyMapBackground = Brushes.WhiteSmoke;
 
/// <summary>
/// render map in WPF
/// </summary>
/// <param name="g"></param>
void DrawMap(DrawingContext g)
{
if(MapProvider == EmptyProvider.Instance || MapProvider == null)
{
return;
}
 
Core.tileDrawingListLock.AcquireReaderLock();
Core.Matrix.EnterReadLock();
try
{
foreach(var tilePoint in Core.tileDrawingList)
{
Core.tileRect.Location = tilePoint.PosPixel;
Core.tileRect.OffsetNegative(Core.compensationOffset);
 
//if(region.IntersectsWith(Core.tileRect) || IsRotated)
{
bool found = false;
 
Tile t = Core.Matrix.GetTileWithNoLock(Core.Zoom, tilePoint.PosXY);
if(t.NotEmpty)
{
foreach(GMapImage img in t.Overlays)
{
if(img != null && img.Img != null)
{
if(!found)
found = true;
 
var imgRect = new Rect(Core.tileRect.X + 0.6, Core.tileRect.Y + 0.6, Core.tileRect.Width + 0.6, Core.tileRect.Height + 0.6);
if(!img.IsParent)
{
g.DrawImage(img.Img, imgRect);
}
else
{
// TODO: move calculations to loader thread
var geometry = new RectangleGeometry(imgRect);
var parentImgRect = new Rect(Core.tileRect.X - Core.tileRect.Width * img.Xoff + 0.6, Core.tileRect.Y - Core.tileRect.Height * img.Yoff + 0.6, Core.tileRect.Width * img.Ix + 0.6, Core.tileRect.Height * img.Ix + 0.6);
 
g.PushClip(geometry);
g.DrawImage(img.Img, parentImgRect);
g.Pop();
geometry = null;
}
}
}
}
else if(FillEmptyTiles && MapProvider.Projection is MercatorProjection)
{
#region -- fill empty tiles --
int zoomOffset = 1;
Tile parentTile = Tile.Empty;
long Ix = 0;
 
while(!parentTile.NotEmpty && zoomOffset < Core.Zoom && zoomOffset <= LevelsKeepInMemmory)
{
Ix = (long)Math.Pow(2, zoomOffset);
parentTile = Core.Matrix.GetTileWithNoLock(Core.Zoom - zoomOffset++, new GMap.NET.GPoint((int)(tilePoint.PosXY.X / Ix), (int)(tilePoint.PosXY.Y / Ix)));
}
 
if(parentTile.NotEmpty)
{
long Xoff = Math.Abs(tilePoint.PosXY.X - (parentTile.Pos.X * Ix));
long Yoff = Math.Abs(tilePoint.PosXY.Y - (parentTile.Pos.Y * Ix));
 
var geometry = new RectangleGeometry(new Rect(Core.tileRect.X + 0.6, Core.tileRect.Y + 0.6, Core.tileRect.Width + 0.6, Core.tileRect.Height + 0.6));
var parentImgRect = new Rect(Core.tileRect.X - Core.tileRect.Width * Xoff + 0.6, Core.tileRect.Y - Core.tileRect.Height * Yoff + 0.6, Core.tileRect.Width * Ix + 0.6, Core.tileRect.Height * Ix + 0.6);
 
// render tile
{
foreach(GMapImage img in parentTile.Overlays)
{
if(img != null && img.Img != null && !img.IsParent)
{
if(!found)
found = true;
 
g.PushClip(geometry);
g.DrawImage(img.Img, parentImgRect);
g.DrawRectangle(SelectedAreaFill, null, geometry.Bounds);
g.Pop();
}
}
}
 
geometry = null;
}
#endregion
}
 
// add text if tile is missing
if(!found)
{
lock(Core.FailedLoads)
{
var lt = new LoadTask(tilePoint.PosXY, Core.Zoom);
 
if(Core.FailedLoads.ContainsKey(lt))
{
g.DrawRectangle(EmptytileBrush, EmptyTileBorders, new Rect(Core.tileRect.X, Core.tileRect.Y, Core.tileRect.Width, Core.tileRect.Height));
 
var ex = Core.FailedLoads[lt];
FormattedText TileText = new FormattedText("Exception: " + ex.Message, System.Globalization.CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, tileTypeface, 14, Brushes.Red);
TileText.MaxTextWidth = Core.tileRect.Width - 11;
 
g.DrawText(TileText, new System.Windows.Point(Core.tileRect.X + 11, Core.tileRect.Y + 11));
 
g.DrawText(EmptyTileText, new System.Windows.Point(Core.tileRect.X + Core.tileRect.Width / 2 - EmptyTileText.Width / 2, Core.tileRect.Y + Core.tileRect.Height / 2 - EmptyTileText.Height / 2));
}
}
}
 
if(ShowTileGridLines)
{
g.DrawRectangle(null, EmptyTileBorders, new Rect(Core.tileRect.X, Core.tileRect.Y, Core.tileRect.Width, Core.tileRect.Height));
 
if(tilePoint.PosXY == Core.centerTileXYLocation)
{
FormattedText TileText = new FormattedText("CENTER:" + tilePoint.ToString(), System.Globalization.CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, tileTypeface, 16, Brushes.Red);
TileText.MaxTextWidth = Core.tileRect.Width;
g.DrawText(TileText, new System.Windows.Point(Core.tileRect.X + Core.tileRect.Width / 2 - EmptyTileText.Width / 2, Core.tileRect.Y + Core.tileRect.Height / 2 - TileText.Height / 2));
}
else
{
FormattedText TileText = new FormattedText("TILE: " + tilePoint.ToString(), System.Globalization.CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, tileTypeface, 16, Brushes.Red);
TileText.MaxTextWidth = Core.tileRect.Width;
g.DrawText(TileText, new System.Windows.Point(Core.tileRect.X + Core.tileRect.Width / 2 - EmptyTileText.Width / 2, Core.tileRect.Y + Core.tileRect.Height / 2 - TileText.Height / 2));
}
}
}
}
}
finally
{
Core.Matrix.LeaveReadLock();
Core.tileDrawingListLock.ReleaseReaderLock();
}
}
 
/// <summary>
/// gets image of the current view
/// </summary>
/// <returns></returns>
public ImageSource ToImageSource()
{
FrameworkElement obj = this;
 
// Save current canvas transform
Transform transform = obj.LayoutTransform;
obj.LayoutTransform = null;
 
// fix margin offset as well
Thickness margin = obj.Margin;
obj.Margin = new Thickness(0, 0,
margin.Right - margin.Left, margin.Bottom - margin.Top);
 
// Get the size of canvas
Size size = new Size(obj.ActualWidth, obj.ActualHeight);
 
// force control to Update
obj.Measure(size);
obj.Arrange(new Rect(size));
 
RenderTargetBitmap bmp = new RenderTargetBitmap(
(int)size.Width, (int)size.Height, 96, 96, PixelFormats.Pbgra32);
 
bmp.Render(obj);
 
if(bmp.CanFreeze)
{
bmp.Freeze();
}
 
// return values as they were before
obj.LayoutTransform = transform;
obj.Margin = margin;
 
return bmp;
}
 
/// <summary>
/// creates path from list of points, for performance set addBlurEffect to false
/// </summary>
/// <param name="pl"></param>
/// <returns></returns>
public virtual Path CreateRoutePath(List<Point> localPath)
{
return CreateRoutePath(localPath, true);
}
 
/// <summary>
/// creates path from list of points, for performance set addBlurEffect to false
/// </summary>
/// <param name="pl"></param>
/// <returns></returns>
public virtual Path CreateRoutePath(List<Point> localPath, bool addBlurEffect)
{
// Create a StreamGeometry to use to specify myPath.
StreamGeometry geometry = new StreamGeometry();
 
using(StreamGeometryContext ctx = geometry.Open())
{
ctx.BeginFigure(localPath[0], false, false);
 
// Draw a line to the next specified point.
ctx.PolyLineTo(localPath, true, true);
}
 
// Freeze the geometry (make it unmodifiable)
// for additional performance benefits.
geometry.Freeze();
 
// Create a path to draw a geometry with.
Path myPath = new Path();
{
// Specify the shape of the Path using the StreamGeometry.
myPath.Data = geometry;
 
if (addBlurEffect)
{
BlurEffect ef = new BlurEffect();
{
ef.KernelType = KernelType.Gaussian;
ef.Radius = 3.0;
ef.RenderingBias = RenderingBias.Performance;
}
 
myPath.Effect = ef;
}
 
myPath.Stroke = Brushes.Navy;
myPath.StrokeThickness = 5;
myPath.StrokeLineJoin = PenLineJoin.Round;
myPath.StrokeStartLineCap = PenLineCap.Triangle;
myPath.StrokeEndLineCap = PenLineCap.Square;
 
myPath.Opacity = 0.6;
myPath.IsHitTestVisible = false;
}
return myPath;
}
 
/// <summary>
/// creates path from list of points, for performance set addBlurEffect to false
/// </summary>
/// <param name="pl"></param>
/// <returns></returns>
public virtual Path CreatePolygonPath(List<Point> localPath)
{
return CreatePolygonPath(localPath, false);
}
 
/// <summary>
/// creates path from list of points, for performance set addBlurEffect to false
/// </summary>
/// <param name="pl"></param>
/// <returns></returns>
public virtual Path CreatePolygonPath(List<Point> localPath, bool addBlurEffect)
{
// Create a StreamGeometry to use to specify myPath.
StreamGeometry geometry = new StreamGeometry();
 
using(StreamGeometryContext ctx = geometry.Open())
{
ctx.BeginFigure(localPath[0], true, true);
 
// Draw a line to the next specified point.
ctx.PolyLineTo(localPath, true, true);
}
 
// Freeze the geometry (make it unmodifiable)
// for additional performance benefits.
geometry.Freeze();
 
// Create a path to draw a geometry with.
Path myPath = new Path();
{
// Specify the shape of the Path using the StreamGeometry.
myPath.Data = geometry;
 
if (addBlurEffect)
{
BlurEffect ef = new BlurEffect();
{
ef.KernelType = KernelType.Gaussian;
ef.Radius = 3.0;
ef.RenderingBias = RenderingBias.Performance;
}
 
myPath.Effect = ef;
}
 
myPath.Stroke = Brushes.MidnightBlue;
myPath.StrokeThickness = 5;
myPath.StrokeLineJoin = PenLineJoin.Round;
myPath.StrokeStartLineCap = PenLineCap.Triangle;
myPath.StrokeEndLineCap = PenLineCap.Square;
 
myPath.Fill = Brushes.AliceBlue;
 
myPath.Opacity = 0.6;
myPath.IsHitTestVisible = false;
}
return myPath;
}
 
/// <summary>
/// sets zoom to max to fit rect
/// </summary>
/// <param name="rect">area</param>
/// <returns></returns>
public bool SetZoomToFitRect(RectLatLng rect)
{
if(lazyEvents)
{
lazySetZoomToFitRect = rect;
}
else
{
int maxZoom = Core.GetMaxZoomToFitRect(rect);
if(maxZoom > 0)
{
PointLatLng center = new PointLatLng(rect.Lat - (rect.HeightLat / 2), rect.Lng + (rect.WidthLng / 2));
Position = center;
 
if(maxZoom > MaxZoom)
{
maxZoom = MaxZoom;
}
 
if(Core.Zoom != maxZoom)
{
Zoom = maxZoom;
}
 
return true;
}
}
return false;
}
 
RectLatLng? lazySetZoomToFitRect = null;
bool lazyEvents = true;
 
/// <summary>
/// sets to max zoom to fit all markers and centers them in map
/// </summary>
/// <param name="ZIndex">z index or null to check all</param>
/// <returns></returns>
public bool ZoomAndCenterMarkers(int? ZIndex)
{
RectLatLng? rect = GetRectOfAllMarkers(ZIndex);
if(rect.HasValue)
{
return SetZoomToFitRect(rect.Value);
}
 
return false;
}
 
/// <summary>
/// gets rectangle with all objects inside
/// </summary>
/// <param name="ZIndex">z index or null to check all</param>
/// <returns></returns>
public RectLatLng? GetRectOfAllMarkers(int? ZIndex)
{
RectLatLng? ret = null;
 
double left = double.MaxValue;
double top = double.MinValue;
double right = double.MinValue;
double bottom = double.MaxValue;
IEnumerable<GMapMarker> Overlays;
 
if(ZIndex.HasValue)
{
Overlays = ItemsSource.Cast<GMapMarker>().Where(p => p != null && p.ZIndex == ZIndex);
}
else
{
Overlays = ItemsSource.Cast<GMapMarker>();
}
 
if(Overlays != null)
{
foreach(var m in Overlays)
{
if(m.Shape != null && m.Shape.Visibility == System.Windows.Visibility.Visible)
{
// left
if(m.Position.Lng < left)
{
left = m.Position.Lng;
}
 
// top
if(m.Position.Lat > top)
{
top = m.Position.Lat;
}
 
// right
if(m.Position.Lng > right)
{
right = m.Position.Lng;
}
 
// bottom
if(m.Position.Lat < bottom)
{
bottom = m.Position.Lat;
}
}
}
}
 
if(left != double.MaxValue && right != double.MinValue && top != double.MinValue && bottom != double.MaxValue)
{
ret = RectLatLng.FromLTRB(left, top, right, bottom);
}
 
return ret;
}
 
/// <summary>
/// offset position in pixels
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
public void Offset(int x, int y)
{
if(IsLoaded)
{
if(IsRotated)
{
Point p = new Point(x, y);
p = rotationMatrixInvert.Transform(p);
x = (int)p.X;
y = (int)p.Y;
 
Core.DragOffset(new GPoint(x, y));
 
ForceUpdateOverlays();
}
else
{
Core.DragOffset(new GPoint(x, y));
 
UpdateMarkersOffset();
InvalidateVisual(true);
}
}
}
 
readonly RotateTransform rotationMatrix = new RotateTransform();
GeneralTransform rotationMatrixInvert = new RotateTransform();
 
/// <summary>
/// updates rotation matrix
/// </summary>
void UpdateRotationMatrix()
{
System.Windows.Point center = new System.Windows.Point(ActualWidth / 2.0, ActualHeight / 2.0);
 
rotationMatrix.Angle = -Bearing;
rotationMatrix.CenterY = center.Y;
rotationMatrix.CenterX = center.X;
 
rotationMatrixInvert = rotationMatrix.Inverse;
}
 
/// <summary>
/// returs true if map bearing is not zero
/// </summary>
public bool IsRotated
{
get
{
return Core.IsRotated;
}
}
 
/// <summary>
/// bearing for rotation of the map
/// </summary>
[Category("GMap.NET")]
public float Bearing
{
get
{
return Core.bearing;
}
set
{
if(Core.bearing != value)
{
bool resize = Core.bearing == 0;
Core.bearing = value;
 
UpdateRotationMatrix();
 
if(value != 0 && value % 360 != 0)
{
Core.IsRotated = true;
 
if(Core.tileRectBearing.Size == Core.tileRect.Size)
{
Core.tileRectBearing = Core.tileRect;
Core.tileRectBearing.Inflate(1, 1);
}
}
else
{
Core.IsRotated = false;
Core.tileRectBearing = Core.tileRect;
}
 
if(resize)
{
Core.OnMapSizeChanged((int)ActualWidth, (int)ActualHeight);
}
 
if(Core.IsStarted)
{
ForceUpdateOverlays();
}
}
}
}
 
/// <summary>
/// apply transformation if in rotation mode
/// </summary>
System.Windows.Point ApplyRotation(double x, double y)
{
System.Windows.Point ret = new System.Windows.Point(x, y);
 
if(IsRotated)
{
ret = rotationMatrix.Transform(ret);
}
 
return ret;
}
 
/// <summary>
/// apply transformation if in rotation mode
/// </summary>
System.Windows.Point ApplyRotationInversion(double x, double y)
{
System.Windows.Point ret = new System.Windows.Point(x, y);
 
if(IsRotated)
{
ret = rotationMatrixInvert.Transform(ret);
}
 
return ret;
}
 
#region UserControl Events
protected override void OnRender(DrawingContext drawingContext)
{
if(!Core.IsStarted)
return;
 
drawingContext.DrawRectangle(EmptyMapBackground, null, new Rect(RenderSize));
 
if(IsRotated)
{
drawingContext.PushTransform(rotationMatrix);
 
if(MapScaleTransform != null)
{
drawingContext.PushTransform(MapScaleTransform);
drawingContext.PushTransform(MapTranslateTransform);
{
DrawMap(drawingContext);
}
drawingContext.Pop();
drawingContext.Pop();
}
else
{
drawingContext.PushTransform(MapTranslateTransform);
{
DrawMap(drawingContext);
}
drawingContext.Pop();
}
 
drawingContext.Pop();
}
else
{
if(MapScaleTransform != null)
{
drawingContext.PushTransform(MapScaleTransform);
drawingContext.PushTransform(MapTranslateTransform);
{
DrawMap(drawingContext);
 
#if DEBUG
drawingContext.DrawLine(VirtualCenterCrossPen, new Point(-20, 0), new Point(20, 0));
drawingContext.DrawLine(VirtualCenterCrossPen, new Point(0, -20), new Point(0, 20));
#endif
}
drawingContext.Pop();
drawingContext.Pop();
}
else
{
drawingContext.PushTransform(MapTranslateTransform);
{
DrawMap(drawingContext);
#if DEBUG
drawingContext.DrawLine(VirtualCenterCrossPen, new Point(-20, 0), new Point(20, 0));
drawingContext.DrawLine(VirtualCenterCrossPen, new Point(0, -20), new Point(0, 20));
#endif
}
drawingContext.Pop();
}
}
 
// selection
if(!SelectedArea.IsEmpty)
{
GPoint p1 = FromLatLngToLocal(SelectedArea.LocationTopLeft);
GPoint p2 = FromLatLngToLocal(SelectedArea.LocationRightBottom);
 
long x1 = p1.X;
long y1 = p1.Y;
long x2 = p2.X;
long y2 = p2.Y;
 
if(SelectionUseCircle)
{
drawingContext.DrawEllipse(SelectedAreaFill, SelectionPen, new System.Windows.Point(x1 + (x2 - x1) / 2, y1 + (y2 - y1) / 2), (x2 - x1) / 2, (y2 - y1) / 2);
}
else
{
drawingContext.DrawRoundedRectangle(SelectedAreaFill, SelectionPen, new Rect(x1, y1, x2 - x1, y2 - y1), 5, 5);
}
}
 
if(ShowCenter)
{
drawingContext.DrawLine(CenterCrossPen, new System.Windows.Point((ActualWidth / 2) - 5, ActualHeight / 2), new System.Windows.Point((ActualWidth / 2) + 5, ActualHeight / 2));
drawingContext.DrawLine(CenterCrossPen, new System.Windows.Point(ActualWidth / 2, (ActualHeight / 2) - 5), new System.Windows.Point(ActualWidth / 2, (ActualHeight / 2) + 5));
}
 
if(renderHelperLine)
{
var p = Mouse.GetPosition(this);
 
drawingContext.DrawLine(HelperLinePen, new Point(p.X, 0), new Point(p.X, ActualHeight));
drawingContext.DrawLine(HelperLinePen, new Point(0, p.Y), new Point(ActualWidth, p.Y));
}
 
#region -- copyright --
 
if(Copyright != null)
{
drawingContext.DrawText(Copyright, new System.Windows.Point(5, ActualHeight - Copyright.Height - 5));
}
 
#endregion
 
base.OnRender(drawingContext);
}
 
public Pen CenterCrossPen = new Pen(Brushes.Red, 1);
public bool ShowCenter = true;
 
#if DEBUG
readonly Pen VirtualCenterCrossPen = new Pen(Brushes.Blue, 1);
#endif
 
HelperLineOptions helperLineOption = HelperLineOptions.DontShow;
 
/// <summary>
/// draw lines at the mouse pointer position
/// </summary>
[Browsable(false)]
public HelperLineOptions HelperLineOption
{
get
{
return helperLineOption;
}
set
{
helperLineOption = value;
renderHelperLine = (helperLineOption == HelperLineOptions.ShowAlways);
if(Core.IsStarted)
{
InvalidateVisual();
}
}
}
 
public Pen HelperLinePen = new Pen(Brushes.Blue, 1);
bool renderHelperLine = false;
 
protected override void OnKeyUp(KeyEventArgs e)
{
base.OnKeyUp(e);
if(HelperLineOption == HelperLineOptions.ShowOnModifierKey)
{
renderHelperLine = !(e.IsUp && (e.Key == Key.LeftShift || e.SystemKey == Key.LeftAlt));
if(!renderHelperLine)
{
InvalidateVisual();
}
}
}
 
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if(HelperLineOption == HelperLineOptions.ShowOnModifierKey)
{
renderHelperLine = e.IsDown && (e.Key == Key.LeftShift || e.SystemKey == Key.LeftAlt);
if(renderHelperLine)
{
InvalidateVisual();
}
}
}
 
/// <summary>
/// reverses MouseWheel zooming direction
/// </summary>
public bool InvertedMouseWheelZooming = false;
 
/// <summary>
/// lets you zoom by MouseWheel even when pointer is in area of marker
/// </summary>
public bool IgnoreMarkerOnMouseWheel = false;
 
protected override void OnMouseWheel(MouseWheelEventArgs e)
{
base.OnMouseWheel(e);
 
if(MouseWheelZoomEnabled && (IsMouseDirectlyOver || IgnoreMarkerOnMouseWheel) && !Core.IsDragging)
{
System.Windows.Point p = e.GetPosition(this);
 
if(MapScaleTransform != null)
{
p = MapScaleTransform.Inverse.Transform(p);
}
 
p = ApplyRotationInversion(p.X, p.Y);
 
if(Core.mouseLastZoom.X != (int)p.X && Core.mouseLastZoom.Y != (int)p.Y)
{
if(MouseWheelZoomType == MouseWheelZoomType.MousePositionAndCenter)
{
Core.position = FromLocalToLatLng((int)p.X, (int)p.Y);
}
else if(MouseWheelZoomType == MouseWheelZoomType.ViewCenter)
{
Core.position = FromLocalToLatLng((int)ActualWidth / 2, (int)ActualHeight / 2);
}
else if(MouseWheelZoomType == MouseWheelZoomType.MousePositionWithoutCenter)
{
Core.position = FromLocalToLatLng((int)p.X, (int)p.Y);
}
 
Core.mouseLastZoom.X = (int)p.X;
Core.mouseLastZoom.Y = (int)p.Y;
}
 
// set mouse position to map center
if(MouseWheelZoomType != MouseWheelZoomType.MousePositionWithoutCenter)
{
System.Windows.Point ps = PointToScreen(new System.Windows.Point(ActualWidth / 2, ActualHeight / 2));
Stuff.SetCursorPos((int)ps.X, (int)ps.Y);
}
 
Core.MouseWheelZooming = true;
 
if(e.Delta > 0)
{
if(!InvertedMouseWheelZooming)
{
Zoom = ((int)Zoom) + 1;
}
else
{
Zoom = ((int)(Zoom + 0.99)) - 1;
}
}
else
{
if(InvertedMouseWheelZooming)
{
Zoom = ((int)Zoom) + 1;
}
else
{
Zoom = ((int)(Zoom + 0.99)) - 1;
}
}
 
Core.MouseWheelZooming = false;
}
}
 
bool isSelected = false;
 
protected override void OnMouseDown(MouseButtonEventArgs e)
{
base.OnMouseDown(e);
if(CanDragMap && e.ChangedButton == DragButton)
{
Point p = e.GetPosition(this);
 
if(MapScaleTransform != null)
{
p = MapScaleTransform.Inverse.Transform(p);
}
 
p = ApplyRotationInversion(p.X, p.Y);
 
Core.mouseDown.X = (int)p.X;
Core.mouseDown.Y = (int)p.Y;
 
InvalidateVisual();
}
else
{
if(!isSelected)
{
Point p = e.GetPosition(this);
isSelected = true;
SelectedArea = RectLatLng.Empty;
selectionEnd = PointLatLng.Empty;
selectionStart = FromLocalToLatLng((int)p.X, (int)p.Y);
}
}
}
 
int onMouseUpTimestamp = 0;
 
protected override void OnMouseUp(MouseButtonEventArgs e)
{
base.OnMouseUp(e);
if(isSelected)
{
isSelected = false;
}
 
if(Core.IsDragging)
{
if(isDragging)
{
onMouseUpTimestamp = e.Timestamp & Int32.MaxValue;
isDragging = false;
Debug.WriteLine("IsDragging = " + isDragging);
Cursor = cursorBefore;
Mouse.Capture(null);
}
Core.EndDrag();
 
if(BoundsOfMap.HasValue && !BoundsOfMap.Value.Contains(Position))
{
if(Core.LastLocationInBounds.HasValue)
{
Position = Core.LastLocationInBounds.Value;
}
}
}
else
{
if(e.ChangedButton == DragButton)
{
Core.mouseDown = GPoint.Empty;
}
 
if(!selectionEnd.IsEmpty && !selectionStart.IsEmpty)
{
bool zoomtofit = false;
 
if(!SelectedArea.IsEmpty && Keyboard.Modifiers == ModifierKeys.Shift)
{
zoomtofit = SetZoomToFitRect(SelectedArea);
}
 
if(OnSelectionChange != null)
{
OnSelectionChange(SelectedArea, zoomtofit);
}
}
else
{
InvalidateVisual();
}
}
}
 
Cursor cursorBefore = Cursors.Arrow;
 
protected override void OnMouseMove(MouseEventArgs e)
{
if (CanDragMap)
{
base.OnMouseMove(e);
// wpf generates to many events if mouse is over some visual
// and OnMouseUp is fired, wtf, anyway...
// http://greatmaps.codeplex.com/workitem/16013
if ((e.Timestamp & Int32.MaxValue) - onMouseUpTimestamp < 55)
{
Debug.WriteLine("OnMouseMove skipped: " + ((e.Timestamp & Int32.MaxValue) - onMouseUpTimestamp) + "ms");
return;
}
 
if (!Core.IsDragging && !Core.mouseDown.IsEmpty)
{
Point p = e.GetPosition(this);
 
if (MapScaleTransform != null)
{
p = MapScaleTransform.Inverse.Transform(p);
}
 
p = ApplyRotationInversion(p.X, p.Y);
 
// cursor has moved beyond drag tolerance
if (Math.Abs(p.X - Core.mouseDown.X) * 2 >= SystemParameters.MinimumHorizontalDragDistance || Math.Abs(p.Y - Core.mouseDown.Y) * 2 >= SystemParameters.MinimumVerticalDragDistance)
{
Core.BeginDrag(Core.mouseDown);
}
}
 
if (Core.IsDragging)
{
if (!isDragging)
{
isDragging = true;
Debug.WriteLine("IsDragging = " + isDragging);
cursorBefore = Cursor;
Cursor = Cursors.SizeAll;
Mouse.Capture(this);
}
 
if (BoundsOfMap.HasValue && !BoundsOfMap.Value.Contains(Position))
{
// ...
}
else
{
Point p = e.GetPosition(this);
 
if (MapScaleTransform != null)
{
p = MapScaleTransform.Inverse.Transform(p);
}
 
p = ApplyRotationInversion(p.X, p.Y);
 
Core.mouseCurrent.X = (int)p.X;
Core.mouseCurrent.Y = (int)p.Y;
{
Core.Drag(Core.mouseCurrent);
}
 
if (IsRotated || scaleMode != ScaleModes.Integer)
{
ForceUpdateOverlays();
}
else
{
UpdateMarkersOffset();
}
}
InvalidateVisual(true);
}
else
{
if (isSelected && !selectionStart.IsEmpty && (Keyboard.Modifiers == ModifierKeys.Shift || Keyboard.Modifiers == ModifierKeys.Alt || DisableAltForSelection))
{
System.Windows.Point p = e.GetPosition(this);
selectionEnd = FromLocalToLatLng((int)p.X, (int)p.Y);
{
GMap.NET.PointLatLng p1 = selectionStart;
GMap.NET.PointLatLng p2 = selectionEnd;
 
double x1 = Math.Min(p1.Lng, p2.Lng);
double y1 = Math.Max(p1.Lat, p2.Lat);
double x2 = Math.Max(p1.Lng, p2.Lng);
double y2 = Math.Min(p1.Lat, p2.Lat);
 
SelectedArea = new RectLatLng(y1, x1, x2 - x1, y1 - y2);
}
}
 
if (renderHelperLine)
{
InvalidateVisual(true);
}
}
}
}
 
/// <summary>
/// if true, selects area just by holding mouse and moving
/// </summary>
public bool DisableAltForSelection = false;
 
protected override void OnStylusDown(StylusDownEventArgs e)
{
base.OnStylusDown(e);
if(TouchEnabled && CanDragMap && !e.InAir)
{
Point p = e.GetPosition(this);
 
if(MapScaleTransform != null)
{
p = MapScaleTransform.Inverse.Transform(p);
}
 
p = ApplyRotationInversion(p.X, p.Y);
 
Core.mouseDown.X = (int)p.X;
Core.mouseDown.Y = (int)p.Y;
 
InvalidateVisual();
}
}
 
protected override void OnStylusUp(StylusEventArgs e)
{
base.OnStylusUp(e);
if(TouchEnabled)
{
if(isSelected)
{
isSelected = false;
}
 
if(Core.IsDragging)
{
if(isDragging)
{
onMouseUpTimestamp = e.Timestamp & Int32.MaxValue;
isDragging = false;
Debug.WriteLine("IsDragging = " + isDragging);
Cursor = cursorBefore;
Mouse.Capture(null);
}
Core.EndDrag();
 
if(BoundsOfMap.HasValue && !BoundsOfMap.Value.Contains(Position))
{
if(Core.LastLocationInBounds.HasValue)
{
Position = Core.LastLocationInBounds.Value;
}
}
}
else
{
Core.mouseDown = GPoint.Empty;
InvalidateVisual();
}
}
}
 
protected override void OnStylusMove(StylusEventArgs e)
{
base.OnStylusMove(e);
if(TouchEnabled && CanDragMap)
{
// wpf generates to many events if mouse is over some visual
// and OnMouseUp is fired, wtf, anyway...
// http://greatmaps.codeplex.com/workitem/16013
if((e.Timestamp & Int32.MaxValue) - onMouseUpTimestamp < 55)
{
Debug.WriteLine("OnMouseMove skipped: " + ((e.Timestamp & Int32.MaxValue) - onMouseUpTimestamp) + "ms");
return;
}
 
if(!Core.IsDragging && !Core.mouseDown.IsEmpty)
{
Point p = e.GetPosition(this);
 
if(MapScaleTransform != null)
{
p = MapScaleTransform.Inverse.Transform(p);
}
 
p = ApplyRotationInversion(p.X, p.Y);
 
// cursor has moved beyond drag tolerance
if(Math.Abs(p.X - Core.mouseDown.X) * 2 >= SystemParameters.MinimumHorizontalDragDistance || Math.Abs(p.Y - Core.mouseDown.Y) * 2 >= SystemParameters.MinimumVerticalDragDistance)
{
Core.BeginDrag(Core.mouseDown);
}
}
 
if(Core.IsDragging)
{
if(!isDragging)
{
isDragging = true;
Debug.WriteLine("IsDragging = " + isDragging);
cursorBefore = Cursor;
Cursor = Cursors.SizeAll;
Mouse.Capture(this);
}
 
if(BoundsOfMap.HasValue && !BoundsOfMap.Value.Contains(Position))
{
// ...
}
else
{
Point p = e.GetPosition(this);
 
if(MapScaleTransform != null)
{
p = MapScaleTransform.Inverse.Transform(p);
}
 
p = ApplyRotationInversion(p.X, p.Y);
 
Core.mouseCurrent.X = (int)p.X;
Core.mouseCurrent.Y = (int)p.Y;
{
Core.Drag(Core.mouseCurrent);
}
 
if(IsRotated)
{
ForceUpdateOverlays();
}
else
{
UpdateMarkersOffset();
}
}
InvalidateVisual();
}
}
}
 
#endregion
 
#region IGControl Members
 
/// <summary>
/// Call it to empty tile cache & reload tiles
/// </summary>
public void ReloadMap()
{
Core.ReloadMap();
}
 
/// <summary>
/// sets position using geocoder
/// </summary>
/// <param name="keys"></param>
/// <returns></returns>
public GeoCoderStatusCode SetPositionByKeywords(string keys)
{
GeoCoderStatusCode status = GeoCoderStatusCode.Unknow;
 
GeocodingProvider gp = MapProvider as GeocodingProvider;
if(gp == null)
{
gp = GMapProviders.OpenStreetMap as GeocodingProvider;
}
 
if(gp != null)
{
var pt = gp.GetPoint(keys, out status);
if(status == GeoCoderStatusCode.G_GEO_SUCCESS && pt.HasValue)
{
Position = pt.Value;
}
}
 
return status;
}
 
public PointLatLng FromLocalToLatLng(int x, int y)
{
if(MapScaleTransform != null)
{
var tp = MapScaleTransform.Inverse.Transform(new System.Windows.Point(x, y));
x = (int)tp.X;
y = (int)tp.Y;
}
 
if(IsRotated)
{
var f = rotationMatrixInvert.Transform(new System.Windows.Point(x, y));
 
x = (int)f.X;
y = (int)f.Y;
}
 
return Core.FromLocalToLatLng(x, y);
}
 
public GPoint FromLatLngToLocal(PointLatLng point)
{
GPoint ret = Core.FromLatLngToLocal(point);
 
if(MapScaleTransform != null)
{
var tp = MapScaleTransform.Transform(new System.Windows.Point(ret.X, ret.Y));
ret.X = (int)tp.X;
ret.Y = (int)tp.Y;
}
 
if(IsRotated)
{
var f = rotationMatrix.Transform(new System.Windows.Point(ret.X, ret.Y));
 
ret.X = (int)f.X;
ret.Y = (int)f.Y;
}
 
return ret;
}
 
public bool ShowExportDialog()
{
var dlg = new Microsoft.Win32.SaveFileDialog();
{
dlg.CheckPathExists = true;
dlg.CheckFileExists = false;
dlg.AddExtension = true;
dlg.DefaultExt = "gmdb";
dlg.ValidateNames = true;
dlg.Title = "GMap.NET: Export map to db, if file exsist only new data will be added";
dlg.FileName = "DataExp";
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
dlg.Filter = "GMap.NET DB files (*.gmdb)|*.gmdb";
dlg.FilterIndex = 1;
dlg.RestoreDirectory = true;
 
if(dlg.ShowDialog() == true)
{
bool ok = GMaps.Instance.ExportToGMDB(dlg.FileName);
if(ok)
{
MessageBox.Show("Complete!", "GMap.NET", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
{
MessageBox.Show(" Failed!", "GMap.NET", MessageBoxButton.OK, MessageBoxImage.Warning);
}
 
return ok;
}
}
 
return false;
}
 
public bool ShowImportDialog()
{
var dlg = new Microsoft.Win32.OpenFileDialog();
{
dlg.CheckPathExists = true;
dlg.CheckFileExists = false;
dlg.AddExtension = true;
dlg.DefaultExt = "gmdb";
dlg.ValidateNames = true;
dlg.Title = "GMap.NET: Import to db, only new data will be added";
dlg.FileName = "DataImport";
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
dlg.Filter = "GMap.NET DB files (*.gmdb)|*.gmdb";
dlg.FilterIndex = 1;
dlg.RestoreDirectory = true;
 
if(dlg.ShowDialog() == true)
{
Cursor = Cursors.Wait;
 
bool ok = GMaps.Instance.ImportFromGMDB(dlg.FileName);
if(ok)
{
MessageBox.Show("Complete!", "GMap.NET", MessageBoxButton.OK, MessageBoxImage.Information);
ReloadMap();
}
else
{
MessageBox.Show(" Failed!", "GMap.NET", MessageBoxButton.OK, MessageBoxImage.Warning);
}
 
Cursor = Cursors.Arrow;
 
return ok;
}
}
 
return false;
}
 
/// <summary>
/// current coordinates of the map center
/// </summary>
[Browsable(false)]
public PointLatLng Position
{
get
{
return Core.Position;
}
set
{
Core.Position = value;
 
if(Core.IsStarted)
{
ForceUpdateOverlays();
}
}
}
 
[Browsable(false)]
public GPoint PositionPixel
{
get
{
return Core.PositionPixel;
}
}
 
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[Browsable(false)]
public string CacheLocation
{
get
{
return CacheLocator.Location;
}
set
{
CacheLocator.Location = value;
}
}
 
bool isDragging = false;
 
[Browsable(false)]
public bool IsDragging
{
get
{
return isDragging;
}
}
 
[Browsable(false)]
public RectLatLng ViewArea
{
get
{
if(!IsRotated)
{
return Core.ViewArea;
}
else if(Core.Provider.Projection != null)
{
var p = FromLocalToLatLng(0, 0);
var p2 = FromLocalToLatLng((int)Width, (int)Height);
return RectLatLng.FromLTRB(p.Lng, p.Lat, p2.Lng, p2.Lat);
}
return RectLatLng.Empty;
}
}
 
[Category("GMap.NET")]
public bool CanDragMap
{
get
{
return Core.CanDragMap;
}
set
{
Core.CanDragMap = value;
}
}
 
public GMap.NET.RenderMode RenderMode
{
get
{
return GMap.NET.RenderMode.WPF;
}
}
 
#endregion
 
#region IGControl event Members
 
public event PositionChanged OnPositionChanged
{
add
{
Core.OnCurrentPositionChanged += value;
}
remove
{
Core.OnCurrentPositionChanged -= value;
}
}
 
public event TileLoadComplete OnTileLoadComplete
{
add
{
Core.OnTileLoadComplete += value;
}
remove
{
Core.OnTileLoadComplete -= value;
}
}
 
public event TileLoadStart OnTileLoadStart
{
add
{
Core.OnTileLoadStart += value;
}
remove
{
Core.OnTileLoadStart -= value;
}
}
 
public event MapDrag OnMapDrag
{
add
{
Core.OnMapDrag += value;
}
remove
{
Core.OnMapDrag -= value;
}
}
 
public event MapZoomChanged OnMapZoomChanged
{
add
{
Core.OnMapZoomChanged += value;
}
remove
{
Core.OnMapZoomChanged -= value;
}
}
 
/// <summary>
/// occures on map type changed
/// </summary>
public event MapTypeChanged OnMapTypeChanged
{
add
{
Core.OnMapTypeChanged += value;
}
remove
{
Core.OnMapTypeChanged -= value;
}
}
 
/// <summary>
/// occurs on empty tile displayed
/// </summary>
public event EmptyTileError OnEmptyTileError
{
add
{
Core.OnEmptyTileError += value;
}
remove
{
Core.OnEmptyTileError -= value;
}
}
#endregion
 
#region IDisposable Members
 
public virtual void Dispose()
{
if(Core.IsStarted)
{
Core.OnMapZoomChanged -= new MapZoomChanged(ForceUpdateOverlays);
Loaded -= new RoutedEventHandler(GMapControl_Loaded);
Dispatcher.ShutdownStarted -= new EventHandler(Dispatcher_ShutdownStarted);
SizeChanged -= new SizeChangedEventHandler(GMapControl_SizeChanged);
if(loadedApp != null)
{
loadedApp.SessionEnding -= new SessionEndingCancelEventHandler(Current_SessionEnding);
}
Core.OnMapClose();
}
}
 
#endregion
}
 
public enum HelperLineOptions
{
DontShow = 0,
ShowAlways = 1,
ShowOnModifierKey = 2
}
 
public enum ScaleModes
{
/// <summary>
/// no scaling
/// </summary>
Integer,
 
/// <summary>
/// scales to fractional level using a stretched tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
/// </summary>
ScaleUp,
 
/// <summary>
/// scales to fractional level using a narrowed tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
/// </summary>
ScaleDown,
 
/// <summary>
/// scales to fractional level using a combination both stretched and narrowed tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
/// </summary>
Dynamic
}
 
public delegate void SelectionChange(RectLatLng Selection, bool ZoomToFit);
}
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapImage.cs
0,0 → 1,284

namespace GMap.NET.WindowsPresentation
{
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using GMap.NET.Internals;
using GMap.NET.MapProviders;
 
/// <summary>
/// image abstraction
/// </summary>
public class GMapImage : PureImage
{
public ImageSource Img;
 
public override void Dispose()
{
if(Img != null)
{
Img = null;
}
 
if(Data != null)
{
Data.Dispose();
Data = null;
}
}
}
 
/// <summary>
/// image abstraction proxy
/// </summary>
public class GMapImageProxy : PureImageProxy
{
GMapImageProxy()
{
 
}
 
public static void Enable()
{
GMapProvider.TileImageProxy = Instance;
}
 
public static readonly GMapImageProxy Instance = new GMapImageProxy();
 
//static readonly byte[] pngHeader = { 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A };
//static readonly byte[] jpgHeader = { 0xFF, 0xD8, 0xFF };
//static readonly byte[] gifHeader = { 0x47, 0x49, 0x46 };
//static readonly byte[] bmpHeader = { 0x42, 0x4D };
 
public override PureImage FromStream(System.IO.Stream stream)
{
GMapImage ret = null;
if(stream != null)
{
var type = stream.ReadByte();
stream.Position = 0;
 
ImageSource m = null;
 
switch(type)
{
// PNG: 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A
case 0x89:
{
var bitmapDecoder = new PngBitmapDecoder(stream, BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.OnLoad);
m = bitmapDecoder.Frames[0];
bitmapDecoder = null;
}
break;
 
// JPG: 0xFF, 0xD8, 0xFF
case 0xFF:
{
var bitmapDecoder = new JpegBitmapDecoder(stream, BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.OnLoad);
m = bitmapDecoder.Frames[0];
bitmapDecoder = null;
}
break;
 
// GIF: 0x47, 0x49, 0x46
case 0x47:
{
var bitmapDecoder = new GifBitmapDecoder(stream, BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.OnLoad);
m = bitmapDecoder.Frames[0];
bitmapDecoder = null;
}
break;
 
// BMP: 0x42, 0x4D
case 0x42:
{
var bitmapDecoder = new BmpBitmapDecoder(stream, BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.OnLoad);
m = bitmapDecoder.Frames[0];
bitmapDecoder = null;
}
break;
 
// TIFF: 0x49, 0x49 || 0x4D, 0x4D
case 0x49:
case 0x4D:
{
var bitmapDecoder = new TiffBitmapDecoder(stream, BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.OnLoad);
m = bitmapDecoder.Frames[0];
bitmapDecoder = null;
}
break;
 
default:
{
Debug.WriteLine("WindowsPresentationImageProxy: unknown image format: " + type);
}
break;
}
 
if(m != null)
{
ret = new GMapImage();
ret.Img = m;
if(ret.Img.CanFreeze)
{
ret.Img.Freeze();
}
}
}
return ret;
}
 
public override bool Save(System.IO.Stream stream, PureImage image)
{
GMapImage ret = (GMapImage)image;
if(ret.Img != null)
{
try
{
PngBitmapEncoder e = new PngBitmapEncoder();
e.Frames.Add(BitmapFrame.Create(ret.Img as BitmapSource));
e.Save(stream);
e = null;
}
catch
{
return false;
}
}
else
{
return false;
}
 
return true;
}
}
 
//internal class TileVisual : FrameworkElement
//{
// public readonly ObservableCollection<ImageSource> Source;
// public readonly RawTile Tile;
 
// public TileVisual(IEnumerable<ImageSource> src, RawTile tile)
// {
// Opacity = 0;
// Tile = tile;
 
// Source = new ObservableCollection<ImageSource>(src);
// Source.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Source_CollectionChanged);
 
// this.Loaded += new RoutedEventHandler(ImageVisual_Loaded);
// this.Unloaded += new RoutedEventHandler(ImageVisual_Unloaded);
// }
 
// void Source_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
// {
// if (IsLoaded)
// {
// switch (e.Action)
// {
// case System.Collections.Specialized.NotifyCollectionChangedAction.Add:
// case System.Collections.Specialized.NotifyCollectionChangedAction.Move:
// case System.Collections.Specialized.NotifyCollectionChangedAction.Remove:
// case System.Collections.Specialized.NotifyCollectionChangedAction.Replace:
// {
// UpdateVisual();
// }
// break;
 
// case System.Collections.Specialized.NotifyCollectionChangedAction.Reset:
// {
// Child = null;
// }
// break;
// }
// }
// }
 
// void ImageVisual_Unloaded(object sender, RoutedEventArgs e)
// {
// Child = null;
// }
 
// void ImageVisual_Loaded(object sender, RoutedEventArgs e)
// {
// UpdateVisual();
// }
 
// Visual _child;
// public virtual Visual Child
// {
// get
// {
// return _child;
// }
// set
// {
// if (_child != value)
// {
// if (_child != null)
// {
// RemoveLogicalChild(_child);
// RemoveVisualChild(_child);
// }
 
// if (value != null)
// {
// AddVisualChild(value);
// AddLogicalChild(value);
// }
 
// // cache the new child
// _child = value;
 
// InvalidateVisual();
// }
// }
// }
 
// public void UpdateVisual()
// {
// Child = Create();
// }
 
// static readonly Pen gridPen = new Pen(Brushes.White, 2.0);
 
// private DrawingVisual Create()
// {
// var dv = new DrawingVisual();
 
// using (DrawingContext dc = dv.RenderOpen())
// {
// foreach (var img in Source)
// {
// var rect = new Rect(0, 0, img.Width + 0.6, img.Height + 0.6);
 
// dc.DrawImage(img, rect);
// dc.DrawRectangle(null, gridPen, rect);
// }
// }
 
// return dv;
// }
 
// #region Necessary Overrides -- Needed by WPF to maintain bookkeeping of our hosted visuals
// protected override int VisualChildrenCount
// {
// get
// {
// return (Child == null ? 0 : 1);
// }
// }
 
// protected override Visual GetVisualChild(int index)
// {
// Debug.Assert(index == 0);
// return Child;
// }
// #endregion
//}
}
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapMarker.cs
0,0 → 1,252

namespace GMap.NET.WindowsPresentation
{
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using GMap.NET;
using System.Windows.Media;
using System.Diagnostics;
using System.Windows.Shapes;
using System;
 
/// <summary>
/// GMap.NET marker
/// </summary>
public class GMapMarker : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
 
protected void OnPropertyChanged(PropertyChangedEventArgs name)
{
if(PropertyChanged != null)
{
PropertyChanged(this, name);
}
}
 
UIElement shape;
static readonly PropertyChangedEventArgs Shape_PropertyChangedEventArgs = new PropertyChangedEventArgs("Shape");
 
/// <summary>
/// marker visual
/// </summary>
public UIElement Shape
{
get
{
return shape;
}
set
{
if(shape != value)
{
shape = value;
OnPropertyChanged(Shape_PropertyChangedEventArgs);
 
UpdateLocalPosition();
}
}
}
 
private PointLatLng position;
 
/// <summary>
/// coordinate of marker
/// </summary>
public PointLatLng Position
{
get
{
return position;
}
set
{
if(position != value)
{
position = value;
UpdateLocalPosition();
}
}
}
 
GMapControl map;
 
/// <summary>
/// the map of this marker
/// </summary>
public GMapControl Map
{
get
{
if(Shape != null && map == null)
{
DependencyObject visual = Shape;
while(visual != null && !(visual is GMapControl))
{
visual = VisualTreeHelper.GetParent(visual);
}
 
map = visual as GMapControl;
}
 
return map;
}
internal set
{
map = value;
}
}
 
/// <summary>
/// custom object
/// </summary>
public object Tag;
 
System.Windows.Point offset;
/// <summary>
/// offset of marker
/// </summary>
public System.Windows.Point Offset
{
get
{
return offset;
}
set
{
if(offset != value)
{
offset = value;
UpdateLocalPosition();
}
}
}
 
int localPositionX;
static readonly PropertyChangedEventArgs LocalPositionX_PropertyChangedEventArgs = new PropertyChangedEventArgs("LocalPositionX");
 
/// <summary>
/// local X position of marker
/// </summary>
public int LocalPositionX
{
get
{
return localPositionX;
}
internal set
{
if(localPositionX != value)
{
localPositionX = value;
OnPropertyChanged(LocalPositionX_PropertyChangedEventArgs);
}
}
}
 
int localPositionY;
static readonly PropertyChangedEventArgs LocalPositionY_PropertyChangedEventArgs = new PropertyChangedEventArgs("LocalPositionY");
 
/// <summary>
/// local Y position of marker
/// </summary>
public int LocalPositionY
{
get
{
return localPositionY;
}
internal set
{
if(localPositionY != value)
{
localPositionY = value;
OnPropertyChanged(LocalPositionY_PropertyChangedEventArgs);
}
}
}
 
int zIndex;
static readonly PropertyChangedEventArgs ZIndex_PropertyChangedEventArgs = new PropertyChangedEventArgs("ZIndex");
 
/// <summary>
/// the index of Z, render order
/// </summary>
public int ZIndex
{
get
{
return zIndex;
}
set
{
if(zIndex != value)
{
zIndex = value;
OnPropertyChanged(ZIndex_PropertyChangedEventArgs);
}
}
}
 
public GMapMarker(PointLatLng pos)
{
Position = pos;
}
 
internal GMapMarker()
{
}
 
/// <summary>
/// calls Dispose on shape if it implements IDisposable, sets shape to null and clears route
/// </summary>
public virtual void Clear()
{
var s = (Shape as IDisposable);
if(s != null)
{
s.Dispose();
s = null;
}
Shape = null;
}
 
/// <summary>
/// updates marker position, internal access usualy
/// </summary>
void UpdateLocalPosition()
{
if(Map != null)
{
GPoint p = Map.FromLatLngToLocal(Position);
p.Offset(-(long)Map.MapTranslateTransform.X, -(long)Map.MapTranslateTransform.Y);
 
LocalPositionX = (int)(p.X + (long)(offset.X));
LocalPositionY = (int)(p.Y + (long)(offset.Y));
}
}
 
/// <summary>
/// forces to update local marker position
/// dot not call it if you don't really need to ;}
/// </summary>
/// <param name="m"></param>
internal void ForceUpdateLocalPosition(GMapControl m)
{
if(m != null)
{
map = m;
}
UpdateLocalPosition();
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapPolygon.cs
0,0 → 1,62

namespace GMap.NET.WindowsPresentation
{
using System.Collections.Generic;
using System.Windows.Shapes;
 
public class GMapPolygon : GMapMarker, IShapable
{
public readonly List<PointLatLng> Points = new List<PointLatLng>();
 
public GMapPolygon(IEnumerable<PointLatLng> points)
{
Points.AddRange(points);
RegenerateShape(null);
}
public override void Clear()
{
base.Clear();
Points.Clear();
}
 
/// <summary>
/// regenerates shape of polygon
/// </summary>
public virtual void RegenerateShape(GMapControl map)
{
if(map != null)
{
this.Map = map;
if(Points.Count > 1)
{
Position = Points[0];
var localPath = new List<System.Windows.Point>(Points.Count);
var offset = Map.FromLatLngToLocal(Points[0]);
foreach(var i in Points)
{
var p = Map.FromLatLngToLocal(i);
localPath.Add(new System.Windows.Point(p.X - offset.X, p.Y - offset.Y));
}
var shape = map.CreatePolygonPath(localPath);
if(this.Shape is Path)
{
(this.Shape as Path).Data = shape.Data;
}
else
{
this.Shape = shape;
}
}
else
{
this.Shape = null;
}
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/GMapRoute.cs
0,0 → 1,67

namespace GMap.NET.WindowsPresentation
{
using System.Collections.Generic;
using System.Windows.Shapes;
 
public interface IShapable
{
void RegenerateShape(GMapControl map);
}
 
public class GMapRoute : GMapMarker, IShapable
{
public readonly List<PointLatLng> Points = new List<PointLatLng>();
 
public GMapRoute(IEnumerable<PointLatLng> points)
{
Points.AddRange(points);
RegenerateShape(null);
}
public override void Clear()
{
base.Clear();
Points.Clear();
}
 
/// <summary>
/// regenerates shape of route
/// </summary>
public virtual void RegenerateShape(GMapControl map)
{
if (map != null)
{
this.Map = map;
 
if(Points.Count > 1)
{
Position = Points[0];
var localPath = new List<System.Windows.Point>(Points.Count);
var offset = Map.FromLatLngToLocal(Points[0]);
foreach(var i in Points)
{
var p = Map.FromLatLngToLocal(i);
localPath.Add(new System.Windows.Point(p.X - offset.X, p.Y - offset.Y));
}
var shape = map.CreateRoutePath(localPath);
if(this.Shape is Path)
{
(this.Shape as Path).Data = shape.Data;
}
else
{
this.Shape = shape;
}
}
else
{
this.Shape = null;
}
}
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/TilePrefetcher.xaml
0,0 → 1,10
<Window x:Class="GMap.NET.WindowsPresentation.TilePrefetcher"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="GMap.NET - esc to cancel fetching" Height="104" Width="423" Background="AliceBlue" ResizeMode="NoResize" ShowInTaskbar="False" WindowStartupLocation="CenterScreen" WindowStyle="SingleBorderWindow" Margin="5">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<TextBlock Name="label1" Height="25" VerticalAlignment="Top" Padding="0" Margin="11,17,9,0" Text="ready" />
<ProgressBar Height="22" Name="progressBar1" Value="0" VerticalAlignment="Bottom" Margin="10,0,0,10" HorizontalAlignment="Left" Width="302" />
<TextBlock Text="please wait..." Height="19" Margin="316,0,12,10" Name="label2" Padding="0" VerticalAlignment="Bottom" FontWeight="Bold" />
</Grid>
</Window>
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation/TilePrefetcher.xaml.cs
0,0 → 1,260

namespace GMap.NET.WindowsPresentation
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows;
using System.Windows.Input;
using GMap.NET.Internals;
using GMap.NET;
using GMap.NET.MapProviders;
using System.Threading;
using System.Windows.Threading;
 
/// <summary>
/// form helping to prefetch tiles on local db
/// </summary>
public partial class TilePrefetcher : Window
{
BackgroundWorker worker = new BackgroundWorker();
List<GPoint> list = new List<GPoint>();
int zoom;
GMapProvider provider;
int sleep;
int all;
public bool ShowCompleteMessage = false;
RectLatLng area;
GMap.NET.GSize maxOfTiles;
 
public TilePrefetcher()
{
InitializeComponent();
 
GMaps.Instance.OnTileCacheComplete += new TileCacheComplete(OnTileCacheComplete);
GMaps.Instance.OnTileCacheStart += new TileCacheStart(OnTileCacheStart);
GMaps.Instance.OnTileCacheProgress += new TileCacheProgress(OnTileCacheProgress);
 
worker.WorkerReportsProgress = true;
worker.WorkerSupportsCancellation = true;
worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
}
 
readonly AutoResetEvent done = new AutoResetEvent(true);
 
void OnTileCacheComplete()
{
if(IsVisible)
{
done.Set();
 
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
label2.Text = "all tiles saved";
}));
}
}
 
void OnTileCacheStart()
{
if(IsVisible)
{
done.Reset();
 
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
label2.Text = "saving tiles...";
}));
}
}
 
void OnTileCacheProgress(int left)
{
if(IsVisible)
{
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
label2.Text = left + " tile to save...";
}));
}
}
 
public void Start(RectLatLng area, int zoom, GMapProvider provider, int sleep)
{
if(!worker.IsBusy)
{
this.label1.Text = "...";
this.progressBar1.Value = 0;
 
this.area = area;
this.zoom = zoom;
this.provider = provider;
this.sleep = sleep;
 
GMaps.Instance.UseMemoryCache = false;
GMaps.Instance.CacheOnIdleRead = false;
GMaps.Instance.BoostCacheEngine = true;
 
worker.RunWorkerAsync();
 
this.ShowDialog();
}
}
 
volatile bool stopped = false;
 
public void Stop()
{
GMaps.Instance.OnTileCacheComplete -= new TileCacheComplete(OnTileCacheComplete);
GMaps.Instance.OnTileCacheStart -= new TileCacheStart(OnTileCacheStart);
GMaps.Instance.OnTileCacheProgress -= new TileCacheProgress(OnTileCacheProgress);
 
done.Set();
 
if(worker.IsBusy)
{
worker.CancelAsync();
}
 
GMaps.Instance.CancelTileCaching();
 
stopped = true;
 
done.Close();
}
 
void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if(ShowCompleteMessage)
{
if(!e.Cancelled)
{
MessageBox.Show("Prefetch Complete! => " + ((int)e.Result).ToString() + " of " + all);
}
else
{
MessageBox.Show("Prefetch Canceled! => " + ((int)e.Result).ToString() + " of " + all);
}
}
 
list.Clear();
 
GMaps.Instance.UseMemoryCache = true;
GMaps.Instance.CacheOnIdleRead = true;
GMaps.Instance.BoostCacheEngine = false;
 
this.Close();
}
 
bool CacheTiles(int zoom, GPoint p)
{
foreach(var type in provider.Overlays)
{
Exception ex;
PureImage img;
 
// tile number inversion(BottomLeft -> TopLeft) for pergo maps
if(type is TurkeyMapProvider)
{
img = GMaps.Instance.GetImageFrom(type, new GPoint(p.X, maxOfTiles.Height - p.Y), zoom, out ex);
}
else // ok
{
img = GMaps.Instance.GetImageFrom(type, p, zoom, out ex);
}
 
if(img != null)
{
img.Dispose();
img = null;
}
else
{
return false;
}
}
return true;
}
 
void worker_DoWork(object sender, DoWorkEventArgs e)
{
if(list != null)
{
list.Clear();
list = null;
}
list = provider.Projection.GetAreaTileList(area, zoom, 0);
maxOfTiles = provider.Projection.GetTileMatrixMaxXY(zoom);
all = list.Count;
 
int countOk = 0;
int retry = 0;
 
Stuff.Shuffle<GPoint>(list);
 
for(int i = 0; i < all; i++)
{
if(worker.CancellationPending)
break;
 
GPoint p = list[i];
{
if(CacheTiles(zoom, p))
{
countOk++;
retry = 0;
}
else
{
if(++retry <= 1) // retry only one
{
i--;
System.Threading.Thread.Sleep(1111);
continue;
}
else
{
retry = 0;
}
}
}
 
worker.ReportProgress((int)((i + 1) * 100 / all), i + 1);
 
System.Threading.Thread.Sleep(sleep);
}
 
e.Result = countOk;
 
if(!stopped)
{
done.WaitOne();
}
}
 
void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
this.label1.Text = "Fetching tile at zoom (" + zoom + "): " + ((int)e.UserState).ToString() + " of " + all + ", complete: " + e.ProgressPercentage.ToString() + "%";
this.progressBar1.Value = e.ProgressPercentage;
}
 
protected override void OnPreviewKeyDown(KeyEventArgs e)
{
if(e.Key == Key.Escape)
{
this.Close();
}
 
base.OnPreviewKeyDown(e);
}
 
protected override void OnClosed(EventArgs e)
{
this.Stop();
 
base.OnClosed(e);
}
}
}
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/GMap.NET.WindowsPresentation.csproj
0,0 → 1,136
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{644FE7D4-0184-400F-B2D7-99CB41360658}</ProjectGuid>
<OutputType>library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GMap.NET.WindowsPresentation</RootNamespace>
<AssemblyName>GMap.NET.WindowsPresentation</AssemblyName>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>sn.snk</AssemblyOriginatorKeyFile>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\x86\Debug\GMap.NET.WindowsPresentation.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>bin\x86\Release\GMap.NET.WindowsPresentation.XML</DocumentationFile>
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\x86\Release\GMap.NET.WindowsPresentation.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'v4.0-Debug|AnyCPU'">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\v4.0-Debug\</OutputPath>
<DefineConstants>NET40;TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'v4.0-Release|AnyCPU'">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<OutputPath>bin\v4.0-Release\</OutputPath>
<DefineConstants>NET40;TRACE</DefineConstants>
<DocumentationFile>$(OutputPath)GMap.NET.WindowsPresentation.XML</DocumentationFile>
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationFramework">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xaml" Condition="'$(TargetFrameworkVersion)' == 'v4.0'">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="..\GMap.NET.Core\Properties\VersionInfo.cs">
<Link>Properties\VersionInfo.cs</Link>
</Compile>
<Compile Include="GMap.NET.WindowsPresentation\GMapMarker.cs" />
<Compile Include="GMap.NET.WindowsPresentation\GMapPolygon.cs" />
<Compile Include="GMap.NET.WindowsPresentation\GMapRoute.cs" />
<Compile Include="GMap.NET.WindowsPresentation\GMapImage.cs" />
<Compile Include="GMap.NET.WindowsPresentation\GMapControl.cs" />
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="GMap.NET.WindowsPresentation\TilePrefetcher.xaml.cs">
<DependentUpon>TilePrefetcher.xaml</DependentUpon>
</Compile>
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GMap.NET.Core\GMap.NET.Core.csproj">
<Project>{D0C39D9D-BED0-418B-9A5E-713176CAF40C}</Project>
<Name>GMap.NET.Core</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="sn.snk" />
</ItemGroup>
<ItemGroup>
<Page Include="GMap.NET.WindowsPresentation\TilePrefetcher.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/Properties/AssemblyInfo.cs
0,0 → 1,53
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
 
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("GMap.NET.WindowsPresentation")]
[assembly: AssemblyDescription("GMap.NET - Great Maps for Windows Presentation")]
[assembly: AssemblyProduct("GMap.NET.WindowsPresentation")]
 
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(true)]
 
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("BB3E880B-18D8-4843-A2C1-47DC7CCC054C")]
 
//In order to begin building localizable applications, set
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>. For example, if you are using US english
//in your source files, set the <UICulture> to en-US. Then uncomment
//the NeutralResourceLanguage attribute below. Update the "en-US" in
//the line below to match the UICulture setting in the project file.
 
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
 
 
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
 
 
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.Core.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/Debug/GMap.NET.WindowsPresentation.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/Release/GMap.NET.Core.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/Release/GMap.NET.WindowsPresentation.XML
0,0 → 1,425
<?xml version="1.0"?>
<doc>
<assembly>
<name>GMap.NET.WindowsPresentation</name>
</assembly>
<members>
<member name="T:GMap.NET.WindowsPresentation.GMapMarker">
<summary>
GMap.NET marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Shape">
<summary>
marker visual
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Position">
<summary>
coordinate of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Map">
<summary>
the map of this marker
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapMarker.Tag">
<summary>
custom object
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Offset">
<summary>
offset of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.LocalPositionX">
<summary>
local X position of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.LocalPositionY">
<summary>
local Y position of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.ZIndex">
<summary>
the index of Z, render order
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapMarker.Clear">
<summary>
calls Dispose on shape if it implements IDisposable, sets shape to null and clears route
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapMarker.UpdateLocalPosition">
<summary>
updates marker position, internal access usualy
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapMarker.ForceUpdateLocalPosition(GMap.NET.WindowsPresentation.GMapControl)">
<summary>
forces to update local marker position
dot not call it if you don't really need to ;}
</summary>
<param name="m"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapPolygon.RegenerateShape(GMap.NET.WindowsPresentation.GMapControl)">
<summary>
regenerates shape of polygon
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapRoute.RegenerateShape(GMap.NET.WindowsPresentation.GMapControl)">
<summary>
regenerates shape of route
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.GMapImage">
<summary>
image abstraction
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.GMapImageProxy">
<summary>
image abstraction proxy
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.GMapControl">
<summary>
GMap.NET control for Windows Presentation
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MapProvider">
<summary>
type of map
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.Zoom">
<summary>
map zoom
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.ScaleMode">
<summary>
Specifies, if a floating map scale is displayed using a
stretched, or a narrowed map.
If <code>ScaleMode</code> is <code>ScaleDown</code>,
then a scale of 12.3 is displayed using a map zoom level of 13
resized to the lower level. If the parameter is <code>ScaleUp</code> ,
then the same scale is displayed using a zoom level of 12 with an
enlarged scale. If the value is <code>Dynamic</code>, then until a
remainder of 0.25 <code>ScaleUp</code> is applied, for bigger
remainders <code>ScaleDown</code>.
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.FillEmptyTiles">
<summary>
enables filling empty tiles using lower level images
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MaxZoom">
<summary>
max zoom
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MinZoom">
<summary>
min zoom
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.EmptyTileBorders">
<summary>
pen for empty tile borders
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.SelectionPen">
<summary>
pen for Selection
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.SelectedAreaFill">
<summary>
background of selected area
</summary>
</member>
<!-- Ungültiger XML-Kommentar wurde für den Member "F:GMap.NET.WindowsPresentation.GMapControl.EmptytileBrush" ignoriert -->
<member name="F:GMap.NET.WindowsPresentation.GMapControl.EmptyTileText">
<summary>
text on empty tiles
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MouseWheelZoomType">
<summary>
map zooming type for mouse wheel
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MouseWheelZoomEnabled">
<summary>
enable map zoom on mouse wheel
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.DragButton">
<summary>
map dragg button
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.SelectionUseCircle">
<summary>
use circle for selection
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.ShowTileGridLines">
<summary>
shows tile gridlines
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.RetryLoadTile">
<summary>
retry count to get tile
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.LevelsKeepInMemmory">
<summary>
how many levels of tiles are staying decompresed in memory
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.selectedArea">
<summary>
current selected area in map
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.TouchEnabled">
<summary>
is touch control enabled
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.BoundsOfMap">
<summary>
map boundaries
</summary>
</member>
<member name="E:GMap.NET.WindowsPresentation.GMapControl.OnSelectionChange">
<summary>
occurs when mouse selection is changed
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.Markers">
<summary>
list of markers
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.MapTranslateTransform">
<summary>
current markers overlay offset
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MapCanvas">
<summary>
markers overlay
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.InvalidateVisual">
<summary>
enque built-in thread safe invalidation
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.InvalidateVisual(System.Boolean)">
<summary>
Invalidates the rendering of the element, and forces a complete new layout
pass. System.Windows.UIElement.OnRender(System.Windows.Media.DrawingContext)
is called after the layout cycle is completed. If not forced enques built-in thread safe invalidation
</summary>
<param name="forced"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.GMapControl_Loaded(System.Object,System.Windows.RoutedEventArgs)">
<summary>
inits core system
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.GMapControl_SizeChanged(System.Object,System.Windows.SizeChangedEventArgs)">
<summary>
recalculates size
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.UpdateMarkersOffset">
<summary>
updates markers overlay offset
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.DrawMap(System.Windows.Media.DrawingContext)">
<summary>
render map in WPF
</summary>
<param name="g"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ToImageSource">
<summary>
gets image of the current view
</summary>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreateRoutePath(System.Collections.Generic.List{System.Windows.Point})">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreateRoutePath(System.Collections.Generic.List{System.Windows.Point},System.Boolean)">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreatePolygonPath(System.Collections.Generic.List{System.Windows.Point})">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreatePolygonPath(System.Collections.Generic.List{System.Windows.Point},System.Boolean)">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.SetZoomToFitRect(GMap.NET.RectLatLng)">
<summary>
sets zoom to max to fit rect
</summary>
<param name="rect">area</param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ZoomAndCenterMarkers(System.Nullable{System.Int32})">
<summary>
sets to max zoom to fit all markers and centers them in map
</summary>
<param name="ZIndex">z index or null to check all</param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.GetRectOfAllMarkers(System.Nullable{System.Int32})">
<summary>
gets rectangle with all objects inside
</summary>
<param name="ZIndex">z index or null to check all</param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.Offset(System.Int32,System.Int32)">
<summary>
offset position in pixels
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.UpdateRotationMatrix">
<summary>
updates rotation matrix
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.IsRotated">
<summary>
returs true if map bearing is not zero
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.Bearing">
<summary>
bearing for rotation of the map
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ApplyRotation(System.Double,System.Double)">
<summary>
apply transformation if in rotation mode
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ApplyRotationInversion(System.Double,System.Double)">
<summary>
apply transformation if in rotation mode
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.HelperLineOption">
<summary>
draw lines at the mouse pointer position
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.InvertedMouseWheelZooming">
<summary>
reverses MouseWheel zooming direction
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.IgnoreMarkerOnMouseWheel">
<summary>
lets you zoom by MouseWheel even when pointer is in area of marker
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.DisableAltForSelection">
<summary>
if true, selects area just by holding mouse and moving
</summary>
</member>
<!-- Ungültiger XML-Kommentar wurde für den Member "M:GMap.NET.WindowsPresentation.GMapControl.ReloadMap" ignoriert -->
<member name="M:GMap.NET.WindowsPresentation.GMapControl.SetPositionByKeywords(System.String)">
<summary>
sets position using geocoder
</summary>
<param name="keys"></param>
<returns></returns>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.Position">
<summary>
current coordinates of the map center
</summary>
</member>
<member name="E:GMap.NET.WindowsPresentation.GMapControl.OnMapTypeChanged">
<summary>
occures on map type changed
</summary>
</member>
<member name="E:GMap.NET.WindowsPresentation.GMapControl.OnEmptyTileError">
<summary>
occurs on empty tile displayed
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.Integer">
<summary>
no scaling
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.ScaleUp">
<summary>
scales to fractional level using a stretched tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.ScaleDown">
<summary>
scales to fractional level using a narrowed tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.Dynamic">
<summary>
scales to fractional level using a combination both stretched and narrowed tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.TilePrefetcher">
<summary>
form helping to prefetch tiles on local db
</summary>
<summary>
TilePrefetcher
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.TilePrefetcher.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/Release/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/bin/x86/Release/GMap.NET.WindowsPresentation.XML
0,0 → 1,425
<?xml version="1.0"?>
<doc>
<assembly>
<name>GMap.NET.WindowsPresentation</name>
</assembly>
<members>
<member name="T:GMap.NET.WindowsPresentation.GMapMarker">
<summary>
GMap.NET marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Shape">
<summary>
marker visual
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Position">
<summary>
coordinate of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Map">
<summary>
the map of this marker
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapMarker.Tag">
<summary>
custom object
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.Offset">
<summary>
offset of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.LocalPositionX">
<summary>
local X position of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.LocalPositionY">
<summary>
local Y position of marker
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapMarker.ZIndex">
<summary>
the index of Z, render order
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapMarker.Clear">
<summary>
calls Dispose on shape if it implements IDisposable, sets shape to null and clears route
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapMarker.UpdateLocalPosition">
<summary>
updates marker position, internal access usualy
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapMarker.ForceUpdateLocalPosition(GMap.NET.WindowsPresentation.GMapControl)">
<summary>
forces to update local marker position
dot not call it if you don't really need to ;}
</summary>
<param name="m"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapPolygon.RegenerateShape(GMap.NET.WindowsPresentation.GMapControl)">
<summary>
regenerates shape of polygon
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapRoute.RegenerateShape(GMap.NET.WindowsPresentation.GMapControl)">
<summary>
regenerates shape of route
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.GMapImage">
<summary>
image abstraction
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.GMapImageProxy">
<summary>
image abstraction proxy
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.GMapControl">
<summary>
GMap.NET control for Windows Presentation
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MapProvider">
<summary>
type of map
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.Zoom">
<summary>
map zoom
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.ScaleMode">
<summary>
Specifies, if a floating map scale is displayed using a
stretched, or a narrowed map.
If <code>ScaleMode</code> is <code>ScaleDown</code>,
then a scale of 12.3 is displayed using a map zoom level of 13
resized to the lower level. If the parameter is <code>ScaleUp</code> ,
then the same scale is displayed using a zoom level of 12 with an
enlarged scale. If the value is <code>Dynamic</code>, then until a
remainder of 0.25 <code>ScaleUp</code> is applied, for bigger
remainders <code>ScaleDown</code>.
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.FillEmptyTiles">
<summary>
enables filling empty tiles using lower level images
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MaxZoom">
<summary>
max zoom
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MinZoom">
<summary>
min zoom
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.EmptyTileBorders">
<summary>
pen for empty tile borders
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.SelectionPen">
<summary>
pen for Selection
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.SelectedAreaFill">
<summary>
background of selected area
</summary>
</member>
<!-- Ungültiger XML-Kommentar wurde für den Member "F:GMap.NET.WindowsPresentation.GMapControl.EmptytileBrush" ignoriert -->
<member name="F:GMap.NET.WindowsPresentation.GMapControl.EmptyTileText">
<summary>
text on empty tiles
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MouseWheelZoomType">
<summary>
map zooming type for mouse wheel
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MouseWheelZoomEnabled">
<summary>
enable map zoom on mouse wheel
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.DragButton">
<summary>
map dragg button
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.SelectionUseCircle">
<summary>
use circle for selection
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.ShowTileGridLines">
<summary>
shows tile gridlines
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.RetryLoadTile">
<summary>
retry count to get tile
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.LevelsKeepInMemmory">
<summary>
how many levels of tiles are staying decompresed in memory
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.selectedArea">
<summary>
current selected area in map
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.TouchEnabled">
<summary>
is touch control enabled
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.BoundsOfMap">
<summary>
map boundaries
</summary>
</member>
<member name="E:GMap.NET.WindowsPresentation.GMapControl.OnSelectionChange">
<summary>
occurs when mouse selection is changed
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.Markers">
<summary>
list of markers
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.MapTranslateTransform">
<summary>
current markers overlay offset
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.MapCanvas">
<summary>
markers overlay
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.InvalidateVisual">
<summary>
enque built-in thread safe invalidation
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.InvalidateVisual(System.Boolean)">
<summary>
Invalidates the rendering of the element, and forces a complete new layout
pass. System.Windows.UIElement.OnRender(System.Windows.Media.DrawingContext)
is called after the layout cycle is completed. If not forced enques built-in thread safe invalidation
</summary>
<param name="forced"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.GMapControl_Loaded(System.Object,System.Windows.RoutedEventArgs)">
<summary>
inits core system
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.GMapControl_SizeChanged(System.Object,System.Windows.SizeChangedEventArgs)">
<summary>
recalculates size
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.UpdateMarkersOffset">
<summary>
updates markers overlay offset
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.DrawMap(System.Windows.Media.DrawingContext)">
<summary>
render map in WPF
</summary>
<param name="g"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ToImageSource">
<summary>
gets image of the current view
</summary>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreateRoutePath(System.Collections.Generic.List{System.Windows.Point})">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreateRoutePath(System.Collections.Generic.List{System.Windows.Point},System.Boolean)">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreatePolygonPath(System.Collections.Generic.List{System.Windows.Point})">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.CreatePolygonPath(System.Collections.Generic.List{System.Windows.Point},System.Boolean)">
<summary>
creates path from list of points, for performance set addBlurEffect to false
</summary>
<param name="pl"></param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.SetZoomToFitRect(GMap.NET.RectLatLng)">
<summary>
sets zoom to max to fit rect
</summary>
<param name="rect">area</param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ZoomAndCenterMarkers(System.Nullable{System.Int32})">
<summary>
sets to max zoom to fit all markers and centers them in map
</summary>
<param name="ZIndex">z index or null to check all</param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.GetRectOfAllMarkers(System.Nullable{System.Int32})">
<summary>
gets rectangle with all objects inside
</summary>
<param name="ZIndex">z index or null to check all</param>
<returns></returns>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.Offset(System.Int32,System.Int32)">
<summary>
offset position in pixels
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.UpdateRotationMatrix">
<summary>
updates rotation matrix
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.IsRotated">
<summary>
returs true if map bearing is not zero
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.Bearing">
<summary>
bearing for rotation of the map
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ApplyRotation(System.Double,System.Double)">
<summary>
apply transformation if in rotation mode
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.GMapControl.ApplyRotationInversion(System.Double,System.Double)">
<summary>
apply transformation if in rotation mode
</summary>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.HelperLineOption">
<summary>
draw lines at the mouse pointer position
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.InvertedMouseWheelZooming">
<summary>
reverses MouseWheel zooming direction
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.IgnoreMarkerOnMouseWheel">
<summary>
lets you zoom by MouseWheel even when pointer is in area of marker
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.GMapControl.DisableAltForSelection">
<summary>
if true, selects area just by holding mouse and moving
</summary>
</member>
<!-- Ungültiger XML-Kommentar wurde für den Member "M:GMap.NET.WindowsPresentation.GMapControl.ReloadMap" ignoriert -->
<member name="M:GMap.NET.WindowsPresentation.GMapControl.SetPositionByKeywords(System.String)">
<summary>
sets position using geocoder
</summary>
<param name="keys"></param>
<returns></returns>
</member>
<member name="P:GMap.NET.WindowsPresentation.GMapControl.Position">
<summary>
current coordinates of the map center
</summary>
</member>
<member name="E:GMap.NET.WindowsPresentation.GMapControl.OnMapTypeChanged">
<summary>
occures on map type changed
</summary>
</member>
<member name="E:GMap.NET.WindowsPresentation.GMapControl.OnEmptyTileError">
<summary>
occurs on empty tile displayed
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.Integer">
<summary>
no scaling
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.ScaleUp">
<summary>
scales to fractional level using a stretched tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.ScaleDown">
<summary>
scales to fractional level using a narrowed tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
</summary>
</member>
<member name="F:GMap.NET.WindowsPresentation.ScaleModes.Dynamic">
<summary>
scales to fractional level using a combination both stretched and narrowed tiles, any issues -> http://greatmaps.codeplex.com/workitem/16046
</summary>
</member>
<member name="T:GMap.NET.WindowsPresentation.TilePrefetcher">
<summary>
form helping to prefetch tiles on local db
</summary>
<summary>
TilePrefetcher
</summary>
</member>
<member name="M:GMap.NET.WindowsPresentation.TilePrefetcher.InitializeComponent">
<summary>
InitializeComponent
</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/CustomMarkers/CustomMarkerCopter.g.i.cs
0,0 → 1,99
#pragma checksum "..\..\..\..\GMap.NET.WindowsPresentation\CustomMarkers\CustomMarkerCopter.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "E9585AE00E8D65D861CCFFF4BF07524B"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
 
namespace MKLiveView.GMapCustomMarkers {
/// <summary>
/// CustomMarkerCopter
/// </summary>
public partial class CustomMarkerCopter : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
#line 7 "..\..\..\..\GMap.NET.WindowsPresentation\CustomMarkers\CustomMarkerCopter.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Image icon;
#line default
#line hidden
#line 8 "..\..\..\..\GMap.NET.WindowsPresentation\CustomMarkers\CustomMarkerCopter.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Label lbl;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/GMap.NET.WindowsPresentation;component/gmap.net.windowspresentation/custommarker" +
"s/custommarkercopter.xaml", System.UriKind.Relative);
#line 1 "..\..\..\..\GMap.NET.WindowsPresentation\CustomMarkers\CustomMarkerCopter.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.icon = ((System.Windows.Controls.Image)(target));
return;
case 2:
this.lbl = ((System.Windows.Controls.Label)(target));
return;
}
this._contentLoaded = true;
}
}
}
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/GMapCustomMarkers/CustomMarkerCopter.g.i.cs
0,0 → 1,99
#pragma checksum "..\..\..\..\GMap.NET.WindowsPresentation\GMapCustomMarkers\CustomMarkerCopter.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "E9585AE00E8D65D861CCFFF4BF07524B"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
 
namespace MKLiveView.GMapCustomMarkers {
/// <summary>
/// CustomMarkerCopter
/// </summary>
public partial class CustomMarkerCopter : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
#line 7 "..\..\..\..\GMap.NET.WindowsPresentation\GMapCustomMarkers\CustomMarkerCopter.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Image icon;
#line default
#line hidden
#line 8 "..\..\..\..\GMap.NET.WindowsPresentation\GMapCustomMarkers\CustomMarkerCopter.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Label lbl;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/GMap.NET.WindowsPresentation;component/gmap.net.windowspresentation/gmapcustomma" +
"rkers/custommarkercopter.xaml", System.UriKind.Relative);
#line 1 "..\..\..\..\GMap.NET.WindowsPresentation\GMapCustomMarkers\CustomMarkerCopter.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.icon = ((System.Windows.Controls.Image)(target));
return;
case 2:
this.lbl = ((System.Windows.Controls.Label)(target));
return;
}
this._contentLoaded = true;
}
}
}
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/TilePrefetcher.baml
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/TilePrefetcher.g.cs
0,0 → 1,110
#pragma checksum "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "5F413214037FE2C590D0586359AABDF4"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
 
namespace GMap.NET.WindowsPresentation {
/// <summary>
/// TilePrefetcher
/// </summary>
public partial class TilePrefetcher : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 6 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label1;
#line default
#line hidden
#line 7 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ProgressBar progressBar1;
#line default
#line hidden
#line 8 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label2;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/GMap.NET.WindowsPresentation;component/gmap.net.windowspresentation/tileprefetch" +
"er.xaml", System.UriKind.Relative);
#line 1 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.label1 = ((System.Windows.Controls.TextBlock)(target));
return;
case 2:
this.progressBar1 = ((System.Windows.Controls.ProgressBar)(target));
return;
case 3:
this.label2 = ((System.Windows.Controls.TextBlock)(target));
return;
}
this._contentLoaded = true;
}
}
}
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation/TilePrefetcher.g.i.cs
0,0 → 1,110
#pragma checksum "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "5F413214037FE2C590D0586359AABDF4"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
 
namespace GMap.NET.WindowsPresentation {
/// <summary>
/// TilePrefetcher
/// </summary>
public partial class TilePrefetcher : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 6 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label1;
#line default
#line hidden
#line 7 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ProgressBar progressBar1;
#line default
#line hidden
#line 8 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label2;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/GMap.NET.WindowsPresentation;component/gmap.net.windowspresentation/tileprefetch" +
"er.xaml", System.UriKind.Relative);
#line 1 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.label1 = ((System.Windows.Controls.TextBlock)(target));
return;
case 2:
this.progressBar1 = ((System.Windows.Controls.ProgressBar)(target));
return;
case 3:
this.label2 = ((System.Windows.Controls.TextBlock)(target));
return;
}
this._contentLoaded = true;
}
}
}
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.csproj.FileListAbsolute.txt
0,0 → 1,22
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation\TilePrefetcher.baml
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation\TilePrefetcher.g.cs
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation_MarkupCompile.cache
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.g.resources
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.WindowsPresentation.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.WindowsPresentation.pdb
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.Core.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.Core.pdb
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.pdb
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.WindowsPresentation.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.WindowsPresentation.pdb
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.Core.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\bin\Debug\GMap.NET.Core.pdb
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation\TilePrefetcher.baml
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation\TilePrefetcher.g.cs
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation_MarkupCompile.cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.g.resources
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\GMap.NET.WindowsPresentation.pdb
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.g.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation.pdb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation_MarkupCompile.cache
0,0 → 1,20
GMap.NET.WindowsPresentation
 
 
library
C#
.cs
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\
GMap.NET.WindowsPresentation
none
false
TRACE;DEBUG
 
1544584187
 
81379478519
71028211644
GMap.NET.WindowsPresentation\TilePrefetcher.xaml;
 
False
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Debug/GMap.NET.WindowsPresentation_MarkupCompile.i.cache
0,0 → 1,20
GMap.NET.WindowsPresentation
 
 
library
C#
.cs
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Debug\
GMap.NET.WindowsPresentation
none
false
TRACE;DEBUG
 
1544584187
 
81379478519
71028211644
GMap.NET.WindowsPresentation\TilePrefetcher.xaml;
 
False
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation/TilePrefetcher.baml
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation/TilePrefetcher.g.cs
0,0 → 1,110
#pragma checksum "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "5F413214037FE2C590D0586359AABDF4"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
 
namespace GMap.NET.WindowsPresentation {
/// <summary>
/// TilePrefetcher
/// </summary>
public partial class TilePrefetcher : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 6 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label1;
#line default
#line hidden
#line 7 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ProgressBar progressBar1;
#line default
#line hidden
#line 8 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label2;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/GMap.NET.WindowsPresentation;component/gmap.net.windowspresentation/tileprefetch" +
"er.xaml", System.UriKind.Relative);
#line 1 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.label1 = ((System.Windows.Controls.TextBlock)(target));
return;
case 2:
this.progressBar1 = ((System.Windows.Controls.ProgressBar)(target));
return;
case 3:
this.label2 = ((System.Windows.Controls.TextBlock)(target));
return;
}
this._contentLoaded = true;
}
}
}
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation/TilePrefetcher.g.i.cs
0,0 → 1,110
#pragma checksum "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "5F413214037FE2C590D0586359AABDF4"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
 
namespace GMap.NET.WindowsPresentation {
/// <summary>
/// TilePrefetcher
/// </summary>
public partial class TilePrefetcher : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 6 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label1;
#line default
#line hidden
#line 7 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ProgressBar progressBar1;
#line default
#line hidden
#line 8 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock label2;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/GMap.NET.WindowsPresentation;component/gmap.net.windowspresentation/tileprefetch" +
"er.xaml", System.UriKind.Relative);
#line 1 "..\..\..\GMap.NET.WindowsPresentation\TilePrefetcher.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.label1 = ((System.Windows.Controls.TextBlock)(target));
return;
case 2:
this.progressBar1 = ((System.Windows.Controls.ProgressBar)(target));
return;
case 3:
this.label2 = ((System.Windows.Controls.TextBlock)(target));
return;
}
this._contentLoaded = true;
}
}
}
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.csproj.FileListAbsolute.txt
0,0 → 1,18
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\bin\Release\GMap.NET.WindowsPresentation.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\bin\Release\GMap.NET.WindowsPresentation.XML
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\bin\Release\GMap.NET.Core.dll
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation\TilePrefetcher.baml
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation\TilePrefetcher.g.cs
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation_MarkupCompile.cache
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation.g.resources
E:\Documents\VS Projects\_Beispiele etc\greatmaps-master\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\bin\Release\GMap.NET.WindowsPresentation.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\bin\Release\GMap.NET.WindowsPresentation.XML
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\bin\Release\GMap.NET.Core.dll
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation\TilePrefetcher.baml
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation\TilePrefetcher.g.cs
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation_MarkupCompile.cache
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation.g.resources
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\GMap.NET.WindowsPresentation.dll
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.csprojResolveAssemblyReference.cache
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation.g.resources
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation_MarkupCompile.cache
0,0 → 1,20
GMap.NET.WindowsPresentation
 
 
library
C#
.cs
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\
GMap.NET.WindowsPresentation
none
false
TRACE
 
1544584187
 
81379478519
7213700877
GMap.NET.WindowsPresentation\TilePrefetcher.xaml;
 
False
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/obj/Release/GMap.NET.WindowsPresentation_MarkupCompile.i.cache
0,0 → 1,20
GMap.NET.WindowsPresentation
 
 
library
C#
.cs
E:\Documents\VS Projects\MKLiveView\WPF\MKLiveView\GMap.NET.WindowsPresentation\obj\Release\
GMap.NET.WindowsPresentation
none
false
TRACE
 
1544584187
 
81379478519
7213700877
GMap.NET.WindowsPresentation\TilePrefetcher.xaml;
 
False
 
/MKLiveView/v1.0/Source/GMap.NET.WindowsPresentation/sn.snk
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMapCustomMarkers/Copter1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMapCustomMarkers/Copter_Shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMapCustomMarkers/CustomMarkerCopter.xaml
0,0 → 1,15
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MKLiveView.GMapCustomMarkers.CustomMarkerCopter"
Height="32.916" Width="112.515" Opacity="10">
<Grid>
<Image Name="icon" Source="copter1.png" HorizontalAlignment="Left" Width="56" Height="36" VerticalAlignment="Top" />
<Label x:Name="lbl" Content="Label" Margin="39,0,0,-0.084" VerticalAlignment="Top" FontSize="10" Height="33" Foreground="White" HorizontalAlignment="Left" Width="73" Padding="0">
<Label.Effect>
<DropShadowEffect Direction="45" ShadowDepth="0.5" BlurRadius="2"/>
</Label.Effect>
</Label>
 
</Grid>
</UserControl>
/MKLiveView/v1.0/Source/GMapCustomMarkers/CustomMarkerCopter.xaml.cs
0,0 → 1,127
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using GMap.NET.WindowsPresentation;
using System.Diagnostics;
 
namespace MKLiveView.GMapCustomMarkers
{
/// <summary>
/// Interaction logic for CustomMarkerCopter.xaml
/// </summary>
public partial class CustomMarkerCopter
{
//Popup Popup;
//Label Label;
GMapMarker Marker;
MainWindow MainWindow;
 
public CustomMarkerCopter(MainWindow window, GMapMarker marker, string title)
{
this.InitializeComponent();
 
this.MainWindow = window;
this.Marker = marker;
 
//Popup = new Popup();
//Label = new Label();
 
this.Unloaded += new RoutedEventHandler(CustomMarkerCopter_Unloaded);
this.Loaded += new RoutedEventHandler(CustomMarkerCopter_Loaded);
this.SizeChanged += new SizeChangedEventHandler(CustomMarkerCopter_SizeChanged);
//this.MouseEnter += new MouseEventHandler(MarkerControl_MouseEnter);
//this.MouseLeave += new MouseEventHandler(MarkerControl_MouseLeave);
//this.MouseMove += new MouseEventHandler(CustomMarkerCopter_MouseMove);
//this.MouseLeftButtonUp += new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonUp);
//this.MouseLeftButtonDown += new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonDown);
 
//Popup.Placement = PlacementMode.Mouse;
//{
// Label.Background = Brushes.Blue;
// Label.Foreground = Brushes.White;
// Label.BorderBrush = Brushes.WhiteSmoke;
// Label.BorderThickness = new Thickness(2);
// Label.Padding = new Thickness(5);
// Label.FontSize = 22;
// Label.Content = title;
//}
//Popup.Child = Label;
lbl.Content = title;
}
void CustomMarkerCopter_Loaded(object sender, RoutedEventArgs e)
{
if (icon.Source.CanFreeze)
{
icon.Source.Freeze();
}
}
 
void CustomMarkerCopter_Unloaded(object sender, RoutedEventArgs e)
{
this.Unloaded -= new RoutedEventHandler(CustomMarkerCopter_Unloaded);
this.Loaded -= new RoutedEventHandler(CustomMarkerCopter_Loaded);
this.SizeChanged -= new SizeChangedEventHandler(CustomMarkerCopter_SizeChanged);
//this.MouseEnter -= new MouseEventHandler(MarkerControl_MouseEnter);
//this.MouseLeave -= new MouseEventHandler(MarkerControl_MouseLeave);
//this.MouseMove -= new MouseEventHandler(CustomMarkerCopter_MouseMove);
//this.MouseLeftButtonUp -= new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonUp);
//this.MouseLeftButtonDown -= new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonDown);
 
Marker.Shape = null;
icon.Source = null;
icon = null;
//Popup = null;
//Label = null;
}
public void setText(string s)
{
lbl.Content = s;
}
 
void CustomMarkerCopter_SizeChanged(object sender, SizeChangedEventArgs e)
{
// Marker.Offset = new Point(-e.NewSize.Width / 4, -e.NewSize.Height /2);
}
 
void CustomMarkerCopter_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed && IsMouseCaptured)
{
Point p = e.GetPosition(MainWindow.MainMap);
Marker.Position = MainWindow.MainMap.FromLocalToLatLng((int)(p.X), (int)(p.Y));
}
}
 
void CustomMarkerCopter_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (!IsMouseCaptured)
{
Mouse.Capture(this);
}
}
 
void CustomMarkerCopter_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (IsMouseCaptured)
{
Mouse.Capture(null);
}
}
 
void MarkerControl_MouseLeave(object sender, MouseEventArgs e)
{
Marker.ZIndex -= 10000;
//Popup.IsOpen = false;
}
 
void MarkerControl_MouseEnter(object sender, MouseEventArgs e)
{
Marker.ZIndex += 10000;
//Popup.IsOpen = true;
}
 
}
}
/MKLiveView/v1.0/Source/GMapCustomMarkers/CustomMarkerHome.xaml
0,0 → 1,15
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MKLiveView.GMapCustomMarkers.CustomMarkerHome"
Height="32.916" Width="112.515" Opacity="10">
<Grid>
<Image Name="icon" Source="home1.png" HorizontalAlignment="Left" Width="33" Height="33" VerticalAlignment="Top" Margin="0,0,0,-0.084" />
<Label x:Name="lbl" Content="Label" Margin="37,0,0,-0.084" VerticalAlignment="Top" FontSize="10" Height="33" Foreground="White" HorizontalAlignment="Left" Width="73" Padding="0">
<Label.Effect>
<DropShadowEffect Direction="45" ShadowDepth="0.5" BlurRadius="2"/>
</Label.Effect>
</Label>
 
</Grid>
</UserControl>
/MKLiveView/v1.0/Source/GMapCustomMarkers/CustomMarkerHome.xaml.cs
0,0 → 1,127
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using GMap.NET.WindowsPresentation;
using System.Diagnostics;
 
namespace MKLiveView.GMapCustomMarkers
{
/// <summary>
/// Interaction logic for CustomMarkerCopter.xaml
/// </summary>
public partial class CustomMarkerHome
{
//Popup Popup;
//Label Label;
GMapMarker Marker;
MainWindow MainWindow;
 
public CustomMarkerHome(MainWindow window, GMapMarker marker, string title)
{
this.InitializeComponent();
 
this.MainWindow = window;
this.Marker = marker;
 
//Popup = new Popup();
//Label = new Label();
 
this.Unloaded += new RoutedEventHandler(CustomMarkerHome_Unloaded);
this.Loaded += new RoutedEventHandler(CustomMarkerHome_Loaded);
this.SizeChanged += new SizeChangedEventHandler(CustomMarkerHome_SizeChanged);
//this.MouseEnter += new MouseEventHandler(MarkerControl_MouseEnter);
//this.MouseLeave += new MouseEventHandler(MarkerControl_MouseLeave);
//this.MouseMove += new MouseEventHandler(CustomMarkerCopter_MouseMove);
//this.MouseLeftButtonUp += new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonUp);
//this.MouseLeftButtonDown += new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonDown);
 
//Popup.Placement = PlacementMode.Mouse;
//{
// Label.Background = Brushes.Blue;
// Label.Foreground = Brushes.White;
// Label.BorderBrush = Brushes.WhiteSmoke;
// Label.BorderThickness = new Thickness(2);
// Label.Padding = new Thickness(5);
// Label.FontSize = 22;
// Label.Content = title;
//}
//Popup.Child = Label;
lbl.Content = title;
}
void CustomMarkerHome_Loaded(object sender, RoutedEventArgs e)
{
if (icon.Source.CanFreeze)
{
icon.Source.Freeze();
}
}
 
void CustomMarkerHome_Unloaded(object sender, RoutedEventArgs e)
{
this.Unloaded -= new RoutedEventHandler(CustomMarkerHome_Unloaded);
this.Loaded -= new RoutedEventHandler(CustomMarkerHome_Loaded);
this.SizeChanged -= new SizeChangedEventHandler(CustomMarkerHome_SizeChanged);
//this.MouseEnter -= new MouseEventHandler(MarkerControl_MouseEnter);
//this.MouseLeave -= new MouseEventHandler(MarkerControl_MouseLeave);
//this.MouseMove -= new MouseEventHandler(CustomMarkerCopter_MouseMove);
//this.MouseLeftButtonUp -= new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonUp);
//this.MouseLeftButtonDown -= new MouseButtonEventHandler(CustomMarkerCopter_MouseLeftButtonDown);
 
Marker.Shape = null;
icon.Source = null;
icon = null;
//Popup = null;
//Label = null;
}
public void setText(string s)
{
lbl.Content = s;
}
 
void CustomMarkerHome_SizeChanged(object sender, SizeChangedEventArgs e)
{
// Marker.Offset = new Point(-e.NewSize.Width / 4, -e.NewSize.Height /2);
}
 
void CustomMarkerHome_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed && IsMouseCaptured)
{
Point p = e.GetPosition(MainWindow.MainMap);
Marker.Position = MainWindow.MainMap.FromLocalToLatLng((int)(p.X), (int)(p.Y));
}
}
 
void CustomMarkerHome_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (!IsMouseCaptured)
{
Mouse.Capture(this);
}
}
 
void CustomMarkerHome_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (IsMouseCaptured)
{
Mouse.Capture(null);
}
}
 
void MarkerControl_MouseLeave(object sender, MouseEventArgs e)
{
Marker.ZIndex -= 10000;
//Popup.IsOpen = false;
}
 
void MarkerControl_MouseEnter(object sender, MouseEventArgs e)
{
Marker.ZIndex += 10000;
//Popup.IsOpen = true;
}
 
}
}
/MKLiveView/v1.0/Source/GMapCustomMarkers/copter.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMapCustomMarkers/home.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/GMapCustomMarkers/home1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Altitude.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Blitz.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Consumption.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Data_G.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Data_R.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Data_W.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/EarthMag.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/EarthMag_R.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/FromCopterToPc.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/FromPcToCopter.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Fullscreen.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Home1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/RC.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/RC1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/RestoreScreen.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Satellite.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Satellite1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/Tacho.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/WiFi.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/WiFi_G.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/WiFi_R.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/WiFi_W.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/flighttime.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/height.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Images/height1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/MK.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/MKLiveView.csproj
0,0 → 1,306
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{1805AEEA-A2F6-445A-8128-62370F66CA37}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MKLiveView</RootNamespace>
<AssemblyName>MKLiveView</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>MK.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Windows.Shell, Version=3.5.41019.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="UIAutomationProvider" />
<Reference Include="UIAutomationTypes" />
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="ArtificialHorizon\ArtificialHorizon.xaml.cs">
<DependentUpon>ArtificialHorizon.xaml</DependentUpon>
</Compile>
<Compile Include="GMapCustomMarkers\CustomMarkerHome.xaml.cs">
<DependentUpon>CustomMarkerHome.xaml</DependentUpon>
</Compile>
<Compile Include="GMapCustomMarkers\CustomMarkerCopter.xaml.cs">
<DependentUpon>CustomMarkerCopter.xaml</DependentUpon>
</Compile>
<Compile Include="SerialPortCtrl.xaml.cs">
<DependentUpon>SerialPortCtrl.xaml</DependentUpon>
</Compile>
<Compile Include="Waypoints.cs" />
<Page Include="ArtificialHorizon\ArtificialHorizon.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="GMapCustomMarkers\CustomMarkerHome.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="GMapCustomMarkers\CustomMarkerCopter.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="FlightControllerMessage.cs" />
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Page Include="SerialPortCtrl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Resource Include="MK.ico" />
</ItemGroup>
<ItemGroup>
<Resource Include="GMapCustomMarkers\copter.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="GMapCustomMarkers\Copter_Shadow.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="GMapCustomMarkers\home.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="GMapCustomMarkers\Copter1.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="ArtificialHorizon\horizon.png" />
<Resource Include="ArtificialHorizon\wings.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="ArtificialHorizon\Heading.png" />
<Resource Include="ArtificialHorizon\Scale.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Satellite.png" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.5.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.5.2 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Satellite1.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\RC.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\RC1.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\WiFi.png" />
<Resource Include="Images\WiFi_G.png" />
<Resource Include="Images\WiFi_R.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\WiFi_W.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Data_G.png" />
<Resource Include="Images\Data_W.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Data_R.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\flighttime.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\EarthMag.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\EarthMag_R.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Consumption.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Home1.png" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="GMap.NET.Core\GMap.NET.Core.csproj">
<Project>{d0c39d9d-bed0-418b-9a5e-713176caf40c}</Project>
<Name>GMap.NET.Core</Name>
</ProjectReference>
<ProjectReference Include="GMap.NET.WindowsPresentation\GMap.NET.WindowsPresentation.csproj">
<Project>{644fe7d4-0184-400f-b2d7-99cb41360658}</Project>
<Name>GMap.NET.WindowsPresentation</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Resource Include="Images\height.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\height1.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Altitude.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Fullscreen.png" />
<Resource Include="Images\RestoreScreen.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Tacho.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Blitz.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="ArtificialHorizon\Heading1.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="ArtificialHorizon\Home.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="GMapCustomMarkers\home1.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\FromCopterToPc.png" />
<Resource Include="Images\FromPcToCopter.png" />
</ItemGroup>
<ItemGroup>
<None Include="Voice\CriticalBattery.mp3" />
<None Include="Voice\LowBattery.mp3" />
</ItemGroup>
<ItemGroup>
<COMReference Include="MediaPlayer">
<Guid>{22D6F304-B0F6-11D0-94AB-0080C74C7E95}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="stdole">
<Guid>{00020430-0000-0000-C000-000000000046}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
/MKLiveView/v1.0/Source/MKLiveView.csproj.user
0,0 → 1,14
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>de-DE</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>
/MKLiveView/v1.0/Source/MKLiveView.sln
0,0 → 1,80

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MKLiveView", "MKLiveView.csproj", "{1805AEEA-A2F6-445A-8128-62370F66CA37}"
ProjectSection(ProjectDependencies) = postProject
{D0C39D9D-BED0-418B-9A5E-713176CAF40C} = {D0C39D9D-BED0-418B-9A5E-713176CAF40C}
{644FE7D4-0184-400F-B2D7-99CB41360658} = {644FE7D4-0184-400F-B2D7-99CB41360658}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GMap.NET.Core", "GMap.NET.Core\GMap.NET.Core.csproj", "{D0C39D9D-BED0-418B-9A5E-713176CAF40C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GMap.NET.WindowsPresentation", "GMap.NET.WindowsPresentation\GMap.NET.WindowsPresentation.csproj", "{644FE7D4-0184-400F-B2D7-99CB41360658}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
v4.0-Debug|Any CPU = v4.0-Debug|Any CPU
v4.0-Debug|x86 = v4.0-Debug|x86
v4.0-Release|Any CPU = v4.0-Release|Any CPU
v4.0-Release|x86 = v4.0-Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Debug|x86.ActiveCfg = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Debug|x86.Build.0 = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Release|Any CPU.Build.0 = Release|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Release|x86.ActiveCfg = Release|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.Release|x86.Build.0 = Release|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Debug|Any CPU.Build.0 = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Debug|x86.ActiveCfg = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Debug|x86.Build.0 = Debug|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Release|Any CPU.ActiveCfg = Release|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Release|Any CPU.Build.0 = Release|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Release|x86.ActiveCfg = Release|Any CPU
{1805AEEA-A2F6-445A-8128-62370F66CA37}.v4.0-Release|x86.Build.0 = Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Debug|x86.ActiveCfg = Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Debug|x86.Build.0 = Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Release|Any CPU.Build.0 = Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Release|x86.ActiveCfg = Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.Release|x86.Build.0 = Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Debug|Any CPU.ActiveCfg = v4.0-Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Debug|Any CPU.Build.0 = v4.0-Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Debug|x86.ActiveCfg = v4.0-Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Debug|x86.Build.0 = v4.0-Debug|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Release|Any CPU.ActiveCfg = v4.0-Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Release|Any CPU.Build.0 = v4.0-Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Release|x86.ActiveCfg = v4.0-Release|Any CPU
{D0C39D9D-BED0-418B-9A5E-713176CAF40C}.v4.0-Release|x86.Build.0 = v4.0-Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Debug|Any CPU.Build.0 = Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Debug|x86.ActiveCfg = Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Debug|x86.Build.0 = Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Release|Any CPU.ActiveCfg = Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Release|Any CPU.Build.0 = Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Release|x86.ActiveCfg = Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.Release|x86.Build.0 = Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Debug|Any CPU.ActiveCfg = v4.0-Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Debug|Any CPU.Build.0 = v4.0-Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Debug|x86.ActiveCfg = v4.0-Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Debug|x86.Build.0 = v4.0-Debug|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Release|Any CPU.ActiveCfg = v4.0-Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Release|Any CPU.Build.0 = v4.0-Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Release|x86.ActiveCfg = v4.0-Release|Any CPU
{644FE7D4-0184-400F-B2D7-99CB41360658}.v4.0-Release|x86.Build.0 = v4.0-Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
/MKLiveView/v1.0/Source/MainWindow.xaml
0,0 → 1,937
<Window xmlns:my="http://schemas.microsoft.com/winfx/2006/xaml/presentation/ribbon"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MKLiveView"
xmlns:WindowsPresentation="clr-namespace:GMap.NET.WindowsPresentation;assembly=GMap.NET.WindowsPresentation"
xmlns:ArtificialHorizon="clr-namespace:MKLiveView.ArtificialHorizon"
x:Class="MKLiveView.MainWindow"
mc:Ignorable="d"
Title="MK LiveView 1.0" Height="686" Width="1017" Icon="MK.ico"
DataContext="{Binding RelativeSource={RelativeSource Self}}" Loaded="Window_Loaded" Closing="Window_Closing">
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BooleanToVisibility" />
<LinearGradientBrush x:Key="ActiveItemBrush" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFC6F5FF"/>
<GradientStop Color="#FFB6E8FF" Offset="0.18"/>
<GradientStop Color="#FF98CBF5" Offset="0.389"/>
<GradientStop Color="#FF9FD3FF" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="PressedItemBrush" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFFFEAC6"/>
<GradientStop Color="#FFFFD99B" Offset="0.18"/>
<GradientStop Color="#FFFFD07F" Offset="0.39"/>
<GradientStop Color="#FFFFC961" Offset="1"/>
</LinearGradientBrush>
<Style x:Key="ButtonWithoutEffectStyle" TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter />
<Border Name="border"
BorderThickness="0"
Padding="4,2"
BorderBrush="#FFE4E4E4"
CornerRadius="0"
Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</Grid>
 
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="#FFFFFFFF" />
</Style>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="#FFFFFFFF" />
</Style>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="#FFFFFFFF" />
</Style>
<Style TargetType="{x:Type DataGridRowHeader}">
<Setter Property="Background" Value="Transparent" />
</Style>
<Style x:Key="CanvasVisibility" TargetType="{x:Type Canvas}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Tag.IsChecked, RelativeSource={RelativeSource Self}}" Value="False">
<Setter Property="Canvas.Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
 
<SolidColorBrush x:Key="SliderThumb.Static.Foreground" Color="#FFE5E5E5"/>
<SolidColorBrush x:Key="SliderThumb.MouseOver.Background" Color="#FFDCECFC"/>
<SolidColorBrush x:Key="SliderThumb.MouseOver.Border" Color="#FF7Eb4EA"/>
<SolidColorBrush x:Key="SliderThumb.Pressed.Background" Color="#FFDAECFC"/>
<SolidColorBrush x:Key="SliderThumb.Pressed.Border" Color="#FF569DE5"/>
<SolidColorBrush x:Key="SliderThumb.Disabled.Background" Color="#FFF0F0F0"/>
<SolidColorBrush x:Key="SliderThumb.Disabled.Border" Color="#FFD9D9D9"/>
<SolidColorBrush x:Key="SliderThumb.Static.Background" Color="#FFF0F0F0"/>
<SolidColorBrush x:Key="SliderThumb.Static.Border" Color="#FFACACAC"/>
<ControlTemplate x:Key="SliderThumbHorizontalTop" TargetType="{x:Type Thumb}">
<Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center">
<Path x:Name="grip" Data="M 0,6 C0,6 5.5,0 5.5,0 5.5,0 11,6 11,6 11,6 11,18 11,18 11,18 0,18 0,18 0,18 0,6 0,6 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" SnapsToDevicePixels="True" Stroke="{StaticResource SliderThumb.Static.Border}" StrokeThickness="1" UseLayoutRounding="True" VerticalAlignment="Center"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsDragging" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="SliderThumbHorizontalBottom" TargetType="{x:Type Thumb}">
<Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center">
<Path x:Name="grip" Data="M 0,12 C0,12 5.5,18 5.5,18 5.5,18 11,12 11,12 11,12 11,0 11,0 11,0 0,0 0,0 0,0 0,12 0,12 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" SnapsToDevicePixels="True" Stroke="{StaticResource SliderThumb.Static.Border}" StrokeThickness="1" UseLayoutRounding="True" VerticalAlignment="Center"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsDragging" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<SolidColorBrush x:Key="SliderThumb.Track.Border" Color="#FFD6D6D6"/>
<SolidColorBrush x:Key="SliderThumb.Track.Background" Color="#FFE7EAEA"/>
<Style x:Key="RepeatButtonTransparent" TargetType="{x:Type RepeatButton}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ControlTemplate x:Key="SliderThumbHorizontalDefault" TargetType="{x:Type Thumb}">
<Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center">
<Path x:Name="grip" Data="M 0,0 C0,0 11,0 11,0 11,0 11,18 11,18 11,18 0,18 0,18 0,18 0,0 0,0 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" SnapsToDevicePixels="True" Stroke="{StaticResource SliderThumb.Static.Border}" StrokeThickness="1" UseLayoutRounding="True" VerticalAlignment="Center"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsDragging" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="SliderHorizontal" TargetType="{x:Type Slider}">
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<Grid Margin="0,-3,0,3">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" MinHeight="{TemplateBinding MinHeight}"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TickBar x:Name="TopTick" Fill="{TemplateBinding Foreground}" Height="4" Margin="0,0,0,2" Placement="Top" Grid.Row="0" Visibility="Collapsed"/>
<TickBar x:Name="BottomTick" Fill="{TemplateBinding Foreground}" Height="4" Margin="0,2,0,0" Placement="Bottom" Grid.Row="2" Visibility="Collapsed"/>
<Border x:Name="TrackBackground" BorderBrush="{StaticResource SliderThumb.Track.Border}" BorderThickness="1" Background="{StaticResource SliderThumb.Track.Background}" Height="4.0" Margin="5,0" Grid.Row="1" VerticalAlignment="center">
<Canvas Margin="-6,-1">
<Rectangle x:Name="PART_SelectionRange" Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Height="4.0" Visibility="Hidden"/>
</Canvas>
</Border>
<Track x:Name="PART_Track" Grid.Row="1">
<Track.DecreaseRepeatButton>
<RepeatButton Command="{x:Static Slider.DecreaseLarge}" Style="{StaticResource RepeatButtonTransparent}" Margin="0,-3,0.13,3"/>
</Track.DecreaseRepeatButton>
<Track.IncreaseRepeatButton>
<RepeatButton Command="{x:Static Slider.IncreaseLarge}" Style="{StaticResource RepeatButtonTransparent}" Margin="-0.13,-3,0,3"/>
</Track.IncreaseRepeatButton>
<Track.Thumb>
<Thumb x:Name="Thumb" Focusable="False" Height="28" OverridesDefaultStyle="True" Template="{StaticResource SliderThumbHorizontalDefault}" VerticalAlignment="Center" Width="21" Margin="-0.13,0,0.13,0"/>
</Track.Thumb>
</Track>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="TickPlacement" Value="TopLeft">
<Setter Property="Visibility" TargetName="TopTick" Value="Visible"/>
<Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbHorizontalTop}"/>
<Setter Property="Margin" TargetName="TrackBackground" Value="5,2,5,0"/>
</Trigger>
<Trigger Property="TickPlacement" Value="BottomRight">
<Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/>
<Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbHorizontalBottom}"/>
<Setter Property="Margin" TargetName="TrackBackground" Value="5,0,5,2"/>
</Trigger>
<Trigger Property="TickPlacement" Value="Both">
<Setter Property="Visibility" TargetName="TopTick" Value="Visible"/>
<Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/>
</Trigger>
<Trigger Property="IsSelectionRangeEnabled" Value="true">
<Setter Property="Visibility" TargetName="PART_SelectionRange" Value="Visible"/>
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="true">
<Setter Property="Foreground" TargetName="Thumb" Value="Blue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="SliderThumbVerticalLeft" TargetType="{x:Type Thumb}">
<Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center">
<Path x:Name="grip" Data="M 6,11 C6,11 0,5.5 0,5.5 0,5.5 6,0 6,0 6,0 18,0 18,0 18,0 18,11 18,11 18,11 6,11 6,11 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" Stroke="{StaticResource SliderThumb.Static.Border}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsDragging" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="SliderThumbVerticalRight" TargetType="{x:Type Thumb}">
<Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center">
<Path x:Name="grip" Data="M 12,11 C12,11 18,5.5 18,5.5 18,5.5 12,0 12,0 12,0 0,0 0,0 0,0 0,11 0,11 0,11 12,11 12,11 z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" Stroke="{StaticResource SliderThumb.Static.Border}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsDragging" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="SliderThumbVerticalDefault" TargetType="{x:Type Thumb}">
<Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center">
<Path x:Name="grip" Data="M0.5,0.5 L18.5,0.5 18.5,11.5 0.5,11.5z" Fill="{StaticResource SliderThumb.Static.Background}" Stretch="Fill" Stroke="{StaticResource SliderThumb.Static.Border}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.MouseOver.Border}"/>
</Trigger>
<Trigger Property="IsDragging" Value="true">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Pressed.Border}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Fill" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Background}"/>
<Setter Property="Stroke" TargetName="grip" Value="{StaticResource SliderThumb.Disabled.Border}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="SliderVertical" TargetType="{x:Type Slider}">
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition MinWidth="{TemplateBinding MinWidth}" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TickBar x:Name="TopTick" Grid.Column="0" Fill="{TemplateBinding Foreground}" Margin="0,0,2,0" Placement="Left" Visibility="Collapsed" Width="4"/>
<TickBar x:Name="BottomTick" Grid.Column="2" Fill="{TemplateBinding Foreground}" Margin="2,0,0,0" Placement="Right" Visibility="Collapsed" Width="4"/>
<Border x:Name="TrackBackground" BorderBrush="{StaticResource SliderThumb.Track.Border}" BorderThickness="1" Background="{StaticResource SliderThumb.Track.Background}" Grid.Column="1" HorizontalAlignment="center" Margin="0,5" Width="4.0">
<Canvas Margin="-1,-6">
<Rectangle x:Name="PART_SelectionRange" Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Visibility="Hidden" Width="4.0"/>
</Canvas>
</Border>
<Track x:Name="PART_Track" Grid.Column="1">
<Track.DecreaseRepeatButton>
<RepeatButton Command="{x:Static Slider.DecreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/>
</Track.DecreaseRepeatButton>
<Track.IncreaseRepeatButton>
<RepeatButton Command="{x:Static Slider.IncreaseLarge}" Style="{StaticResource RepeatButtonTransparent}"/>
</Track.IncreaseRepeatButton>
<Track.Thumb>
<Thumb x:Name="Thumb" Focusable="False" Height="11" OverridesDefaultStyle="True" Template="{StaticResource SliderThumbVerticalDefault}" VerticalAlignment="Top" Width="18"/>
</Track.Thumb>
</Track>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="TickPlacement" Value="TopLeft">
<Setter Property="Visibility" TargetName="TopTick" Value="Visible"/>
<Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbVerticalLeft}"/>
<Setter Property="Margin" TargetName="TrackBackground" Value="2,5,0,5"/>
</Trigger>
<Trigger Property="TickPlacement" Value="BottomRight">
<Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/>
<Setter Property="Template" TargetName="Thumb" Value="{StaticResource SliderThumbVerticalRight}"/>
<Setter Property="Margin" TargetName="TrackBackground" Value="0,5,2,5"/>
</Trigger>
<Trigger Property="TickPlacement" Value="Both">
<Setter Property="Visibility" TargetName="TopTick" Value="Visible"/>
<Setter Property="Visibility" TargetName="BottomTick" Value="Visible"/>
</Trigger>
<Trigger Property="IsSelectionRangeEnabled" Value="true">
<Setter Property="Visibility" TargetName="PART_SelectionRange" Value="Visible"/>
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="true">
<Setter Property="Foreground" TargetName="Thumb" Value="Blue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="TouchSliderStyle" TargetType="{x:Type Slider}">
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Foreground" Value="{StaticResource SliderThumb.Static.Foreground}"/>
<Setter Property="Template" Value="{StaticResource SliderHorizontal}"/>
<Style.Triggers>
<Trigger Property="Orientation" Value="Vertical">
<Setter Property="Template" Value="{StaticResource SliderVertical}"/>
</Trigger>
</Style.Triggers>
</Style>
<Storyboard x:Key="VoltageCritAnim" Duration="0:0:1" RepeatBehavior="Forever">
<ColorAnimationUsingKeyFrames
Storyboard.TargetName="rectTopVoltage"
Storyboard.TargetProperty="Fill.(SolidColorBrush.Color)">
<DiscreteColorKeyFrame KeyTime="0:0:0" Value="Red" />
<DiscreteColorKeyFrame KeyTime="0:0:0.5" Value="Transparent" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
<Style x:Key="HideSwitchNCLabel" TargetType="{x:Type Label}">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding Tag.Content}" Value="FC">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="HideSwitchNCButton" TargetType="{x:Type Button}">
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding Tag.Content}" Value="FC">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<Grid x:Name="GridGMapControl">
<WindowsPresentation:GMapControl x:Name="MainMap" Loaded="MainMap_Loaded" OnPositionChanged="MainMap_OnPositionChanged" OnMapZoomChanged="MainMap_OnMapZoomChanged" StylusDown="MainMap_StylusDown" StylusUp="MainMap_StylusUp" StylusMove="MainMap_StylusMove"/>
</Grid>
<Grid>
<Grid.LayoutTransform>
<ScaleTransform
CenterX="0"
CenterY="0"
ScaleX="{Binding ElementName=UIScaleSlider,Path=Value}"
ScaleY="{Binding ElementName=UIScaleSlider,Path=Value}"
/>
</Grid.LayoutTransform>
<Grid x:Name="GridTop" Height="36" VerticalAlignment="Top" Background="#7F000000">
<Grid.LayoutTransform>
<ScaleTransform
CenterX="0"
CenterY="0"
ScaleX="{Binding ElementName=UIScaleTopSlider,Path=Value}"
ScaleY="{Binding ElementName=UIScaleTopSlider,Path=Value}"
/>
</Grid.LayoutTransform>
 
<!--<Rectangle x:Name="rctConnection" Fill="#FFF4F4F5" Height="16" Margin="0,10,7,0" Stroke="Black" VerticalAlignment="Top" HorizontalAlignment="Right" Width="15"/>-->
<StackPanel Orientation="Horizontal" Margin="0,0,115,0">
<Canvas Margin="2,3,2,5" Width="95" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowVoltage}">
<Rectangle x:Name="rectTopVoltage" HorizontalAlignment="Left" Height="28" Stroke="#FFCFCECE" VerticalAlignment="Top" Width="89" StrokeThickness="3" Fill="#00000000"/>
<Rectangle Fill="#FFE8E8FF" HorizontalAlignment="Left" Height="13" Stroke="#FFCFCECE" VerticalAlignment="Top" Width="6" StrokeThickness="2" Canvas.Left="89" Canvas.Top="8"/>
<ProgressBar x:Name="pbTopVoltage" HorizontalAlignment="Left" Height="22" VerticalAlignment="Top" Width="83" Foreground="#FF6BC37B" FontSize="14" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" BorderBrush="{x:Null}" BorderThickness="0" Background="#00000000" ToolTip="Voltage of LiPo" Canvas.Left="3" Canvas.Top="3"/>
<TextBox x:Name="tbTopVoltage" HorizontalAlignment="Left" Height="25" TextWrapping="Wrap" Text="0 V" VerticalAlignment="Top" Width="76" BorderBrush="{x:Null}" FontSize="14" HorizontalContentAlignment="Center" Background="{x:Null}" Padding="1" Foreground="White" VerticalContentAlignment="Center" AllowDrop="False" Focusable="False" IsHitTestVisible="False" IsTabStop="False" IsUndoEnabled="False" IsReadOnly="True" Canvas.Left="7" Canvas.Top="1"/>
</Canvas>
<Canvas Margin="1,2,2,3" Width="94" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowCapacity}">
<TextBox x:Name="tbTopCapacity" HorizontalAlignment="Left" Height="31" TextWrapping="Wrap" Text="0 mAh" VerticalAlignment="Top" Width="94" BorderBrush="#FFE4E4E4" FontSize="14" VerticalContentAlignment="Center" Background="{x:Null}" Padding="4,1,1,1" Foreground="White" ToolTip="capacity used" BorderThickness="0.5" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False"/>
<Image x:Name="imageFlightTime_Copy" Height="23.835" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/Consumption.png" HorizontalAlignment="Left" Width="25.375" Canvas.Left="67.993" Canvas.Top="4"/>
</Canvas>
<Canvas Margin="1,2,2,3" Width="72" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowCurrent}">
<TextBox x:Name="tbTopCurrent" HorizontalAlignment="Left" Height="31" TextWrapping="Wrap" Text="0.0 A" VerticalAlignment="Top" Width="72" BorderBrush="#FFE4E4E4" FontSize="14" VerticalContentAlignment="Center" Background="{x:Null}" Padding="4,1,1,1" Foreground="White" ToolTip="capacity used" BorderThickness="0.5" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False"/>
<Image x:Name="imageFlightTime_Copy4" Height="23.835" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/Blitz.png" HorizontalAlignment="Left" Width="16.007" Canvas.Left="56.493" Canvas.Top="4"/>
</Canvas>
<Canvas Margin="1,2,2,3" Width="94" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowFlightTime}">
<TextBox x:Name="tbTopFTime" HorizontalAlignment="Left" Height="31" TextWrapping="Wrap" Text="00:00:00" VerticalAlignment="Top" Width="94" BorderBrush="#FFE4E4E4" FontSize="14" VerticalContentAlignment="Center" Background="{x:Null}" Padding="4,1,1,1" Foreground="White" ToolTip="flight time since motor start" BorderThickness="0.5" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False"/>
<Image x:Name="imageFlightTime" Height="25.583" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/flighttime.png" HorizontalAlignment="Left" Width="25.375" Canvas.Left="63.331" Canvas.Top="2.252"/>
</Canvas>
<Canvas Margin="1,2,2,3" Width="84" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowDistanceHP}">
<Rectangle HorizontalAlignment="Right" Width="84" Stroke="#FFE4E4E4" StrokeThickness="0.5" Height="31">
<Rectangle.Style>
<Style TargetType="{x:Type Rectangle}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=btnTopHome}" Value="True">
<Setter Property="Fill" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
<TextBox x:Name="tbTopDistanceHP" HorizontalAlignment="Left" Height="31" TextWrapping="Wrap" Text="0 m" VerticalAlignment="Top" Width="84" BorderBrush="#FFE4E4E4" FontSize="14" VerticalContentAlignment="Center" Background="{x:Null}" Padding="4,1,1,1" Foreground="White" ToolTip="distance to home position" BorderThickness="0.5" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False"/>
<Image x:Name="imageFlightTime_Copy1" Height="25.583" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/Home1.png" HorizontalAlignment="Left" Width="25.375" Canvas.Left="54.831" Canvas.Top="2.252"/>
<Button x:Name="btnTopHome" Content="" Click="btnSetHP_Click" Background="{x:Null}" BorderThickness="0" BorderBrush="{x:Null}" Height="31" VerticalAlignment="Top" Foreground="{x:Null}" Focusable="False" Style="{DynamicResource ButtonWithoutEffectStyle}" ToolTip="set home position @actual position (center screen)" HorizontalAlignment="Right" Width="84"/>
</Canvas>
<Canvas Margin="1,2,2,3" Width="61" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowHeight}">
<TextBox x:Name="tbTopHeight" HorizontalAlignment="Left" Height="31" TextWrapping="Wrap" Text="0 m" VerticalAlignment="Top" Width="61" BorderBrush="#FFE4E4E4" FontSize="14" VerticalContentAlignment="Center" Background="{x:Null}" Padding="4,1,1,1" Foreground="White" ToolTip="distance to home position" BorderThickness="0.5" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False"/>
<Image x:Name="imageFlightTime_Copy2" Height="23" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/Altitude.png" HorizontalAlignment="Left" Width="8.25" Canvas.Left="48.688" Canvas.Top="4"/>
</Canvas>
<Canvas Margin="1,2,2,1" Width="95" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowSpeed}">
<TextBox x:Name="tbTopSpeed" HorizontalAlignment="Left" Height="31" TextWrapping="Wrap" Text="0.0 m/s" VerticalAlignment="Top" Width="95" BorderBrush="#FFE4E4E4" FontSize="14" VerticalContentAlignment="Center" Background="{x:Null}" Padding="4,1,1,1" Foreground="White" ToolTip="groundspeed" BorderThickness="0.5" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False"/>
<Image x:Name="imageFlightTime_Copy3" Height="19.835" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/Tacho.png" HorizontalAlignment="Left" Width="29.375" Canvas.Left="63.754" Canvas.Top="6.25"/>
</Canvas>
<Canvas Margin="0,2,2,0" Width="83" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowMF}">
<TextBox x:Name="tbTopEarthMag" Height="31" TextWrapping="Wrap" Text="100%" VerticalAlignment="Top" BorderBrush="#FFE4E4E4" FontSize="14" VerticalContentAlignment="Center" Background="{x:Null}" Padding="4,1,1,1" Foreground="White" ToolTip="earth magnetic field" BorderThickness="0.5" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False" HorizontalAlignment="Left" Width="84"/>
<Image x:Name="imageEarthMag" Height="36.75" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/EarthMag.png" HorizontalAlignment="Left" Width="36.876" Canvas.Left="46.289" Canvas.Top="0.582"/>
</Canvas>
<Canvas Margin="1,2,2,3" Width="56" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowSatellites}">
<TextBox x:Name="tbTopSats" Height="31" TextWrapping="Wrap" Text="0" VerticalAlignment="Top" Background="{x:Null}" BorderBrush="#FFE4E4E4" Foreground="#FFFFFEFE" VerticalContentAlignment="Center" FontSize="14" Padding="4,0,0,0" BorderThickness="0.5" HorizontalAlignment="Left" Width="56" IsReadOnly="True" IsUndoEnabled="False" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" ToolTip="Satellites"/>
<Image x:Name="imageSat" Height="25.958" VerticalAlignment="Top" Stretch="Fill" UseLayoutRounding="False" Source="Images/Satellite1.png" HorizontalAlignment="Left" Width="23.583" Canvas.Left="25.667" Canvas.Top="1.752"/>
</Canvas>
<Canvas Margin="1,2,2,2.4" Width="62" Style="{StaticResource CanvasVisibility}" Tag="{Binding ElementName=chkBoxTopBarShowRC}">
<TextBox x:Name="tbTopRC" Height="31" TextWrapping="Wrap" Text="0" VerticalAlignment="Top" Background="{x:Null}" BorderBrush="#FFE4E4E4" Foreground="#FFFFFEFE" VerticalContentAlignment="Center" FontSize="14" Padding="4,0,0,0" BorderThickness="0.5" HorizontalAlignment="Left" Width="62" AllowDrop="False" IsHitTestVisible="False" IsTabStop="False" IsReadOnly="True" IsUndoEnabled="False" ToolTip="RC quality"/>
<Image x:Name="imageRC" Height="27.958" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/RC1.png" HorizontalAlignment="Left" Width="23.833" Canvas.Left="33.917" Canvas.Top="1.752"/>
</Canvas>
</StackPanel>
<Canvas Margin="0,2,42,3" Width="70" HorizontalAlignment="Right">
<Rectangle HorizontalAlignment="Right" Width="69" Stroke="#FFE4E4E4" StrokeThickness="0.5" Height="31">
<Rectangle.Style>
<Style TargetType="{x:Type Rectangle}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=btnTopConnect}" Value="True">
<Setter Property="Fill" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
<Image x:Name="imageWiFi" Height="25.71" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/WiFi_W.png" HorizontalAlignment="Right" Width="24.083" ToolTip="Serial connection" Canvas.Left="5.417" Canvas.Top="4"/>
<Image x:Name="imageConn" Height="25.71" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/Data_W.png" HorizontalAlignment="Right" Width="23.833" ToolTip="Datalink to copter with auto-refresh" Canvas.Left="40.667" Canvas.Top="3.75"/>
<Button x:Name="btnTopConnect" Content="" Click="btnConnectToCopter_Click" Background="{x:Null}" BorderThickness="0" BorderBrush="{x:Null}" Height="31" VerticalAlignment="Top" Foreground="{x:Null}" Focusable="False" Style="{DynamicResource ButtonWithoutEffectStyle}" ToolTip="Start / stop polling data from copter" HorizontalAlignment="Right" Width="69"/>
</Canvas>
<Canvas Margin="0,2" HorizontalAlignment="Right" Width="37">
<Rectangle HorizontalAlignment="Right" Width="34" Stroke="#FFE4E4E4" StrokeThickness="0.5" Height="31">
<Rectangle.Style>
<Style TargetType="{x:Type Rectangle}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=imageFullscreen}" Value="True">
<Setter Property="Fill" Value="{DynamicResource PressedItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
<Image x:Name="imageFullscreen" Height="25.458" VerticalAlignment="Top" UseLayoutRounding="False" Source="Images/Fullscreen.png" HorizontalAlignment="Right" Width="22.75" MouseDown="imageFullscreen_MouseDown" ToolTip="Toggle fullscreen" Canvas.Left="5.75" Canvas.Top="4.002"/>
</Canvas>
</Grid>
<Grid x:Name="GridSideBar" Background="#66000000" Margin="0,36,0,0" HorizontalAlignment="Left" Width="23">
</Grid>
<Label x:Name="labelData" Content="Data" HorizontalAlignment="Left" VerticalAlignment="Top" Height="22" Width="74" Padding="0" MouseDown="labelData_MouseDown" RenderTransformOrigin="0.5,0.5" Margin="-26,215,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="14" >
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource PressedItemBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding IsVisible, ElementName=GridData}" Value="True">
<Setter Property="Background" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Label x:Name="labelSettings" Content="Settings" HorizontalAlignment="Left" VerticalAlignment="Top" Height="22" Width="74" Padding="0" RenderTransformOrigin="0.5,0.5" Margin="-26,290,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MouseDown="labelSettings_MouseDown" FontSize="14">
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource PressedItemBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding IsVisible, ElementName=GridSettings}" Value="True">
<Setter Property="Background" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Grid x:Name="GridData" Background="#7F000000" HorizontalAlignment="Left" Width="174" Margin="23,36,0,0" Visibility="Hidden" >
<TextBlock x:Name="tbVolt" HorizontalAlignment="Left" Height="23" Margin="106,26,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<TextBlock x:Name="tbCur" HorizontalAlignment="Left" Height="23" Margin="106,47,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6" Content="CRC-Error" Margin="53,0,31,0" VerticalAlignment="Bottom" Background="{x:Null}" Foreground="White"/>
<TextBox x:Name="tbCrc" Height="21" Margin="117,0,2,1" TextWrapping="Wrap" Text="0" VerticalAlignment="Bottom" Padding="-9,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="{x:Null}" SelectionBrush="{x:Null}" Foreground="White" Background="{x:Null}"/>
<Label x:Name="label6_Copy" Content="Controller:" HorizontalAlignment="Left" Margin="4,-3,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBox x:Name="tbCtrl" HorizontalAlignment="Left" Height="21" Margin="107,0,0,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="27" Padding="-9,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="{x:Null}" SelectionBrush="{x:Null}" Foreground="White" Background="{x:Null}" FontSize="16"/>
<Label x:Name="label6_Copy1" Content="SPI-Error" Margin="53,0,36,15" Background="{x:Null}" Foreground="White" Height="26" VerticalAlignment="Bottom"/>
<TextBox x:Name="tbSPI" Margin="117,0,2,16" TextWrapping="Wrap" Text="0" Padding="-9,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="{x:Null}" SelectionBrush="{x:Null}" Foreground="White" Background="{x:Null}" Height="21" VerticalAlignment="Bottom"/>
<Label x:Name="label6_Copy2" Content="I2C-Error" Margin="53,0,35,30" Background="{x:Null}" Foreground="White" Height="26" VerticalAlignment="Bottom"/>
<TextBox x:Name="tbI2C" Margin="117,0,2,31" TextWrapping="Wrap" Text="0" Padding="-9,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="{x:Null}" SelectionBrush="{x:Null}" Foreground="White" Background="{x:Null}" Height="21" VerticalAlignment="Bottom"/>
<Label x:Name="label6_Copy3" Content="Voltage" HorizontalAlignment="Left" Margin="9,22,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<Label x:Name="label6_Copy4" Content="Current" HorizontalAlignment="Left" Margin="9,43,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbCapacity" HorizontalAlignment="Left" Height="23" Margin="106,68,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy5" Content="Capacity" HorizontalAlignment="Left" Margin="9,64,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbFTime" HorizontalAlignment="Left" Height="23" Margin="106,92,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<TextBlock x:Name="tbRCQ" HorizontalAlignment="Left" Height="23" Margin="106,113,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy6" Content="Flying time" HorizontalAlignment="Left" Margin="9,88,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<Label x:Name="label6_Copy7" Content="RC quality" HorizontalAlignment="Left" Margin="9,109,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbMagF" HorizontalAlignment="Left" Height="23" Margin="106,150,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy8" Content="Mag. field" HorizontalAlignment="Left" Margin="9,146,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbSats" HorizontalAlignment="Left" Height="23" Margin="106,172,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<TextBlock x:Name="tbSpeed" HorizontalAlignment="Left" Height="23" Margin="106,193,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy9" Content="Satellites" HorizontalAlignment="Left" Margin="9,168,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<Label x:Name="label6_Copy10" Content="Gr. speed" HorizontalAlignment="Left" Margin="9,189,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbAlt" HorizontalAlignment="Left" Height="23" Margin="106,214,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy11" Content="Altitude" HorizontalAlignment="Left" Margin="9,210,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbHeading" HorizontalAlignment="Left" Height="23" Margin="106,234,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy12" Content="Heading" HorizontalAlignment="Left" Margin="9,230,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbPitch" HorizontalAlignment="Left" Height="23" Margin="106,255,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy13" Content="Pitch" HorizontalAlignment="Left" Margin="9,251,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbRoll" HorizontalAlignment="Left" Height="23" Margin="106,277,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy14" Content="Roll" HorizontalAlignment="Left" Margin="9,273,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbHP" HorizontalAlignment="Left" Height="23" Margin="106,299,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy15" Content="Distance HP" HorizontalAlignment="Left" Margin="9,295,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbHP1" HorizontalAlignment="Left" Height="23" Margin="106,319,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy16" Content="(Distance ???)" HorizontalAlignment="Left" Margin="5,315,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbWP" HorizontalAlignment="Left" Height="23" Margin="106,338,-11,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy17" Content="Distance WP" HorizontalAlignment="Left" Margin="9,334,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<Label x:Name="label6_Copy18" Content="NC-Error" Margin="53,0,35,46" Background="{x:Null}" Foreground="White" Height="26" VerticalAlignment="Bottom"/>
<TextBox x:Name="tbNCErr" Margin="117,0,2,47" TextWrapping="Wrap" Text="0" Padding="-9,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="{x:Null}" SelectionBrush="{x:Null}" Foreground="White" Background="{x:Null}" Height="21" VerticalAlignment="Bottom"/>
<TextBlock x:Name="tbWPCount" HorizontalAlignment="Left" Height="23" Margin="106,357,0,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy19" Content="WP count" HorizontalAlignment="Left" Margin="9,353,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
<TextBlock x:Name="tbWPIndex" HorizontalAlignment="Left" Height="23" Margin="106,375,0,0" TextWrapping="Wrap" Text="NA" VerticalAlignment="Top" Width="65" Foreground="White" FontSize="16"/>
<Label x:Name="label6_Copy20" Content="WP-Index" HorizontalAlignment="Left" Margin="9,371,0,0" VerticalAlignment="Top" Background="{x:Null}" Foreground="White" FontSize="14"/>
</Grid>
<Grid x:Name="GridSettings" Background="#7B000000" HorizontalAlignment="Left" Width="233" Margin="23,36,0,0">
<TabControl x:Name="tabControlSettings" HorizontalAlignment="Left" Width="229" Background="{x:Null}">
<TabItem Header="General" Margin="0,0,-0.237,0">
<Grid x:Name="TabGridGeneral">
<local:SerialPortCtrl x:Name="serialPortCtrl" HorizontalAlignment="Left" Height="255" Margin="11,5,0,0" VerticalAlignment="Top" Width="210"/>
<GroupBox x:Name="groupBox" Header="timings autoupdate (ms)" HorizontalAlignment="Left" Height="129" Margin="10,278,0,0" VerticalAlignment="Top" Width="210" Foreground="White" BorderThickness="0.5,0.5,0.4,0.4" FontSize="14">
<Grid Margin="0,0,-12,-6">
<Label x:Name="label" Content="debug values" HorizontalAlignment="Left" Margin="4,13,0,0" VerticalAlignment="Top" Foreground="White" Padding="0"/>
<Label x:Name="label_Copy" Content="Nav-Ctrl values" HorizontalAlignment="Left" Margin="4,36,0,0" VerticalAlignment="Top" Foreground="White" Padding="0"/>
<Label x:Name="label_Copy1" Content="BL-Ctrl values" HorizontalAlignment="Left" Margin="4,59,0,0" VerticalAlignment="Top" Foreground="White" Padding="0"/>
<Label x:Name="label_Copy2" Content="OSD values" HorizontalAlignment="Left" Margin="4,82,0,0" VerticalAlignment="Top" Foreground="White" Padding="0"/>
<ComboBox x:Name="cBoxTimingsDebug" HorizontalAlignment="Left" Height="23" Margin="105,10,0,0" VerticalAlignment="Top" Width="61" Padding="6,0,0,0" DropDownClosed="cBoxTimingsDebug_DropDownClosed"/>
<ComboBox x:Name="cBoxTimingsNav" HorizontalAlignment="Left" Height="23" Margin="105,33,0,0" VerticalAlignment="Top" Width="61" Padding="6,0,0,0" DropDownClosed="cBoxTimingsNav_DropDownClosed"/>
<ComboBox x:Name="cBoxTimingsBl" HorizontalAlignment="Left" Height="23" Margin="105,56,0,0" VerticalAlignment="Top" Width="61" Padding="6,0,0,0" DropDownClosed="cBoxTimingsBl_DropDownClosed"/>
<ComboBox x:Name="cBoxTimingsOSD" HorizontalAlignment="Left" Height="23" Margin="105,79,0,0" VerticalAlignment="Top" Width="61" Padding="6,0,0,0" DropDownClosed="cBoxTimingsOSD_DropDownClosed"/>
<CheckBox x:Name="chkbAutoDbg" Content="" HorizontalAlignment="Left" Height="16" Margin="173,13,0,0" VerticalAlignment="Top" Width="20" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="2" FontSize="18" Padding="0" Click="chkbAutoDbg_Click"/>
<CheckBox x:Name="chkbAutoNav" Content="" HorizontalAlignment="Left" Height="16" Margin="173,36,0,0" VerticalAlignment="Top" Width="20" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="2" FontSize="18" Padding="0" Click="chkbAutoNav_Click"/>
<CheckBox x:Name="chkbAutoBL" Content="" HorizontalAlignment="Left" Height="16" Margin="173,59,0,0" VerticalAlignment="Top" Width="20" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="2" FontSize="18" Padding="0" Click="chkbAutoBL_Click"/>
<CheckBox x:Name="chkbAutoOSD" Content="" HorizontalAlignment="Left" Height="16" Margin="173,82,0,0" VerticalAlignment="Top" Width="20" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="2" FontSize="18" Padding="0" Click="chkbAutoOSD_Click"/>
<Label x:Name="label_Copy3" Content="LiPo Cells" HorizontalAlignment="Left" Margin="-6,121,0,-29.62" VerticalAlignment="Top" Foreground="White" Padding="0" Width="63"/>
<ComboBox x:Name="cBoxLiPoCells" HorizontalAlignment="Left" Height="23" Margin="57,120,0,-33.62" VerticalAlignment="Top" Width="47" Padding="6,0,0,0" DropDownClosed="cBoxLiPoCells_DropDownClosed"/>
<Label x:Name="label_Copy4" Content="Capacity" HorizontalAlignment="Left" Margin="4,150,0,-58.62" VerticalAlignment="Top" Foreground="White" Padding="0" Width="63" Visibility="Hidden"/>
<Label x:Name="label_Copy5" Content="Motors" HorizontalAlignment="Left" Margin="111,122,0,-30.62" VerticalAlignment="Top" Foreground="White" Padding="0" Width="51"/>
<ComboBox x:Name="cBoxMotors" HorizontalAlignment="Left" Height="23" Margin="160,120,0,-33.62" VerticalAlignment="Top" Width="47" Padding="6,0,0,0" DropDownClosed="cBoxMotors_DropDownClosed"/>
 
 
</Grid>
</GroupBox>
<Button x:Name="buttonSwitchNC" Content="switch to NC" HorizontalAlignment="Left" Height="36" Margin="11,471,0,0" VerticalAlignment="Top" Width="86" Click="buttonSwitchNC_Click" Style="{StaticResource HideSwitchNCButton}" Tag="{Binding ElementName=tbCtrl}"/>
<TextBox x:Name="tbSettingsCapa" HorizontalAlignment="Left" Height="21" Margin="74,457,0,0" TextWrapping="Wrap" Text="5000" VerticalAlignment="Top" Width="36" Visibility="Hidden"/>
</Grid>
</TabItem>
<TabItem Header="Style" Margin="-0.763,0,-8.193,0">
<Grid x:Name="TabGridStyle">
<Label x:Name="label_Copy6" Content="Main window scale" HorizontalAlignment="Left" Margin="9,7,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="122"/>
<Label x:Name="labelUIScale" HorizontalAlignment="Left" Margin="117,7,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="42" Content="{Binding Value, ElementName=UIScaleSlider}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=UIScaleSlider}">
<Setter Property="Content" Value="{Binding Value, ElementName=UIScaleSlider}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Slider x:Name="UIScaleSlider" HorizontalAlignment="Left" Height="29" Margin="4,28,0,0" VerticalAlignment="Top" Width="206" Maximum="2" Minimum="0.7" Value="1" FontSize="20" Style="{DynamicResource TouchSliderStyle}" />
<Slider x:Name="UIScaleTopSlider" HorizontalAlignment="Left" Height="16" Margin="9,74,0,0" VerticalAlignment="Top" Width="207" Value="1" Maximum="2" Minimum="0.5" ValueChanged="UIScaleTopSlider_ValueChanged"/>
<Label x:Name="label_Copy8" Content="Top bar scale" HorizontalAlignment="Left" Margin="14,57,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="95"/>
<Label x:Name="labelTopBarScale" HorizontalAlignment="Left" Margin="95,57,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="42" Content="{Binding Value, ElementName=UIScaleTopSlider}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=UIScaleTopSlider}">
<Setter Property="Content" Value="{Binding Value, ElementName=UIScaleTopSlider}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Slider x:Name="UIScaleMotorsSlider" HorizontalAlignment="Left" Height="16" Margin="9,112,0,0" VerticalAlignment="Top" Width="207" Value="1" Maximum="2" Minimum="0.5"/>
<Label x:Name="label_Copy9" Content="Motors scale" HorizontalAlignment="Left" Margin="14,95,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="95"/>
<Label x:Name="labelMotorsScale" HorizontalAlignment="Left" Margin="95,95,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="42" Content="{Binding Value, ElementName=UIScaleMotorsSlider}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=UIScaleMotorsSlider}">
<Setter Property="Content" Value="{Binding Value, ElementName=UIScaleMotorsSlider}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Slider x:Name="UIScaleOSDSlider" HorizontalAlignment="Left" Height="16" Margin="9,148,0,0" VerticalAlignment="Top" Width="207" Value="1" Maximum="2" Minimum="0.5"/>
<Label x:Name="label_Copy10" Content="OSD scale" HorizontalAlignment="Left" Margin="14,131,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="95"/>
<Label x:Name="labelOSDScale" HorizontalAlignment="Left" Margin="95,131,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="42" Content="{Binding Value, ElementName=UIScaleOSDSlider}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=UIScaleOSDSlider}">
<Setter Property="Content" Value="{Binding Value, ElementName=UIScaleOSDSlider}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Slider x:Name="UIScaleLOGSlider" HorizontalAlignment="Left" Height="16" Margin="9,184,0,0" VerticalAlignment="Top" Width="207" Value="1" Maximum="2" Minimum="0.5"/>
<Label x:Name="label_Copy11" Content="LOG scale" HorizontalAlignment="Left" Margin="14,167,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="95"/>
<Label x:Name="labelLOGScale" HorizontalAlignment="Left" Margin="95,167,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="42" Content="{Binding Value, ElementName=UIScaleLOGSlider}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=UIScaleLOGSlider}">
<Setter Property="Content" Value="{Binding Value, ElementName=UIScaleLOGSlider}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Slider x:Name="UIScaleHorizonSlider" HorizontalAlignment="Left" Height="16" Margin="9,220,0,0" VerticalAlignment="Top" Width="207" Value="1" Maximum="2" Minimum="0.5"/>
<Label x:Name="label_Copy12" Content="Horizon scale" HorizontalAlignment="Left" Margin="14,203,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="95"/>
<Label x:Name="labelHorizonScale" HorizontalAlignment="Left" Margin="95,203,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="42" Content="{Binding Value, ElementName=UIScaleHorizonSlider}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=UIScaleHorizonSlider}">
<Setter Property="Content" Value="{Binding Value, ElementName=UIScaleHorizonSlider}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Button x:Name="buttonUIScaleReset" Content="Reset" HorizontalAlignment="Left" Margin="14,253,0,0" VerticalAlignment="Top" Width="95" Click="buttonUIScaleReset_Click" Height="29"/>
<GroupBox x:Name="groupBox1" Header="Topbar items" Margin="14,333,10,0" Foreground="White" BorderThickness="0.5" Height="197" VerticalAlignment="Top">
<Grid Margin="0,0,0,0">
<CheckBox x:Name="chkBoxTopBarShowVoltage" Content="Voltage" Foreground="White" Margin="10,10,106,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowCapacity" Content="Capacity" Foreground="White" Margin="10,26,106,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowCurrent" Content="Current" Foreground="White" Margin="10,42,106,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowFlightTime" Content="FlightTime" Foreground="White" Margin="10,58,82,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowDistanceHP" Content="Distance Home" Foreground="White" Margin="10,75,70,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowHeight" Content="Height" Foreground="White" Margin="10,92,70,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowSpeed" Content="GroundSpeed" Foreground="White" Margin="10,108,70,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowMF" Content="Magnetic field" Foreground="White" Margin="10,124,70,-2" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowSatellites" Content="Satellites" Foreground="White" Margin="10,141,70,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxTopBarShowRC" Content="RC quality" Foreground="White" Margin="10,157,70,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
</Grid>
</GroupBox>
<CheckBox x:Name="chkBoxShowHorizon" Content="Show Horizon/Heading" Foreground="White" Margin="14,551,64,0" IsChecked="True" Height="18" VerticalAlignment="Top" />
<CheckBox x:Name="chkBoxSaveFullScreenState" Content="save fullscreen&#xD;&#xA;scalings" Foreground="White" Margin="119,287,0,0" IsChecked="True" Height="33" VerticalAlignment="Top" VerticalContentAlignment="Center" Click="chkBoxSaveFullScreenState_Click" />
<CheckBox x:Name="chkBoxSaveNormalState" Content="save normal&#xA;window scalings" Foreground="White" Margin="6,287,106,0" IsChecked="True" Height="33" VerticalAlignment="Top" VerticalContentAlignment="Center" Click="chkBoxSaveNormalState_Click" />
</Grid>
</TabItem>
<TabItem Header="Map" Height="20" VerticalAlignment="Top" Margin="7.193,0,-17.257,0">
<Grid x:Name="GridMapData" Margin="0,0,-3,-1" HorizontalAlignment="Left" Width="226">
<CheckBox x:Name="checkBoxFollowCopter" Content="follow copter" HorizontalAlignment="Left" Margin="109,430,0,0" Width="107" RenderTransformOrigin="0.783,27.263" Foreground="White" Click="checkBoxFollowCopter_Click" FontSize="14" VerticalContentAlignment="Center" Height="20" VerticalAlignment="Top"/>
<TextBox Margin="6,24,10,0" x:Name="textBoxGeo" KeyUp="textBoxGeo_KeyUp" Foreground="Black" Height="22" VerticalAlignment="Top" VerticalContentAlignment="Center" Text="Landshut"/>
<Button x:Name="buttonGeoCoding" Content="Go To!" HorizontalAlignment="Left" Margin="6,47,0,0" VerticalAlignment="Top" Width="144" Height="26" Click="buttonGeoCoding_Click"/>
<Button Height="27" Margin="0,136,10,0" x:Name="buttonReloadMap" VerticalAlignment="Top" Click="ReloadMap_Click" HorizontalAlignment="Right" Width="71" Content="Reload"/>
<TextBox Margin="6,87,36,0" x:Name="textBoxLat" Height="23" VerticalAlignment="Top" VerticalContentAlignment="Center" />
<TextBox Margin="6,111,36,0" x:Name="textBoxLng" Height="22" VerticalAlignment="Top" VerticalContentAlignment="Center" />
<Button Height="27" HorizontalAlignment="Left" Margin="6,136,0,0" x:Name="buttonGeoLoc" VerticalAlignment="Top" Width="63" Click="buttonGeoLoc_Click" Content="Go To!"/>
<Label Height="23" HorizontalAlignment="Right" Margin="0,87,4,0" x:Name="label2" VerticalAlignment="Top" Width="27" VerticalContentAlignment="Center" Foreground="White" Content="lat"/>
<Label Height="29" HorizontalAlignment="Right" Margin="0,108,4,0" x:Name="label3" VerticalAlignment="Top" VerticalContentAlignment="Center" Width="27" Foreground="White" Content="lng"/>
 
 
<ComboBox FontSize="12" Margin="6,190,10,0" x:Name="comboBoxMapType" Height="25" VerticalAlignment="Top" SelectedItem="{Binding MapProvider, ElementName=MainMap}"/>
<Label HorizontalAlignment="Right" Margin="0,167,110,0" x:Name="label1" Width="109" Height="28" VerticalAlignment="Top" Foreground="White" Content="Map provider"/>
<ComboBox FontSize="12" Height="25" Margin="6,234,10,0" x:Name="comboBoxMode" VerticalAlignment="Top" DropDownClosed="comboBoxMode_DropDownClosed" />
<Label Height="32" HorizontalAlignment="Right" Margin="0,210,128,0" x:Name="label5" VerticalAlignment="Top" Width="91" Foreground="White" Content="Caching Mode"/>
<Button x:Name="buttonPrefetch" Content="Prefetch cache" HorizontalAlignment="Left" Margin="6,261,0,0" VerticalAlignment="Top" Width="144" Height="26" Click="buttonPrefetch_Click"/>
<Label HorizontalAlignment="Right" Margin="0,0,99,0" x:Name="label1_Copy" Width="120" Height="29" VerticalAlignment="Top" Foreground="White" Content="Geocoding location"/>
<TextBox Margin="6,373,36,0" x:Name="textBoxLat_currentPos" VerticalContentAlignment="Center" Height="23" VerticalAlignment="Top" />
<TextBox Margin="6,397,36,0" x:Name="textBoxLng_currentPos" VerticalContentAlignment="Center" Height="22" VerticalAlignment="Top" />
<Label Height="23" HorizontalAlignment="Right" Margin="0,373,4,0" x:Name="label2_Copy" VerticalAlignment="Top" Width="27" VerticalContentAlignment="Center" Foreground="White" Content="lat"/>
<Label Height="29" HorizontalAlignment="Right" Margin="0,394,4,0" x:Name="label3_Copy" VerticalAlignment="Top" VerticalContentAlignment="Center" Width="27" Foreground="White" Content="lng"/>
<Label HorizontalAlignment="Right" Margin="0,349,111,0" x:Name="label1_Copy1" Width="109" Foreground="White" Content="Current position" Height="28" VerticalAlignment="Top"/>
<Slider x:Name="sliderMapZoom" Style="{DynamicResource TouchSliderStyle}" HorizontalAlignment="Left" Margin="10,319,0,0" Width="206" Maximum="24" SmallChange="1" Value="0" IsSnapToTickEnabled="True" ValueChanged="sliderMapZoom_ValueChanged" Height="29" VerticalAlignment="Top"/>
<Label Height="23" HorizontalAlignment="Right" Margin="0,291,139,0" x:Name="label2_Copy1" VerticalAlignment="Top" Width="69" VerticalContentAlignment="Center" Foreground="White" Content="Zoomlevel"/>
<Label Height="23" HorizontalAlignment="Right" Margin="0,291,101,0" x:Name="labelZoom" VerticalAlignment="Top" Width="49" VerticalContentAlignment="Center" Foreground="White" Content="{Binding Value,ElementName=sliderMapZoom}" HorizontalContentAlignment="Center"/>
<Button x:Name="btnSetHP" Content="set Home" Margin="7,428,139,0" Click="btnSetHP_Click" Height="24" VerticalAlignment="Top"/>
<Button x:Name="btnClearHP" Content="clear Home" Margin="7,452,139,0" Click="btnClearHP_Click" Height="25" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.6"/>
<Button x:Name="btnGotoHP" Content="goto Home" Margin="7,477,139,0" Click="btnGotoHP_Click" Height="24" VerticalAlignment="Top"/>
</Grid>
</TabItem>
<TabItem Header="Thresholds" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" Width="78" Margin="15.257,0,-39.257,0">
<Grid>
<GroupBox x:Name="groupBox2" Header="Voltage" HorizontalAlignment="Left" Height="152" Margin="10,10,0,0" VerticalAlignment="Top" Width="203" BorderThickness="0.5" Foreground="White">
<Grid Margin="0,0,-6,-5.96">
<Slider x:Name="sliderThresholdVoltageCrit" HorizontalAlignment="Left" Height="23" Margin="10,75,0,0" VerticalAlignment="Top" Width="177" Maximum="{Binding Value, ElementName=sliderThresholdVoltageWarn}" Minimum="{Binding Minimum, ElementName=sliderThresholdVoltageWarn}" ValueChanged="sliderThresholdVoltageCrit_ValueChanged" TickFrequency="0.1" IsSnapToTickEnabled="True"/>
<Label x:Name="labelThresholdVoltageCrit" HorizontalAlignment="Left" Margin="86,49,0,0" VerticalAlignment="Top" Foreground="White" Height="25" Width="45" Content="{Binding Value, ElementName=sliderThresholdVoltageCrit}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=sliderThresholdVoltageCrit}">
<Setter Property="Content" Value="{Binding Value, ElementName=sliderThresholdVoltageCrit}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Label x:Name="labelThresholdVoltageCrit_Copy" Content="critical" HorizontalAlignment="Left" Margin="26,49,0,0" VerticalAlignment="Top" Foreground="White"/>
<Slider x:Name="sliderThresholdVoltageWarn" HorizontalAlignment="Left" Height="23" Margin="10,30,0,0" VerticalAlignment="Top" Width="177" ValueChanged="sliderThresholdVoltageWarn_ValueChanged" Maximum="30" TickFrequency="0.1" IsSnapToTickEnabled="True">
 
</Slider>
<Label x:Name="labelThresholdVoltageWarn" HorizontalAlignment="Left" Margin="86,4,0,0" VerticalAlignment="Top" Foreground="White" Height="25" Width="45" Content="{Binding Value, ElementName=sliderThresholdVoltageWarn}">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Value, ElementName=sliderThresholdVoltageWarn}">
<Setter Property="Content" Value="{Binding Value, ElementName=sliderThresholdVoltageWarn}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Label x:Name="labelThresholdVoltageCrit_Copy2" Content="warning" HorizontalAlignment="Left" Margin="26,4,0,0" VerticalAlignment="Top" Foreground="White"/>
<CheckBox x:Name="checkBoxThresholdVoltageVoice" Content="voice output" HorizontalAlignment="Left" Height="16" Margin="10,109,0,0" VerticalAlignment="Top" Width="90" Foreground="#FFFFFEFE" Click="checkBoxThresholdVoltageVoice_Click"/>
 
</Grid>
</GroupBox>
</Grid>
</TabItem>
</TabControl>
</Grid>
<Border BorderThickness="0,2,0,0" Height="2" Margin="0,34,0,0" VerticalAlignment="Top" Visibility="Hidden">
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF9DCAF9" Offset="0"/>
<GradientStop Color="#FF004385" Offset="1"/>
</LinearGradientBrush>
</Border.BorderBrush>
</Border>
<ArtificialHorizon:ArtificialHorizon x:Name="ArtHor" Margin="0,0,-41,-26" Height="143" Width="177" HorizontalAlignment="Right" VerticalAlignment="Bottom" Visibility="{Binding IsChecked, ElementName=chkBoxShowHorizon, Converter={StaticResource BooleanToVisibility}}">
<ArtificialHorizon:ArtificialHorizon.RenderTransform>
<ScaleTransform
CenterX="136"
CenterY="117"
ScaleX="{Binding ElementName=UIScaleHorizonSlider,Path=Value}"
ScaleY="{Binding ElementName=UIScaleHorizonSlider,Path=Value}"
/>
</ArtificialHorizon:ArtificialHorizon.RenderTransform>
</ArtificialHorizon:ArtificialHorizon>
<Label x:Name="labelLog" Content="LOG" Padding="0" RenderTransformOrigin="0.5,0.5" Margin="-26,0,0,29" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MouseDown="labelLog_MouseDown" FontSize="14" HorizontalAlignment="Left" Width="74" Height="22" VerticalAlignment="Bottom">
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource PressedItemBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding IsVisible, ElementName=GridLog}" Value="True">
<Setter Property="Background" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Grid x:Name="GridLog" Margin="257,0,0,0" Background="#66000000" Height="66" VerticalAlignment="Bottom" HorizontalAlignment="Left" Width="510">
<Grid.LayoutTransform>
<ScaleTransform
CenterX="0"
CenterY="0"
ScaleX="{Binding ElementName=UIScaleLOGSlider,Path=Value}"
ScaleY="{Binding ElementName=UIScaleLOGSlider,Path=Value}"
/>
</Grid.LayoutTransform>
<RichTextBox x:Name="rtfError" Height="60" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="216" Margin="0,0,7,2" />
<RichTextBox x:Name="rtfTerminal" Margin="0,0,228,2" HorizontalAlignment="Right" Width="276" Height="60" VerticalAlignment="Bottom" />
</Grid>
<Grid x:Name="GridMotors" Margin="0,36,0,0" Background="#66000000" Height="285" VerticalAlignment="Top" HorizontalAlignment="Right" Width="132" Visibility="Hidden">
<Grid.LayoutTransform>
<ScaleTransform
CenterX="0"
CenterY="0"
ScaleX="{Binding ElementName=UIScaleMotorsSlider,Path=Value}"
ScaleY="{Binding ElementName=UIScaleMotorsSlider,Path=Value}"
/>
</Grid.LayoutTransform>
<DataGrid x:Name="dgvMotors1" HorizontalAlignment="Left" Height="272" Margin="1,3,0,0" VerticalAlignment="Top" Width="137" ItemsSource="{Binding}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="14" IsReadOnly="True" Background="{x:Null}" HorizontalGridLinesBrush="#FF688CAF" VerticalGridLinesBrush="#FF688CAF" HeadersVisibility="Column" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled" BorderBrush="{x:Null}"/>
<!--<DataGrid x:Name="dgvMotors2" HorizontalAlignment="Left" Height="116" Margin="137,6,0,0" VerticalAlignment="Top" Width="129" ItemsSource="{Binding}" IsReadOnly="True" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="14" Background="{x:Null}" HorizontalGridLinesBrush="#FF688CAF" VerticalGridLinesBrush="#FF688CAF" HeadersVisibility="Column" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled" BorderBrush="{x:Null}" Visibility="Collapsed"/>-->
</Grid>
<Label x:Name="labelMotordata" Content="Motors" Padding="0" RenderTransformOrigin="0.5,0.5" Margin="-26,140,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MouseDown="labelMotorData_MouseDown" FontSize="14" HorizontalAlignment="Left" Width="74" Height="22" VerticalAlignment="Top">
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource PressedItemBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding IsVisible, ElementName=GridMotors}" Value="True">
<Setter Property="Background" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Grid x:Name="GridOSD" Margin="0,36,136,0" Background="#66000000" Height="127" VerticalAlignment="Top" HorizontalAlignment="Right" Width="257" Visibility="Hidden">
<Grid.LayoutTransform>
<ScaleTransform
CenterX="0"
CenterY="0"
ScaleX="{Binding ElementName=UIScaleOSDSlider,Path=Value}"
ScaleY="{Binding ElementName=UIScaleOSDSlider,Path=Value}"
/>
</Grid.LayoutTransform>
<RichTextBox x:Name="rtfOSD" Height="83" VerticalAlignment="Top" HorizontalAlignment="Left" Width="190" Margin="10,5,0,0" FontFamily="Consolas" FontSize="16" />
<ComboBox x:Name="cbOSD" HorizontalAlignment="Left" Margin="203,96,0,0" VerticalAlignment="Top" Width="47" Height="27" DropDownClosed="cbOSD_DropDownClosing"/>
<Button x:Name="btnOSDBackward" Content="Å" HorizontalAlignment="Left" Height="34" Margin="203,44,0,0" VerticalAlignment="Top" Width="47" FontFamily="Wingdings 3" Click="btnOSDBackward_Click"/>
<Button x:Name="btnOSDForward" Content="Æ" HorizontalAlignment="Left" Height="34" Margin="203,5,0,0" VerticalAlignment="Top" Width="47" FontFamily="Wingdings 3" Click="btnOSDForward_Click"/>
<Label x:Name="label_Copy7" Content="Page" HorizontalAlignment="Left" Margin="205,78,0,0" VerticalAlignment="Top" Foreground="White" Padding="0" Width="47"/>
<Button x:Name="btnOSDEnter" Content="" HorizontalAlignment="Left" Height="34" Margin="87,90,0,0" VerticalAlignment="Top" Width="52" Click="btnOSDEnter_Click"/>
<Button x:Name="btnOSDLeave" Content="" HorizontalAlignment="Left" Height="34" Margin="144,90,0,0" VerticalAlignment="Top" Width="52" Click="btnOSDLeave_Click"/>
</Grid>
<Label x:Name="labelOSD" Content="OSD" Padding="0" RenderTransformOrigin="0.5,0.5" Margin="-26,65,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MouseDown="labelOSD_MouseDown" FontSize="14" HorizontalAlignment="Left" Width="74" Height="22" VerticalAlignment="Top">
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource PressedItemBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding IsVisible, ElementName=GridOSD}" Value="True">
<Setter Property="Background" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Grid x:Name="GridWP" Margin="23,36,0,0" Background="#7F000000" Height="275" VerticalAlignment="Top" Visibility="Collapsed">
<DataGrid x:Name="dgvWP" Height="162" Margin="10,10,10,0" VerticalAlignment="Top" Background="{x:Null}" ItemsSource="{Binding}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="14" HorizontalGridLinesBrush="#FF688CAF" VerticalGridLinesBrush="#FF688CAF" HeadersVisibility="Column" BorderBrush="{x:Null}" Padding="0"/>
<Button x:Name="btnGetWPList" Content="" HorizontalAlignment="Left" Height="39" Margin="10,172,0,0" VerticalAlignment="Top" Width="78" Click="btnGetWP_Click" ToolTip="Download WP-list from copter" BorderBrush="#FFBDBDBD">
<Button.Background>
<ImageBrush ImageSource="Images/FromCopterToPc.png" Stretch="Uniform"/>
</Button.Background>
</Button>
<Label x:Name="label4" Content="Items" HorizontalAlignment="Left" Margin="94,177,0,0" VerticalAlignment="Top" Width="80" Foreground="White"/>
<Label x:Name="lblWPCount" Content="##" HorizontalAlignment="Left" Margin="128,178,0,0" VerticalAlignment="Top" Width="28" Foreground="White"/>
<Label x:Name="label4_Copy" Content="WP Index" HorizontalAlignment="Left" Margin="94,194,0,0" VerticalAlignment="Top" Width="80" Foreground="White" Visibility="Hidden"/>
<Label x:Name="lblWPIndex" Content="##" HorizontalAlignment="Left" Margin="170,194,0,0" VerticalAlignment="Top" Width="28" Foreground="White" Visibility="Hidden"/>
<Button x:Name="btnSendWPList" Content="" HorizontalAlignment="Left" Height="39" Margin="10,211,0,0" VerticalAlignment="Top" Width="78" ToolTip="Upload WP-list to copter" BorderBrush="#FFBDBDBD" Click="btnSendWPList_Click">
<Button.Background>
<ImageBrush ImageSource="Images/FromPcToCopter.png" Stretch="Uniform"/>
</Button.Background>
</Button>
</Grid>
<Label x:Name="labelWaypoints" Content="Waypoints" HorizontalAlignment="Left" VerticalAlignment="Top" Height="22" Width="74" Padding="0" RenderTransformOrigin="0.5,0.5" Margin="-26,365,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MouseDown="labelWaypoints_MouseDown" FontSize="14">
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource PressedItemBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding IsVisible, ElementName=GridWP}" Value="True">
<Setter Property="Background" Value="{DynamicResource ActiveItemBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<!--<Rectangle x:Name="rctConnection" Fill="#FFF4F4F5" Height="16" Margin="0,10,7,0" Stroke="Black" VerticalAlignment="Top" HorizontalAlignment="Right" Width="15"/>-->
</Grid>
<Label x:Name="labelSwitchToNavi" Content="The communication is set to FlightControl&#xD;&#xA;The necessary data can ONLY be accessed &#xD;&#xA;by the NaviControl!&#xD;&#xA;Please switch to NaviControl in the settings tab" HorizontalAlignment="Left" Height="161" Margin="347,147,0,0" VerticalAlignment="Top" Width="574" Foreground="White" FontSize="26.667" Style="{StaticResource HideSwitchNCLabel}" Tag="{Binding ElementName=tbCtrl}" >
<Label.Background>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="#B2FF2121" Offset="0.457"/>
<GradientStop Color="Red" Offset="1"/>
</LinearGradientBrush>
</Label.Background>
</Label>
 
</Grid>
</Window>
/MKLiveView/v1.0/Source/MainWindow.xaml.cs
0,0 → 1,2359
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.WindowsPresentation;
using MKLiveView.GMapCustomMarkers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
 
namespace MKLiveView
{
/// <summary>
/// Interaktionslogik für MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
GMapMarker copter;
GMapMarker home;
PointLatLng start;
PointLatLng end;
PointLatLng pHome;
 
 
String[] NC_Error = new string[44]
{
"No Error",
"FC not compatible" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A1_.22FC_not_compatible_.22",
"MK3Mag not compatible" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A2_.22MK3Mag_not_compatible_.22",
"no FC communication" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A3_.22no_FC_communication_.22",
"no compass communication" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A4_.22no_compass_communication_.22",
"no GPS communication" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A5_.22no_GPS_communication_.22",
"bad compass value" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A6_.22bad_compass_value.22",
"RC Signal lost" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A7_.22RC_Signal_lost_.22",
"FC spi rx error" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A8_.22FC_spi_rx_error_.22",
"ERR: no NC communication" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A9:_.22ERR:_no_NC_communication.22",
"ERR: FC Nick Gyro" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A10_.22ERR:_FC_Nick_Gyro.22",
"ERR: FC Roll Gyro" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A11_.22ERR:_FC_Roll_Gyro.22",
"ERR: FC Yaw Gyro" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A12_.22ERR:_FC_Yaw_Gyro.22",
"ERR: FC Nick ACC" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A13_.22ERR:_FC_Nick_ACC.22",
"ERR: FC Roll ACC" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A14_.22ERR:_FC_Roll_ACC.22",
"ERR: FC Z-ACC" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A15_.22ERR:_FC_Z-ACC.22",
"ERR: Pressure sensor" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A16_.22ERR:_Pressure_sensor.22",
"ERR: FC I2C" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A17_.22ERR:_FC_I2C.22",
"ERR: Bl Missing" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A18_.22ERR:_Bl_Missing.22",
"Mixer Error" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A19_.22Mixer_Error.22",
"FC: Carefree Error" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A20_.22FC:_Carefree_Error.22",
"ERR: GPS lost" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A21_.22ERR:_GPS_lost.22",
"ERR: Magnet Error" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A22_.22ERR:_Magnet_Error.22",
"Motor restart" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A23_.22Motor_restart.22",
"BL Limitation" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A24_.22BL_Limitation.22",
"Waypoint range" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A25_.22Waypoint_range.22",
"ERR:No SD-Card" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A26_.22ERR:No_SD-Card.22",
"ERR:SD Logging aborted" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A27_.22ERR:SD_Logging_aborted.22",
"ERR:Flying range!" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A28_.22ERR:Flying_range.21.22",
"ERR:Max Altitude" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A29_.22ERR:Max_Altitude.22",
"No GPS Fix" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A30_.22No_GPS_Fix.22",
"compass not calibrated" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A31_.22compass_not_calibrated.22",
"ERR:BL selftest" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A32_.22ERR:BL_selftest.22",
"no ext. compass" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A33_.22no_ext._compass.22",
"compass sensor" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A34_.22compass_sensor.22",
"FAILSAFE pos.!" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A35_.22FAILSAFE_pos..21__.22",
"ERR:Redundancy" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A36_.22ERR:Redundancy__.22",
"Redundancy test" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A37_.22Redundancy_test_.22",
"GPS Update rate" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A38_.22GPS_Update_rate.22",
"ERR:Canbus" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A39_.22ERR:Canbus.22",
"ERR: 5V RC-Supply" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A40_.22ERR:_5V_RC-Supply.22",
"ERR:Power-Supply" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A41_.22ERR:Power-Supply.22",
"ACC not calibr." + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A42_.22ACC_not_calibr..22",
"ERR:Parachute!" + Environment.NewLine + "http://wiki.mikrokopter.de/ErrorCodes#A43_.22ERR:Parachute.21.22"
};
 
[FlagsAttribute]
enum NC_HWError0 : short
{
None = 0,
SPI_RX = 1,
COMPASS_RX = 2,
FC_INCOMPATIBLE = 4,
COMPASS_INCOMPATIBLE = 8,
GPS_RX = 16,
COMPASS_VALUE = 32
};
[FlagsAttribute]
enum FC_HWError0 : short
{
None = 0,
GYRO_NICK = 1,
GYRO_ROLL = 2,
GYRO_YAW = 4,
ACC_NICK = 8,
ACC_ROLL = 16,
ACC_TOP = 32,
PRESSURE = 64,
CAREFREE = 128
};
[FlagsAttribute]
enum FC_HWError1 : short
{
None = 0,
I2C = 1,
BL_MISSING = 2,
SPI_RX = 4,
PPM = 8,
MIXER = 16,
RC_VOLTAGE = 32,
ACC_NOT_CAL = 64,
RES3 = 128
};
public enum LogMsgType { Incoming, Outgoing, Normal, Warning, Error };
// Various colors for logging info
private Color[] LogMsgTypeColor = { Color.FromArgb(255, 43, 145, 175), Colors.Green, Colors.Black, Colors.Orange, Colors.Red };
 
bool _bCBInit = true;
bool _init = true;
bool check_HWError = false;
 
string filePath = Directory.GetCurrentDirectory();
bool bReadContinously = false;
bool _debugDataAutorefresh = true;
bool _navCtrlDataAutorefresh = true;
bool _blctrlDataAutorefresh = true;
bool _OSDAutorefresh = true;
bool _bErrorLog = false;
bool _bConnErr = false;
bool _bFollowCopter = false;
 
bool _bSaveWinStateNormal = true;
bool _bSaveWinStateFull = true;
 
double scaleNormalAll = 1;
double scaleNormalTopBar = 1;
double scaleNormalMotors = 1;
double scaleNormalOSD = 1;
double scaleNormalLOG = 1;
double scaleNormalHorizon = 1;
 
double scaleFullAll = 1;
double scaleFullTopBar = 1;
double scaleFullMotors = 1;
double scaleFullOSD = 1;
double scaleFullLOG = 1;
double scaleFullHorizon = 1;
 
int _iCtrlAct = 0;
int iOSDPage = 0;
int iOSDMax = 0;
int _iLifeCounter = 0;
int crcError = 0;
 
int _iMotors = 4;
int _LipoCells = 4;
 
double _dLipoVMax = 16.88;
double _dLipoVMin = 12;
double _dThresholdVoltageWarn = 0;
double _dThresholdVoltageCrit = 0;
Storyboard stbVoltageCritAnim;
bool _bCritAnimVoltActive = false;
bool _bCritVoiceVoltActive = false;
bool _bCWarnVoiceVoltActive = false;
bool _bVoiceVoltPlay = false;
double _dVoltLast = 0;
int _iVoltJitter = 0;
 
double _dTopHeight = 36;
 
int[] serChan = new int[12] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
int[] serChan_sub = new int[12] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
string[] serChanTitle = new string[12];
 
string[] sAnalogLabel = new string[32];
string[] sAnalogData = new string[32];
 
int[] iTimings = new int[] {100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000 };
int[] iMotors = new int[] {3,4,5,6,7,8,9,10,11,12 };
string[] sLiPoCells = new string[] { "3s", "4s", "5s", "6s" };
/// <summary>
/// interval for sending debugdata (multiplied by 10ms)
/// </summary>
byte debugInterval = 10; //(=> 100ms)
/// <summary>
/// interval for sending BL-CTRL status (multiplied by 10ms)
/// </summary>
byte blctrlInterval = 75;
/// <summary>
/// interval for sending NAV-CTRL status (multiplied by 10ms)
/// </summary>
byte navctrlInterval = 80;
/// <summary>
/// interval for sending OSD page update (multiplied by 10ms)
/// </summary>
byte OSDInterval = 85;
/// <summary>
/// datatable for the debug data array - displayed on settings tabpage in datagridview
/// </summary>
DataTable dtAnalog = new DataTable();
/// <summary>
/// datatable for motordata (current,temp)
/// </summary>
DataTable dtMotors1 = new DataTable();
// DataTable dtMotors2 = new DataTable();
 
DataTable dtWaypoints = new DataTable();
static volatile int _iWP = -1;
bool _bGetWP = false;
static volatile bool _bGetWPCount = false;
 
DispatcherTimer timer = new DispatcherTimer();
 
/// <summary>
/// stuff for enabeling touch zoom for the map
/// </summary>
Point pTouch1 = new Point(0,0), pTouch2 = new Point(0,0);
int iFirstStylusID = -1;
public string connectButtonText
{
get
{
return bReadContinously ? "stop polling data" + System.Environment.NewLine + "from copter" : "start polling data" + System.Environment.NewLine + "from copter";
}
}
 
WinState winState = new WinState();
 
public MainWindow()
{
InitializeComponent();
_initForm();
_dataTablesInit();
_setupMap();
_init = false;
timer.Tick += new EventHandler(timerEvent);
timer.Interval = new TimeSpan(0, 0, 1);
timer.Start();
}
 
#region init
void _initForm()
{
_readIni();
if (_bSaveWinStateNormal)
_setScaleSliders(false);
cBoxTimingsDebug.ItemsSource =
cBoxTimingsNav.ItemsSource =
cBoxTimingsBl.ItemsSource =
cBoxTimingsOSD.ItemsSource =
iTimings;
cBoxLiPoCells.ItemsSource = sLiPoCells;
cBoxLiPoCells.SelectedItem = _LipoCells.ToString() + "s";
_LipoMinMax();
sliderThresholdVoltageWarn.Value = _dThresholdVoltageWarn;
sliderThresholdVoltageCrit.Value = _dThresholdVoltageCrit;
checkBoxThresholdVoltageVoice.IsChecked = _bVoiceVoltPlay;
 
cBoxMotors.ItemsSource = iMotors;
cBoxMotors.SelectedItem = _iMotors;
 
serialPortCtrl.PortClosed += serialPortCtrl_PortClosed;
serialPortCtrl.PortOpened += serialPortCtrl_PortOpened;
serialPortCtrl.DataReceived += processMessage;
 
chkbAutoBL.IsChecked = _blctrlDataAutorefresh;
chkbAutoDbg.IsChecked = _debugDataAutorefresh;
chkbAutoNav.IsChecked = _navCtrlDataAutorefresh;
chkbAutoOSD.IsChecked = _OSDAutorefresh;
 
cBoxTimingsDebug.SelectedItem = debugInterval * 10;
cBoxTimingsNav.SelectedItem = navctrlInterval * 10;
cBoxTimingsBl.SelectedItem = blctrlInterval * 10;
cBoxTimingsOSD.SelectedItem = OSDInterval * 10;
 
checkBoxFollowCopter.IsChecked = _bFollowCopter;
 
 
}
/// <summary>
/// initialize the datatables
/// with columnnames etc
/// </summary>
void _dataTablesInit()
{
//dtAnalog.Columns.Add("ID");
//dtAnalog.Columns.Add("Value");
// dataGridView1.DataSource = dtAnalog;
 
dtMotors1.Columns.Add("#");
if (Thread.CurrentThread.CurrentUICulture.Name == "")
dtMotors1.Columns.Add("Current");
else
dtMotors1.Columns.Add("Strom");
dtMotors1.Columns.Add("Temp");
//dtMotors2.Columns.Add("#");
//if (Thread.CurrentThread.CurrentUICulture.Name == "")
// dtMotors2.Columns.Add("Current");
//else
// dtMotors2.Columns.Add("Strom");
//dtMotors2.Columns.Add("Temp");
dgvMotors1.DataContext = dtMotors1.DefaultView;
//dgvMotors2.DataContext = dtMotors2.DefaultView;
_initDTMotors();
//dgvMotors1.Columns[0].Width = 24;
//dgvMotors1.Columns[1].Width = 74;
//dgvMotors1.Columns[2].Width = 74;
//dgvMotors2.Columns[0].Width = 24;
//dgvMotors2.Columns[1].Width = 74;
//dgvMotors2.Columns[2].Width = 74;
 
dtWaypoints.Columns.Add("Index");
dtWaypoints.Columns.Add("Type");
dtWaypoints.Columns.Add("Name");
dtWaypoints.Columns.Add("Latitude");
dtWaypoints.Columns.Add("Longitude");
dtWaypoints.Columns.Add("Altitude");
dtWaypoints.Columns.Add("Heading");
dtWaypoints.Columns.Add("Speed");
dtWaypoints.Columns.Add("Altitude rate");
dtWaypoints.Columns.Add("Tol radius");
dtWaypoints.Columns.Add("Hold time");
dtWaypoints.Columns.Add("AutoTrigger");
dtWaypoints.Columns.Add("Cam angle");
dtWaypoints.Columns.Add("Event");
dtWaypoints.Columns.Add("Eventchan Val");
dtWaypoints.Columns.Add("Status");
dtWaypoints.PrimaryKey = new DataColumn[] { dtWaypoints.Columns["Index"] };
dgvWP.DataContext = dtWaypoints.DefaultView;
Setter setter = new Setter(ContentControl.PaddingProperty, new Thickness(5,0,5,0));
Style style = new Style(typeof(System.Windows.Controls.Primitives.DataGridColumnHeader));
style.Setters.Add(setter);
setter = new Setter(ContentControl.BackgroundProperty, new SolidColorBrush(Colors.Transparent));
style.Setters.Add(setter);
setter = new Setter(ContentControl.ForegroundProperty, new SolidColorBrush(Colors.White));
style.Setters.Add(setter);
dgvWP.ColumnHeaderStyle = new Style();
dgvWP.ColumnHeaderStyle = style;
}
/// <summary>
/// initialize the 2 datatables for motor values
/// dtMotors1 - motor 1 - 4
/// dtMotors2 - motor 5 - 8
/// DataGridView dgvMotors1/2 are bound to dtMotors1/2
/// </summary>
void _initDTMotors()
{
for (int i = 0; i < 12; i++)
{
if (dtMotors1.Rows.Count < 12)
dtMotors1.Rows.Add((i + 1).ToString(), "NA", "NA");
else
{
dtMotors1.Rows[i].SetField(1, "NA");
dtMotors1.Rows[i].SetField(2, "NA");
}
//if (dtMotors2.Rows.Count < 4)
// dtMotors2.Rows.Add((i + 5).ToString(), "NA", "NA");
//else
//{
// dtMotors2.Rows[i].SetField(1, "NA");
// dtMotors2.Rows[i].SetField(2, "NA");
//}
}
// Dispatcher.Invoke((Action)(() => dgvMotors1.UpdateLayout()));
//dgvMotors2.Invoke((Action)(() => dgvMotors2.Refresh()));
}
 
#endregion init
 
#region events
private void serialPortCtrl_PortOpened()
{
Dispatcher.Invoke(() => imageWiFi.Source = new BitmapImage(new Uri("Images/WiFi_G.png", UriKind.Relative)));
_getVersion();
Thread.Sleep(100);
//_OSDMenue(0);
//Thread.Sleep(200);
//_sendSerialData();
_readCont(true);
}
private void serialPortCtrl_PortClosed()
{
Dispatcher.Invoke(() => imageWiFi.Source = new BitmapImage(new Uri("Images/WiFi_W.png", UriKind.Relative)));
_readCont(false);
}
void timerEvent(object sender, EventArgs e)
{
if (bReadContinously)
{
if (_debugDataAutorefresh) { _readDebugData(true); Thread.Sleep(10); }
 
if (_blctrlDataAutorefresh) { _readBLCtrl(true); Thread.Sleep(10); }
 
if (_navCtrlDataAutorefresh && _iCtrlAct == 2) { _readNavData(true); Thread.Sleep(10); }
check_HWError = true;
_getVersion();
Thread.Sleep(10);
if (_OSDAutorefresh)
{
if (iOSDMax == 0 | cbOSD.Items.Count != iOSDMax)
_initOSDCB();
_OSDMenueAutoRefresh();
}
if (_iLifeCounter > 0)
{
Dispatcher.Invoke(() => imageConn.Source = new BitmapImage(new Uri("Images/Data_G.png", UriKind.Relative)));
// Dispatcher.Invoke((Action)(() => rctConnection.Fill = Brushes.LightGreen));
_iLifeCounter = 0;
_bConnErr = false;
}
else
{
if (!_bConnErr)
{
Log(LogMsgType.Error, "No communication to NC/FC!");
Dispatcher.Invoke(() => imageConn.Source = new BitmapImage(new Uri("Images/Data_R.png", UriKind.Relative)));
// Dispatcher.Invoke((Action)(() => rctConnection.Fill = Brushes.Red));
_bConnErr = true;
}
}
}
}
 
private void labelData_MouseDown(object sender, MouseButtonEventArgs e)
{
GridData.Visibility = GridData.Visibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
GridSettings.Visibility = GridWP.Visibility = Visibility.Collapsed;
}
private void labelMotorData_MouseDown(object sender, MouseButtonEventArgs e)
{
GridMotors.Visibility = GridMotors.Visibility == Visibility.Hidden ? Visibility.Visible : Visibility.Hidden;
if (GridMotors.IsVisible)
_setMotorGridSize();
}
private void labelSettings_MouseDown(object sender, MouseButtonEventArgs e)
{
GridData.Visibility = GridWP.Visibility = Visibility.Collapsed;
GridSettings.Visibility = GridSettings.Visibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
}
private void labelLog_MouseDown(object sender, MouseButtonEventArgs e)
{
GridLog.Visibility = GridLog.Visibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
}
private void labelOSD_MouseDown(object sender, MouseButtonEventArgs e)
{
GridOSD.Visibility = GridOSD.Visibility == Visibility.Hidden ? Visibility.Visible : Visibility.Hidden;
}
private void labelWaypoints_MouseDown(object sender, MouseButtonEventArgs e)
{
GridData.Visibility = GridSettings.Visibility = Visibility.Collapsed;
GridWP.Visibility = GridWP.Visibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
}
 
private void btnGetWP_Click(object sender, RoutedEventArgs e)
{
Thread t = new Thread(new ThreadStart(_getWP));
t.Start();
}
private void btnSendWPList_Click(object sender, RoutedEventArgs e)
{
 
}
 
private void btnConnectToCopter_Click(object sender, RoutedEventArgs e)
{
if (!serialPortCtrl.Port.IsOpen)
serialPortCtrl.Connect(true);
else
_readCont(!bReadContinously);
}
private void btnSetHP_Click(object sender, RoutedEventArgs e)
{
setHomePos();
}
private void btnClearHP_Click(object sender, RoutedEventArgs e)
{
clearHomePos();
}
private void btnGotoHP_Click(object sender, RoutedEventArgs e)
{
if (home != null && MainMap.Markers.Contains(home))
MainMap.Position = home.Position;
}
private void chkBoxSaveNormalState_Click(object sender, RoutedEventArgs e)
{
_bSaveWinStateNormal = (bool)chkBoxSaveNormalState.IsChecked;
}
private void chkBoxSaveFullScreenState_Click(object sender, RoutedEventArgs e)
{
_bSaveWinStateFull = (bool)chkBoxSaveFullScreenState.IsChecked;
}
 
private void sliderThresholdVoltageWarn_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if(!_init)
_dThresholdVoltageWarn = sliderThresholdVoltageWarn.Value;
}
private void sliderThresholdVoltageCrit_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if(!_init)
_dThresholdVoltageCrit = sliderThresholdVoltageCrit.Value;
}
private void checkBoxThresholdVoltageVoice_Click(object sender, RoutedEventArgs e)
{
_bVoiceVoltPlay = (bool)checkBoxThresholdVoltageVoice.IsChecked;
}
private void buttonSwitchNC_Click(object sender, RoutedEventArgs e)
{
_switchToNC();
}
 
private void Window_Loaded(object sender, RoutedEventArgs e)
{
stbVoltageCritAnim = TryFindResource("VoltageCritAnim") as Storyboard;
_setMotorGridSize();
}
#endregion events
 
#region GMap
 
void _setupMap()
{
MainMap.Manager.Mode = AccessMode.ServerAndCache;
MainMap.MapProvider = GMapProviders.BingHybridMap;
MainMap.SetPositionByKeywords("Landshut");
MainMap.MinZoom = 0;
MainMap.MaxZoom = 24;
MainMap.Zoom = 16;
MainMap.ShowCenter = true;
MainMap.ShowTileGridLines = false;
sliderMapZoom.Value = 16;
comboBoxMapType.ItemsSource = providerList;
comboBoxMapType.DisplayMemberPath = "Name";
comboBoxMapType.SelectedItem = MainMap.MapProvider;
 
// acccess mode
comboBoxMode.ItemsSource = Enum.GetValues(typeof(AccessMode));
comboBoxMode.SelectedItem = MainMap.Manager.Mode;
 
}
/// <summary>
/// selection of relevant map providers --> if You need more, You can change the line:
/// comboBoxMapType.ItemsSource = providerList;
/// to:
/// comboBoxMapType.ItemsSource = GMapProviders.List;
/// in _setupMap()
/// or add items here:
/// </summary>
List<GMap.NET.MapProviders.GMapProvider> providerList = new List<GMap.NET.MapProviders.GMapProvider>
{ GMap.NET.MapProviders.GMapProviders.OpenCycleMap, GMap.NET.MapProviders.GMapProviders.OpenCycleLandscapeMap, GMap.NET.MapProviders.GMapProviders.OpenCycleTransportMap,
GMap.NET.MapProviders.GMapProviders.BingMap,GMap.NET.MapProviders.GMapProviders.BingSatelliteMap,GMap.NET.MapProviders.GMapProviders.BingHybridMap,
GMap.NET.MapProviders.GMapProviders.GoogleMap,GMap.NET.MapProviders.GMapProviders.GoogleSatelliteMap,GMap.NET.MapProviders.GMapProviders.GoogleHybridMap,GMap.NET.MapProviders.GMapProviders.GoogleTerrainMap,
GMap.NET.MapProviders.GMapProviders.OviMap,GMap.NET.MapProviders.GMapProviders.OviSatelliteMap,GMap.NET.MapProviders.GMapProviders.OviHybridMap,GMap.NET.MapProviders.GMapProviders.OviTerrainMap};
 
private void MainMap_Loaded(object sender, RoutedEventArgs e)
{
MainMap.Manager.Mode = AccessMode.ServerAndCache;
copter = new GMapMarker(MainMap.Position);
copter.Shape = new CustomMarkerCopter(this, copter, MainMap.Position.Lat.ToString("0.#######°") + System.Environment.NewLine + MainMap.Position.Lng.ToString("0.#######°"));
copter.Offset = new System.Windows.Point(-18, -18);
copter.ZIndex = int.MaxValue;
MainMap.Markers.Add(copter);
copter.Position = MainMap.Position;
}
void setHomePos()
{
pHome = MainMap.Position;
if (!MainMap.Markers.Contains(home))
{
home = new GMapMarker(MainMap.Position);
home.Shape = new CustomMarkerHome(this, home, MainMap.Position.Lat.ToString("0.#######°") + System.Environment.NewLine + MainMap.Position.Lng.ToString("0.#######°"));
home.Offset = new System.Windows.Point(-18, -18);
// home.ZIndex = int.MaxValue;
MainMap.Markers.Add(home);
}
home.Position = MainMap.Position;
((CustomMarkerHome)(home.Shape)).setText(MainMap.Position.Lat.ToString("0.#######°") + System.Environment.NewLine + MainMap.Position.Lng.ToString("0.#######°"));
}
void clearHomePos()
{
MainMap.Markers.Remove(home);
}
 
// access mode
private void comboBoxMode_DropDownClosed(object sender, EventArgs e)
{
MainMap.Manager.Mode = (AccessMode)comboBoxMode.SelectedItem;
MainMap.ReloadMap();
}
// zoom up
private void czuZoomUp_Click(object sender, RoutedEventArgs e)
{
MainMap.Zoom = ((int)MainMap.Zoom) + 1;
}
 
// zoom down
private void czuZoomDown_Click(object sender, RoutedEventArgs e)
{
MainMap.Zoom = ((int)(MainMap.Zoom + 0.99)) - 1;
}
 
// prefetch
private void buttonPrefetch_Click(object sender, RoutedEventArgs e)
{
RectLatLng area = MainMap.SelectedArea;
if (!area.IsEmpty)
{
for (int i = (int)MainMap.Zoom; i <= MainMap.MaxZoom; i++)
{
MessageBoxResult res = MessageBox.Show("Ready ripp at Zoom = " + i + " ?", "GMap.NET", MessageBoxButton.YesNoCancel);
 
if (res == MessageBoxResult.Yes)
{
TilePrefetcher obj = new TilePrefetcher();
obj.Owner = this;
obj.ShowCompleteMessage = true;
obj.Start(area, i, MainMap.MapProvider, 100);
}
else if (res == MessageBoxResult.No)
{
continue;
}
else if (res == MessageBoxResult.Cancel)
{
break;
}
}
}
else
{
MessageBox.Show("Select map area holding ALT", "GMap.NET", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
 
// goto by geocoder
private void buttonGeoCoding_Click(object sender, RoutedEventArgs e)
{
_goto_byGeoCoder();
}
// goto by geocoder
private void textBoxGeo_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == System.Windows.Input.Key.Enter)
_goto_byGeoCoder();
}
void _goto_byGeoCoder()
{
GeoCoderStatusCode status = MainMap.SetPositionByKeywords(textBoxGeo.Text);
if (status != GeoCoderStatusCode.G_GEO_SUCCESS)
{
MessageBox.Show("Geocoder can't find: '" + textBoxGeo.Text + "', reason: " + status.ToString(), "GMap.NET", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
private void buttonGeoLoc_Click(object sender, RoutedEventArgs e)
{
try
{
double lat = double.Parse(textBoxLat.Text, System.Globalization.CultureInfo.InvariantCulture);
double lng = double.Parse(textBoxLng.Text, System.Globalization.CultureInfo.InvariantCulture);
 
MainMap.Position = new PointLatLng(lat, lng);
}
catch (Exception ex)
{
MessageBox.Show("incorrect coordinate format: " + ex.Message);
}
 
}
 
private void ReloadMap_Click(object sender, RoutedEventArgs e)
{
MainMap.ReloadMap();
}
 
private void MainMap_OnPositionChanged(PointLatLng point)
{
if (_bFollowCopter)
_setCopterData(MainMap.Position);
}
 
private void MainMap_OnMapZoomChanged()
{
if (_bFollowCopter)
_setCopterData(MainMap.Position);
if((int)sliderMapZoom.Value != MainMap.Zoom)
sliderMapZoom.Value = MainMap.Zoom;
}
 
void _setCopterData(PointLatLng p)
{
Dispatcher.Invoke(() =>
{
copter.Position = p;
((CustomMarkerCopter)(copter.Shape)).setText(p.Lat.ToString("0.#######°") + System.Environment.NewLine + p.Lng.ToString("0.#######°"));
textBoxLat_currentPos.Text = p.Lat.ToString() + "°";
textBoxLng_currentPos.Text = p.Lng.ToString() + "°";
});
if (home != null && MainMap.Markers.Contains(home))
{
Dispatcher.Invoke(() => ArtHor.rotateHome = GMapProviders.EmptyProvider.Projection.GetBearing(copter.Position, home.Position));
double d = GMapProviders.EmptyProvider.Projection.GetDistance(home.Position, copter.Position);
Dispatcher.Invoke(() => tbTopDistanceHP.Text = (d * 1000).ToString("0.0 m"));
}
}
 
private void checkBoxFollowCopter_Click(object sender, RoutedEventArgs e)
{
_bFollowCopter = (bool)checkBoxFollowCopter.IsChecked;
}
 
private void sliderMapZoom_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (MainMap.Zoom != sliderMapZoom.Value)
MainMap.Zoom = (int)sliderMapZoom.Value;
}
#region Touch zooming hackattack ;)
/// <summary>
/// inspired by http://www.codeproject.com/Articles/692286/WPF-and-multi-touch
/// </summary>
bool bFirstAccess = true;
double dDistance = 0;
int iZoom;
private void MainMap_StylusDown(object sender, StylusDownEventArgs e)
{
var id = e.StylusDevice.Id;
e.StylusDevice.Capture(MainMap);
if (iFirstStylusID == -1)
{
iFirstStylusID = id;
}
else
{
 
MainMap.CanDragMap = false;
}
}
private void MainMap_StylusUp(object sender, StylusEventArgs e)
{
MainMap.ReleaseStylusCapture();
iFirstStylusID = -1;
bFirstAccess = true;
MainMap.CanDragMap = true;
iZoom = 0;
}
private void MainMap_StylusMove(object sender, StylusEventArgs e)
{
var id = e.StylusDevice.Id;
var tp = e.GetPosition(MainMap);
 
// This is the first Stylus point; just record its position.
if (id == iFirstStylusID)
{
pTouch1.X = tp.X;
pTouch1.Y = tp.Y;
}
else
if (iFirstStylusID > -1)
{
pTouch2.X = tp.X;
pTouch2.Y = tp.Y;
double distance = Point.Subtract(pTouch1, pTouch2).Length;
if (!bFirstAccess)
{
if (distance > dDistance)
iZoom++;
else
if (distance < dDistance)
iZoom--;
}
if (iZoom > 30)
{
iZoom = 0;
Dispatcher.Invoke(() => sliderMapZoom.Value += 1);
}
if (iZoom < -30)
{
iZoom = 0;
Dispatcher.Invoke(() => sliderMapZoom.Value -= 1);
}
dDistance = distance;
bFirstAccess = false;
}
}
#endregion Touch zooming hackattack ;)
 
#endregion GMap
 
#region settings
private void cBoxTimingsDebug_DropDownClosed(object sender, EventArgs e)
{
if(! _bCBInit && cBoxTimingsDebug.SelectedIndex > -1)
debugInterval = (byte)(Convert.ToInt16(cBoxTimingsDebug.SelectedItem) / 10);
}
private void cBoxTimingsNav_DropDownClosed(object sender, EventArgs e)
{
if(! _bCBInit && cBoxTimingsNav.SelectedIndex > -1)
navctrlInterval = (byte)(Convert.ToInt16(cBoxTimingsNav.SelectedItem) / 10);
}
private void cBoxTimingsBl_DropDownClosed(object sender, EventArgs e)
{
if (!_bCBInit && cBoxTimingsBl.SelectedIndex > -1)
blctrlInterval = (byte)(Convert.ToInt16(cBoxTimingsBl.SelectedItem) / 10);
}
private void cBoxTimingsOSD_DropDownClosed(object sender, EventArgs e)
{
if (!_bCBInit && cBoxTimingsOSD.SelectedIndex > -1)
OSDInterval = (byte)(Convert.ToInt16(cBoxTimingsOSD.SelectedItem) / 10);
}
private void chkbAutoDbg_Click(object sender, RoutedEventArgs e)
{
if (!_init) _debugDataAutorefresh = (bool)chkbAutoDbg.IsChecked;
}
private void chkbAutoNav_Click(object sender, RoutedEventArgs e)
{
if (!_init) _navCtrlDataAutorefresh = (bool)chkbAutoNav.IsChecked;
}
private void chkbAutoBL_Click(object sender, RoutedEventArgs e)
{
if (!_init) _blctrlDataAutorefresh = (bool)chkbAutoBL.IsChecked;
}
private void chkbAutoOSD_Click(object sender, RoutedEventArgs e)
{
if (!_init) _OSDAutorefresh = (bool)chkbAutoOSD.IsChecked;
}
 
private void cBoxLiPoCells_DropDownClosed(object sender, EventArgs e)
{
if (cBoxLiPoCells.SelectedIndex > -1)
{
_LipoCells = cBoxLiPoCells.SelectedIndex + 3;
_LipoMinMax();
}
}
void _LipoMinMax()
{
_dLipoVMax = (double)(_LipoCells) * 4.22;
_dLipoVMin = (double)_LipoCells * 3;
pbTopVoltage.Maximum = _dLipoVMax;
pbTopVoltage.Minimum = _dLipoVMin;
sliderThresholdVoltageWarn.Maximum = _dLipoVMax;
sliderThresholdVoltageWarn.Minimum = _dLipoVMin;
}
private void cBoxMotors_DropDownClosed(object sender, EventArgs e)
{
if (cBoxMotors.SelectedIndex > -1)
{
_iMotors = cBoxMotors.SelectedIndex + 3;
Dispatcher.Invoke(() =>
{
dgvMotors1.Height = (272 / 12.6) * (_iMotors + 1); //272 / 12.6 --> Workaround, cause the headerheight = NaN...?
GridMotors.Height = dgvMotors1.Height + 10;
});
}
}
void _setMotorGridSize()
{
if (dgvMotors1.Columns.Count > 2)
{
dgvMotors1.Columns[0].Width = 24;
dgvMotors1.Columns[1].Width = 50;
dgvMotors1.Columns[2].Width = 50;
dgvMotors1.Height = (272 / 12.6) * (_iMotors + 1);
GridMotors.Height = dgvMotors1.Height + 10;
}
 
}
#endregion settings
 
#region functions
 
#region logging
/// <summary> Log data to the terminal window. </summary>
/// <param name="msgtype"> The type of message to be written. </param>
/// <param name="msg"> The string containing the message to be shown. </param>
private void Log(LogMsgType msgtype, string msg)
{
Dispatcher.Invoke(() =>
{
// rtfTerminal.CaretPosition = rtfTerminal.CaretPosition.DocumentEnd;
// rtfTerminal.Foreground = new SolidColorBrush(LogMsgTypeColor[(int)msgtype]);
// rtfTerminal.AppendText(msg + "\r");
TextRange tr = new TextRange(rtfTerminal.Document.ContentEnd,rtfTerminal.Document.ContentEnd);
tr.Text = msg;
tr.ApplyPropertyValue(TextElement.ForegroundProperty, new SolidColorBrush(LogMsgTypeColor[(int)msgtype]));
rtfTerminal.AppendText("\r");
rtfTerminal.ScrollToEnd();
});
}
private void ErrorLog(LogMsgType msgtype, string msg)
{
Dispatcher.Invoke(() =>
{
TextRange tr = new TextRange(rtfError.Document.ContentEnd, rtfError.Document.ContentEnd);
tr.Text = msg;
tr.ApplyPropertyValue(TextElement.ForegroundProperty, new SolidColorBrush(LogMsgTypeColor[(int)msgtype]));
rtfError.AppendText("\r");
rtfError.ScrollToEnd();
 
_bErrorLog = true;
});
}
/// <summary>
/// Clear the line in the errorlog window
/// containing the error string when error has ceased
/// </summary>
/// <param name="s">substring of errrormessage</param>
void _clearErrorLog(string s)
{
Dispatcher.Invoke((Action)(() =>
{
TextRange searchRange = new TextRange(rtfError.Document.ContentStart, rtfError.Document.ContentEnd);
TextRange foundRange = FindTextInRange(searchRange, s);
 
int iStart = searchRange.Text.IndexOf(s, StringComparison.OrdinalIgnoreCase);
 
 
if (iStart > -1)
{
int iLength = 0;
int iEnd = searchRange.Text.IndexOf('\r', iStart);
if (iEnd > 0)
{
iLength = iEnd + 1;
int iHttp = searchRange.Text.IndexOf("http", iEnd);
if (iHttp == iLength)
{
int iEnd2 = searchRange.Text.IndexOf('\r', iLength);
if (iEnd2 > iLength)
{
iLength = iEnd2 + 1;
// TextRange result = new TextRange(rtfError.Document.ContentStart.GetPositionAtOffset(iStart), GetTextPositionAtOffset(rtfError.Document.ContentStart.GetPositionAtOffset(iStart), iLength));
 
rtfError.Selection.Select(rtfError.Document.ContentStart.GetPositionAtOffset(iStart), GetTextPositionAtOffset(rtfError.Document.ContentStart.GetPositionAtOffset(iStart), iLength));
rtfError.Selection.Text = string.Empty;
if (rtfError.Document.ContentEnd.GetTextRunLength(LogicalDirection.Backward) < 2) _bErrorLog = false;
}
 
}
else
{
rtfError.Selection.Select(rtfError.Document.ContentStart.GetPositionAtOffset(iStart), GetTextPositionAtOffset(rtfError.Document.ContentStart.GetPositionAtOffset(iStart), iLength));
rtfError.Selection.Text = string.Empty;
if (rtfError.Document.ContentEnd.GetTextRunLength(LogicalDirection.Backward) < 2) _bErrorLog = false;
}
}
}
}));
 
}
public TextRange FindTextInRange(TextRange searchRange, string searchText)
{
int offset = searchRange.Text.IndexOf(searchText, StringComparison.OrdinalIgnoreCase);
if (offset < 0)
return null; // Not found
 
var start = GetTextPositionAtOffset(searchRange.Start, offset);
TextRange result = new TextRange(start, GetTextPositionAtOffset(start, searchText.Length));
 
return result;
}
TextPointer GetTextPositionAtOffset(TextPointer position, int characterCount)
{
while (position != null)
{
if (position.GetPointerContext(LogicalDirection.Forward) == TextPointerContext.Text)
{
int count = position.GetTextRunLength(LogicalDirection.Forward);
if (characterCount <= count)
{
return position.GetPositionAtOffset(characterCount);
}
 
characterCount -= count;
}
 
TextPointer nextContextPosition = position.GetNextContextPosition(LogicalDirection.Forward);
if (nextContextPosition == null)
return position;
 
position = nextContextPosition;
}
 
return position;
}
#endregion logging
 
#region processing received data
 
private void processMessage(byte[] message)
{
if (message.Length > 0)
{
_iLifeCounter++;
//Log(LogMsgType.Incoming, BitConverter.ToString(message));
//Log(LogMsgType.Incoming, message.Length.ToString());
string s = new string(ASCIIEncoding.ASCII.GetChars(message, 0, message.Length));
char cmdID;
byte adr;
byte[] data;
byte[] tmp = null;
if (message[0] != '#')
{
int iFound = -1;
for (int i = 0; i < message.Length; i++) //Sometimes the FC/NC sends strings without termination (like WP messages)
{ //so this is a workaround to not spam the log box
if (message[i] == 35)
{
iFound = i;
break;
}
}
if (iFound > 0)
{
s = new string(ASCIIEncoding.ASCII.GetChars(message, 0, iFound));
tmp = new byte[message.Length - iFound];
Buffer.BlockCopy(message, iFound, tmp, 0, message.Length - iFound);
}
s = s.Trim('\0', '\n', '\r');
if (s.Length > 0)
Log(LogMsgType.Normal, s);
if (tmp != null)
{
s = new string(ASCIIEncoding.ASCII.GetChars(tmp, 0, tmp.Length));
processMessage(tmp);
}
}
//Debug.Print(s);
else
{
FlightControllerMessage.ParseMessage(message, out cmdID, out adr, out data);
 
if (adr == 255) { crcError++; }
else crcError = 0;
Dispatcher.Invoke(() => tbCrc.Text = crcError.ToString());
//display the active controller (FC / NC)
if (adr > 0 && adr < 3 && adr != _iCtrlAct) //adr < 3: temporary workaround cause when I've connected the FC alone it always switches between mk3mag & FC every second...???
{
_iCtrlAct = adr;
switch (adr)
{
case 1:
Dispatcher.Invoke(() => tbCtrl.Text = "FC");
//Dispatcher.Invoke(() => buttonSwitchNC.Visibility = Visibility.Visible);
//Dispatcher.Invoke(() => labelSwitchToNavi.Visibility = Visibility.Visible);
// _setFieldsNA(); //display fields NA for FC
break;
case 2:
Dispatcher.Invoke(() => tbCtrl.Text = "NC");
//Dispatcher.Invoke(() => buttonSwitchNC.Visibility = Visibility.Hidden);
//Dispatcher.Invoke(() => labelSwitchToNavi.Visibility = Visibility.Hidden);
break;
//case 3:
// lblCtrl.Invoke((Action)(() => lblCtrl.Text = "MK3MAG"));
// break;
//case 4:
// lblCtrl.Invoke((Action)(() => lblCtrl.Text = "BL-CTRL"));
// break;
default:
Dispatcher.Invoke(() => tbCtrl.Text = "NA");
break;
}
// _loadLabelNames();
}
// else
// Debug.Print("Address == 0?");
 
if (data != null && data.Length > 0)
{
s = new string(ASCIIEncoding.ASCII.GetChars(data, 1, data.Length - 1));
s = s.Trim('\0', '\n');
 
switch (cmdID)
{
//case 'A': //Label names
// _processLabelNames(s);
// break;
 
case 'D': //Debug data
_processDebugVals(adr, data);
break;
 
case 'V': //Version
_processVersion(adr, data);
break;
 
case 'K'://BL-CTRL data
_processBLCtrl(data);
break;
 
case 'O': //NC Data
_processNCData(data);
break;
 
case 'E': //NC error-string
ErrorLog(LogMsgType.Error, "NC Error: " + s);
break;
 
case 'L': //OSD Menue (called by pagenumber)
_processOSDSingle(data);
break;
 
case 'H': //OSD Menue (with autoupdate - called by Key)
_processOSDAuto(data);
break;
 
case 'X': //Waypoint data
_processWPData(data);
break;
 
//default:
// Log(LogMsgType.Incoming, "cmd: " + cmdID.ToString());
// Log(LogMsgType.Incoming, BitConverter.ToString(data));
// break;
}
}
//else
//{
// Log(LogMsgType.Incoming, "cmd: " + cmdID.ToString());
// Log(LogMsgType.Incoming, BitConverter.ToString(data));
//}
}
}
}
/// <summary>
/// Analog label names 'A'
/// each label name is returned as a single string
/// and added to string array sAnalogLabel[]
/// and the datatable dtAnalog
/// </summary>
/// <param name="s">the label name</param>
void _processLabelNames(string s)
{
//if (iLableIndex < 32)
//{
// sAnalogLabel[iLableIndex] = s;
// if (dtAnalog.Rows.Count < 32)
// dtAnalog.Rows.Add(s, "");
// else
// dtAnalog.Rows[iLableIndex].SetField(0, s);
 
// // _getAnalogLabels(iLableIndex + 1);
//}
//Debug.Print(s);
}
/// <summary>
/// Debug values 'D'
/// </summary>
/// <param name="adr">adress of the active controller (1-FC, 2-NC)</param>
/// <param name="data">the received byte array to process</param>
void _processDebugVals(byte adr, byte[] data)
{
if (data.Length == 66)
{
int[] iAnalogData = new int[32];
double v;
int index = 0;
Int16 i16 = 0;
double dTemp = 0;
for (int i = 2; i < 66; i += 2)
{
i16 = data[i + 1];
i16 = (Int16)(i16 << 8);
iAnalogData[index] = data[i] + i16;
sAnalogData[index] = (data[i] + i16).ToString();
// dtAnalog.Rows[index].SetField(1, sAnalogData[index]);
 
if (adr == 2) //NC
{
switch (index)
{
case 0: //pitch (German: nick)
Dispatcher.Invoke(() => ArtHor.Pitch = ((double)iAnalogData[index] / (double)10));
Dispatcher.Invoke((Action)(() => tbPitch.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0°")));
break;
case 1: //roll
Dispatcher.Invoke(() => ArtHor.Roll = ((double)iAnalogData[index] / (double)10));
Dispatcher.Invoke((Action)(() => tbRoll.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0°")));
break;
case 4: //altitude
Dispatcher.Invoke(() => tbAlt.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 m"));
Dispatcher.Invoke(() => tbTopHeight.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 m"));
break;
case 7: //Voltage
v = (double)iAnalogData[index] / (double)10;
Dispatcher.Invoke(() => tbVolt.Text = v.ToString("0.0 V"));
Dispatcher.Invoke(() => tbTopVoltage.Text = v.ToString("0.0 V"));
Dispatcher.Invoke(() => pbTopVoltage.Value = v);
if (v - _dLipoVMin < 1 | v < _dThresholdVoltageWarn)
{
if (v == _dVoltLast)
if(_iVoltJitter < 20) _iVoltJitter++;
else
{
_iVoltJitter = 0;
_dVoltLast = v;
}
if (_iVoltJitter == 20)
{
Dispatcher.Invoke(() => pbTopVoltage.Foreground = Brushes.Orange);
 
if (v - _dLipoVMin < 1 | v < _dThresholdVoltageCrit)
{
Dispatcher.Invoke(() => pbTopVoltage.Foreground = Brushes.Red);
if (stbVoltageCritAnim != null && !_bCritAnimVoltActive)
{
Dispatcher.Invoke(() => stbVoltageCritAnim.Begin());
_bCritAnimVoltActive = true;
}
if (_bVoiceVoltPlay && !_bCritVoiceVoltActive)
{
if (File.Exists("Voice\\CriticalBattery.mp3"))
{
 
MediaPlayer.MediaPlayer mp = new MediaPlayer.MediaPlayer();
mp.Open("Voice\\CriticalBattery.mp3");
mp.Play();
}
_bCritVoiceVoltActive = true;
}
}
else
{
if (stbVoltageCritAnim != null && _bCritAnimVoltActive)
{
Dispatcher.Invoke(() => stbVoltageCritAnim.Stop());
_bCritAnimVoltActive = false;
}
_bCritVoiceVoltActive = false;
 
if (_bVoiceVoltPlay && !_bCWarnVoiceVoltActive)
{
if (File.Exists("Voice\\LowBattery.mp3"))
{
 
MediaPlayer.MediaPlayer mp = new MediaPlayer.MediaPlayer();
mp.Open("Voice\\LowBattery.mp3");
mp.Play();
}
_bCWarnVoiceVoltActive = true;
}
}
}
}
else
{
Dispatcher.Invoke(() => pbTopVoltage.Foreground = new SolidColorBrush(Color.FromArgb(255, 107, 195, 123)));
if (stbVoltageCritAnim != null && _bCritAnimVoltActive)
{
Dispatcher.Invoke(() => stbVoltageCritAnim.Stop());
_bCritAnimVoltActive = false;
}
_bCritVoiceVoltActive = false;
_bCWarnVoiceVoltActive = false;
_iVoltJitter = 0;
}
break;
case 8: // Current
Dispatcher.Invoke(() => tbCur.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 A"));
Dispatcher.Invoke(() => tbTopCurrent.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 A"));
break;
case 10: //heading
Dispatcher.Invoke((Action)(() => tbHeading.Text = sAnalogData[index] + "°"));
Dispatcher.Invoke(() => ArtHor.rotate = iAnalogData[index]);
break;
case 12: // SPI error
Dispatcher.Invoke((Action)(() => tbSPI.Text = sAnalogData[index]));
break;
case 14: //i2c error
Dispatcher.Invoke((Action)(() => tbI2C.Text = sAnalogData[index]));
break;
case 20: //Earthmagnet field
Dispatcher.Invoke((Action)(() => tbMagF.Text = sAnalogData[index] + "%"));
Dispatcher.Invoke((Action)(() => tbTopEarthMag.Text = sAnalogData[index] + "%"));
if(iAnalogData[index] > 115 | iAnalogData[index] < 85)
Dispatcher.Invoke(() => imageEarthMag.Source = new BitmapImage(new Uri("Images/EarthMag_R.png", UriKind.Relative)));
else
Dispatcher.Invoke(() => imageEarthMag.Source = new BitmapImage(new Uri("Images/EarthMag.png", UriKind.Relative)));
break;
case 21: //GroundSpeed
Dispatcher.Invoke((Action)(() => tbSpeed.Text = ((double)iAnalogData[index] / (double)100).ToString("0.00 m/s")));
Dispatcher.Invoke((Action)(() => tbTopSpeed.Text = ((double)iAnalogData[index] / (double)100).ToString("0.00 m/s")));
break;
case 28: //Distance East from saved home position -> calculate distance with distance N + height
dTemp = Math.Pow((double)iAnalogData[index], 2) + Math.Pow((double)iAnalogData[index - 1], 2);
dTemp = Math.Sqrt(dTemp) / (double)10; //'flat' distance from HP with N/E
// lblNCDist.Invoke((Action)(() => lblNCDist.Text = dTemp.ToString("0.00")));
dTemp = Math.Pow(dTemp, 2) + Math.Pow(((double)iAnalogData[4] / (double)10), 2); //adding 'height' into calculation
dTemp = Math.Sqrt(dTemp) / (double)10;
// Dispatcher.Invoke((Action)(() => tbTopDistanceHP.Text = dTemp.ToString("0.0 m")));
Dispatcher.Invoke((Action)(() => tbHP1.Text = dTemp.ToString("0.0 m")));
break;
case 31: //Sats used
Dispatcher.Invoke((Action)(() => tbSats.Text = sAnalogData[index]));
// Dispatcher.Invoke((Action)(() => tbTopSats.Text = sAnalogData[index]));
break;
}
}
//if (adr == 1) //FC
//{
// switch (index)
// {
// case 0: //pitch (German: nick)
// artificialHorizon1.Invoke((Action)(() => artificialHorizon1.pitch_angle = ((double)iAnalogData[index] / (double)10)));
// lblNCPitch.Invoke((Action)(() => lblNCPitch.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0°")));
// break;
// case 1: //roll
// artificialHorizon1.Invoke((Action)(() => artificialHorizon1.roll_angle = ((double)iAnalogData[index] / (double)10)));
// lblNCRoll.Invoke((Action)(() => lblNCRoll.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0°")));
// break;
// case 5: //altitude
// lblNCAlt.Invoke((Action)(() => lblNCAlt.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 m")));
// break;
// case 8: //heading
// lblNCCompass.Invoke((Action)(() => lblNCCompass.Text = sAnalogData[index] + "°"));
// headingIndicator1.Invoke((Action)(() => headingIndicator1.SetHeadingIndicatorParameters(iAnalogData[index])));
// break;
// case 9: //Voltage
// lblNCVolt.Invoke((Action)(() => lblNCVolt.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 V")));
// break;
// case 10: //Receiver quality
// lblNCRC.Invoke((Action)(() => lblNCRC.Text = sAnalogData[index]));
// break;
// case 22: // Current
// lblNCCur.Invoke((Action)(() => lblNCCur.Text = ((double)iAnalogData[index] / (double)10).ToString("0.0 A")));
// break;
// case 23: //capacity used
// lblNCCap.Invoke((Action)(() => lblNCCap.Text = (iAnalogData[index]).ToString("0 mAh")));
// break;
// case 27: // SPI error
// lblNCSPI.Invoke((Action)(() => lblNCSPI.Text = sAnalogData[index]));
// break;
// case 28: //i2c error
// lblNCI2C.Invoke((Action)(() => lblNCI2C.Text = sAnalogData[index]));
// break;
// }
//}
index++;
}
}
else
Debug.Print("wrong data-length (66): " + data.Length.ToString());
}
/// <summary>
/// Version string 'V'
/// </summary>
/// <param name="adr">adress of the active controller (1-FC, 2-NC)</param>
/// <param name="data">the received byte array to process</param>
void _processVersion(byte adr, byte[] data)
{
if (data.Length == 12)
{
if (!check_HWError)
{
string[] sVersionStruct = new string[10] { "SWMajor: ", "SWMinor: ", "ProtoMajor: ", "LabelTextCRC: ", "SWPatch: ", "HardwareError 1: ", "HardwareError 2: ", "HWMajor: ", "BL_Firmware: ", "Flags: " };
string sVersion = "";
//sbyte[] signed = Array.ConvertAll(data, b => unchecked((sbyte)b));
Log(LogMsgType.Warning, (adr == 1 ? "FC-" : "NC-") + "Version: ");
sVersion = "HW V" + (data[7] / 10).ToString() + "." + (data[7] % 10).ToString();
Log(LogMsgType.Incoming, sVersion);
sVersion = "SW V" + (data[0]).ToString() + "." + (data[1]).ToString() + ((char)(data[4] + 'a')).ToString();
Log(LogMsgType.Incoming, sVersion);
Log(LogMsgType.Incoming, "BL-Firmware: V" + (data[8] / 100).ToString() + "." + (data[8] % 100).ToString());
}
if (data[5] > 0) //error0
{
if (adr == 1)
ErrorLog(LogMsgType.Error, "FC - HW-Error " + data[5].ToString() + ": " + ((FC_HWError0)data[5]).ToString());
if (adr == 2)
ErrorLog(LogMsgType.Error, "NC - HW-Error " + data[5].ToString() + ": " + ((NC_HWError0)data[5]).ToString());
}
if (data[6] > 0) //error1
{
if (adr == 1)
ErrorLog(LogMsgType.Error, "FC - HW-Error " + data[6].ToString() + ": " + ((FC_HWError1)data[6]).ToString());
if (adr == 2)
ErrorLog(LogMsgType.Error, "NC - Unknown HW-ERROR: " + data[6].ToString()); //@moment NC has only one error field
}
if ((data[5] + data[6] == 0) && _bErrorLog)
_clearErrorLog(adr == 1 ? "FC - HW-Error" : "NC - HW-Error");
 
}
check_HWError = false;
}
/// <summary>
/// BL-Ctrl data 'K'
/// for FC you have to use a customized firmware
/// </summary>
/// <param name="data">the received byte array to process</param>
void _processBLCtrl(byte[] data)
{
if (data.Length % 6 == 0) //data.Length up to 96 (16 motors x 6 byte data) --> new datastruct in FC -> not standard!
{
bool bAvailable = false;
for (int i = 0; i < data.Length && data[i] < _iMotors; i += 6) // data[i] < _iMotors -- only show set number of motors (12 max @ moment)
{
 
if ((data[i + 4] & 128) == 128) //Status bit at pos 7 = 128 dec -- if true, motor is available
bAvailable = true;
else
bAvailable = false;
 
if (data[i] < _iMotors)
{
if (bAvailable)
{
dtMotors1.Rows[data[i]].SetField(1, ((double)data[i + 1] / (double)10).ToString("0.0 A"));
dtMotors1.Rows[data[i]].SetField(2, data[i + 2].ToString("0 °C"));
}
else
{
dtMotors1.Rows[data[i]].SetField(1, "NA");
dtMotors1.Rows[data[i]].SetField(2, "NA");
}
}
//if (data[i] > 3 && data[i] < 8)
//{
// if (bAvailable)
// {
// dtMotors2.Rows[data[i] - 4].SetField(1, ((double)data[i + 1] / (double)10).ToString("0.0 A"));
// dtMotors2.Rows[data[i] - 4].SetField(2, data[i + 2].ToString("0 °C"));
// }
// else
// {
// dtMotors2.Rows[data[i] - 4].SetField(1, "NA");
// dtMotors2.Rows[data[i] - 4].SetField(2, "NA");
// }
//}
}
}
}
/// <summary>
/// Navi-Ctrl data 'O'
/// GPS-Position, capacatiy, flying time...
/// </summary>
/// <param name="data">the received byte array to process</param>
void _processNCData(byte[] data)
{
int i_32, i_16, iVal;
double d;
i_32 = data[4];
iVal = i_32 << 24;
i_32 = data[3];
iVal += i_32 << 16;
i_32 = data[2];
iVal += i_32 << 8;
iVal += data[1];
d = (double)iVal / Math.Pow(10, 7);
PointLatLng p = new PointLatLng();
 
p.Lng = d;
// lblNCGPSLong.Invoke((Action)(() => lblNCGPSLong.Text = d.ToString("0.######°"))); //GPS-Position: Longitude in decimal degree
//lblNCGPSLong.Invoke((Action)(() => lblNCGPSLong.Text = _convertDegree(d))); //GPS-Position: Longitude in minutes, seconds
 
i_32 = data[8];
iVal = i_32 << 24;
i_32 = data[7];
iVal += i_32 << 16;
i_32 = data[6];
iVal += i_32 << 8;
iVal += data[5];
d = (double)iVal / Math.Pow(10, 7);
p.Lat = d;
 
if (!_bFollowCopter && data[50] > 4) //if more than 4 sats in use . otherwise the map would jump and scroll insane
{
_setCopterData(p);
if(!MainMap.ViewArea.Contains(p))
Dispatcher.Invoke(() => MainMap.Position = p);
 
}
else
if(data[50] > 4) //if more than 4 sats in use . otherwise the map would jump and scroll insane
Dispatcher.Invoke(() => MainMap.Position = p);
 
 
// lblNCGPSLat.Invoke((Action)(() => lblNCGPSLat.Text = d.ToString("0.######°"))); //GPS-Position: Latitude in decimal degree
//lblNCGPSLat.Invoke((Action)(() => lblNCGPSLat.Text = _convertDegree(d))); //GPS-Position: Latitude in minutes, seconds
 
i_16 = data[28];
i_16 = (Int16)(i_16 << 8);
iVal = data[27] + i_16;
Dispatcher.Invoke((Action)(() => tbWP.Text = ((double)iVal / (double)10).ToString("0.0 m"))); //Distance to next WP
 
i_16 = data[45];
i_16 = (Int16)(i_16 << 8);
iVal = data[44] + i_16;
// Dispatcher.Invoke((Action)(() => tbTopDistanceHP.Text = ((double)iVal / (double)10).ToString("0.0 m"))); //Distance to HP set by GPS on
Dispatcher.Invoke((Action)(() => tbHP.Text = ((double)iVal / (double)10).ToString("0.0 m"))); //Distance to HP set by GPS on
 
Dispatcher.Invoke((Action)(() => tbWPIndex.Text = data[48].ToString())); //Waypoint index
Dispatcher.Invoke((Action)(() => tbWPCount.Text = data[49].ToString())); //Waypoints count
Dispatcher.Invoke((Action)(() => tbTopSats.Text = data[50].ToString())); //Satellites
 
 
//--------------- Capacity used ------------------------
i_16 = data[81];
i_16 = (Int16)(i_16 << 8);
iVal = data[80] + i_16;
Dispatcher.Invoke((Action)(() => tbCapacity.Text = iVal.ToString() + " mAh"));
Dispatcher.Invoke((Action)(() => tbTopCapacity.Text = iVal.ToString() + " mAh"));
 
//--------------- Flying time ------------------------
i_16 = data[56];
i_16 = (Int16)(i_16 << 8);
iVal = data[55] + i_16;
TimeSpan t = TimeSpan.FromSeconds(iVal);
string Text = t.Hours.ToString("D2") + ":" + t.Minutes.ToString("D2") + ":" + t.Seconds.ToString("D2");
Dispatcher.Invoke((Action)(() => tbFTime.Text = Text.ToString()));
Dispatcher.Invoke((Action)(() => tbTopFTime.Text = Text.ToString()));
 
//--------------- RC quality ------------------------
Dispatcher.Invoke((Action)(() => tbRCQ.Text = data[66].ToString()));
Dispatcher.Invoke((Action)(() => tbTopRC.Text = data[66].ToString()));
 
 
//--------------- NC Error ------------------------
Dispatcher.Invoke((Action)(() => tbNCErr.Text = data[69].ToString())); //NC Errornumber
if (data[69] > 0)
_readNCError();
if (data[69] > 0 & data[69] < 44)
ErrorLog(LogMsgType.Error, "NC Error [" + data[69].ToString() + "]: " + NC_Error[data[69]]);
else
if (_bErrorLog) _clearErrorLog("NC Error");
 
}
/// <summary>
/// Navi-Ctrl WP data struct 'X'
/// called by index
/// </summary>
/// <param name="data">the received byte array to process</param>
void _processWPData(byte[] data)
{
_iWP = data[0];
_bGetWPCount = false;
if (data.Length >= 28)
{
//int count = data[0];
//int index = data[1];
//cbWPIndex.Invoke((Action)(() => cbWPIndex.Items.Clear()));
//for (int i = 0; i < count; i++)
// cbWPIndex.Invoke((Action)(() => cbWPIndex.Items.Add(i + 1)));
//cbWPIndex.Invoke((Action)(() => cbWPIndex.SelectedItem = index));
Dispatcher.Invoke(() => lblWPIndex.Content = data[1].ToString());
Dispatcher.Invoke(() => lblWPCount.Content = data[0].ToString());
if (_bGetWP)
{
if (data[1] == 1)
dtWaypoints.Rows.Clear();
DataRow dr = dtWaypoints.NewRow();
dr = Waypoints.toDataRow(data, dr);
//if (dtWaypoints.Rows.Contains(data[1]))
//{
// dtWaypoints.Rows.Find(data[1]).Delete();
// dtWaypoints.Rows.InsertAt(dr, data[1] - 1);
//}
//else
dtWaypoints.Rows.Add(dr);
 
if (data[1] == data[0])
{
_bGetWP = false;
Dispatcher.Invoke(() => dgvWP.Items.Refresh());
}
 
}
}
else
{
Dispatcher.Invoke(() => lblWPIndex.Content = 0);
Dispatcher.Invoke(() => lblWPCount.Content = 0);
// Debug.Print(new string(ASCIIEncoding.ASCII.GetChars(data, 0, data.Length)));
}
}
/// <summary>
/// OSD Menue 'L'
/// single page called by pagenumber
/// no autoupdate
/// </summary>
/// <param name="data">the received byte array to process</param>
void _processOSDSingle(byte[] data)
{
if (data.Length == 84)
{
string sMessage = "";
iOSDPage = data[0];
iOSDMax = data[1];
if (cbOSD.Items.Count != iOSDMax) _initOSDCB();
sMessage = new string(ASCIIEncoding.ASCII.GetChars(data, 2, data.Length - 4));
OSD(LogMsgType.Incoming, sMessage.Substring(0, 20)+ "\r", true);
OSD(LogMsgType.Incoming, sMessage.Substring(20, 20)+ "\r", false);
OSD(LogMsgType.Incoming, sMessage.Substring(40, 20)+ "\r", false);
OSD(LogMsgType.Incoming, sMessage.Substring(60, 20), false);
Dispatcher.Invoke(() => { cbOSD.SelectedValue = iOSDPage; });
// lblOSDPageNr.Invoke((Action)(() => lblOSDPageNr.Text = iOSDPage.ToString("[0]")));
 
}
//else
// OSD(LogMsgType.Incoming, "Wrong length: " + data.Length + " (should be 84)");
 
}
/// <summary>
/// OSD Menue 'H'
/// called by keys (0x01,0x02,0x03,0x04)
/// autoupdate
/// </summary>
/// <param name="data">the received byte array to process</param>
void _processOSDAuto(byte[] data)
{
if (data.Length == 81)
{
string sMessage = "";
sMessage = new string(ASCIIEncoding.ASCII.GetChars(data, 0, data.Length - 1));
OSD(LogMsgType.Incoming, sMessage.Substring(0, 20)+ "\r", true);
OSD(LogMsgType.Incoming, sMessage.Substring(20, 20)+ "\r", false);
OSD(LogMsgType.Incoming, sMessage.Substring(40, 20)+ "\r", false);
OSD(LogMsgType.Incoming, sMessage.Substring(60, 20), false);
 
}
//else
// OSD(LogMsgType.Incoming, "Wrong length: " + data.Length + " (should be 81)");
}
 
#endregion processing received data
#region controller messages
/// <summary> send message to controller to request data
/// for detailed info see http://wiki.mikrokopter.de/en/SerialProtocol/
/// </summary>
/// <param name="CMDID"> the command ID </param>
/// <param name="address"> the address of the controller: 0-any, 1-FC, 2-NC </param>
private void _sendControllerMessage(char CMDID, byte address)
{
if (serialPortCtrl.Port.IsOpen)
{
Stream serialStream = serialPortCtrl.Port.BaseStream;
byte[] bytes = FlightControllerMessage.CreateMessage(CMDID, address);
serialStream.Write(bytes, 0, bytes.Length);
 
}
else
Log(LogMsgType.Error, "NOT CONNECTED!");
}
/// <summary> send message to controller to request data
/// for detailed info see http://wiki.mikrokopter.de/en/SerialProtocol/
/// </summary>
/// <param name="CMDID"> the command ID </param>
/// <param name="address"> the address of the controller: 0-any, 1-FC, 2-NC </param>
/// <param name="data"> additional data for the request</param>
private void _sendControllerMessage(char CMDID, byte address, byte[] data)
{
if (serialPortCtrl.Port.IsOpen)
{
Stream serialStream = serialPortCtrl.Port.BaseStream;
byte[] bytes = FlightControllerMessage.CreateMessage(CMDID, address, data);
serialStream.Write(bytes, 0, bytes.Length);
 
}
else
Log(LogMsgType.Error, "NOT CONNECTED!");
}
 
/// <summary>
/// start/stop continous polling of controller values
/// </summary>
/// <param name="b">start/stop switch</param>
void _readCont(bool b)
{
bReadContinously = b;
if (bReadContinously)
{
if (_debugDataAutorefresh) { _readDebugData(true); Thread.Sleep(10); }
if (_blctrlDataAutorefresh) { _readBLCtrl(true); Thread.Sleep(10); }
if (_navCtrlDataAutorefresh && _iCtrlAct == 2) { _readNavData(true); Thread.Sleep(10); }
if (_OSDAutorefresh) { _OSDMenueAutoRefresh(); Thread.Sleep(10); }
// Dispatcher.Invoke((Action)(() => rctConnection.Fill = Brushes.LightGreen));
Dispatcher.Invoke(() => imageConn.Source = new BitmapImage(new Uri("Images/Data_G.png", UriKind.Relative)));
}
else
{
// Dispatcher.Invoke((Action)(() => rctConnection.Fill = Brushes.LightGray));
Dispatcher.Invoke(() => imageConn.Source = new BitmapImage(new Uri("Images/Data_W.png", UriKind.Relative)));
_bConnErr = false;
}
_iLifeCounter = 0;
}
 
private void _getVersion()
{
_sendControllerMessage('v', 0);
}
/// <summary>
/// get FC version struct via NC
/// by sending '1' as data (not documented in wiki...)
/// returns HW error 255 (comment in uart1.c : tells the KopterTool that it is the FC-version)
/// </summary>
/// <param name="ctrl">controller number 1=FC</param>
private void _getVersion(byte ctrl)
{
_sendControllerMessage('v', 0, new byte[1] { ctrl });
}
/// <summary>
/// Switch back to NC by sending the 'Magic Packet' 0x1B,0x1B,0x55,0xAA,0x00
/// </summary>
private void _switchToNC()
{
if (serialPortCtrl.Port.IsOpen)
{
Stream serialStream = serialPortCtrl.Port.BaseStream;
byte[] bytes = new byte[5] { 0x1B, 0x1B, 0x55, 0xAA, 0x00 };
serialStream.Write(bytes, 0, bytes.Length);
 
Thread.Sleep(100);
_getVersion();
Thread.Sleep(100);
// _OSDMenue(0);
}
else
Log(LogMsgType.Error, "NOT CONNECTED!");
}
/// <summary>
/// switch to FC
/// </summary>
private void _switchToFC()
{
_sendControllerMessage('u', 2, new byte[1] { (byte)0 });
Thread.Sleep(100);
_getVersion();
Thread.Sleep(100);
// _OSDMenue(0);
}
/// <summary>
/// send RESET signal to FC
/// </summary>
private void _resetCtrl()
{
_sendControllerMessage('R', 1);
}
/// <summary>
/// poll the debug data (4sec subscription)
/// </summary>
/// <param name="auto"> onetimequery(false) or autoupdate(true) with set timing interval </param>
private void _readDebugData(bool auto)
{
byte interval = auto ? debugInterval : (byte)0;
_sendControllerMessage('d', 0, new byte[1] { debugInterval });
}
/// <summary>
/// poll the BL-CTRL status via NC (4sec subscription)
/// </summary>
/// <param name="auto"> onetimequery(false) or autoupdate(true) with set timing interval </param>
private void _readBLCtrl(bool auto)
{
byte interval = auto ? blctrlInterval : (byte)0;
_sendControllerMessage('k', 0, new byte[1] { interval });
}
/// <summary>
/// poll the NC data struct (4sec subscription)
/// </summary>
/// <param name="auto"> onetimequery(false) or autoupdate(true) with set timing interval </param>
private void _readNavData(bool auto)
{
byte interval = auto ? navctrlInterval : (byte)0;
_sendControllerMessage('o', 2, new byte[1] { interval });
}
/// <summary>
/// get the errortext for pending NC error
/// </summary>
private void _readNCError()
{
_sendControllerMessage('e', 2);
}
/// <summary>
/// request the Waypoint at index
/// </summary>
/// <param name="index"></param>
void _getpWP(int index)
{
if (serialPortCtrl.Port.IsOpen)
{
Stream serialStream = serialPortCtrl.Port.BaseStream;
byte[] bytes = FlightControllerMessage.CreateMessage('x', 2, new byte[1] { (byte)index });
serialStream.Write(bytes, 0, bytes.Length);
}
else
Log(LogMsgType.Error, "NOT CONNECTED!");
 
}
void _getWP()
{
//if (_iWP > 0)
//{
// _getWPList();
//}
//else
//{
// if (_iWP == -1)
// {
_bGetWPCount = true;
_getpWP(1);
while (_bGetWPCount)
Thread.Sleep(100);
if (_iWP > 0)
_getWPList();
// }
//}
}
void _getWPList()
{
_bGetWP = true;
for (int j = 0; j < _iWP; j++)
{
_getpWP(j + 1);
Thread.Sleep(10);
}
}
 
 
#region OSD-Menue
 
/// <summary>
/// one time query of the OSD Menue with pagenumber
/// </summary>
/// <param name="iMenue">Menue page</param>
void _OSDMenue(int iMenue)
{
if (serialPortCtrl.Port.IsOpen)
{
if (iMenue > iOSDMax)
iMenue = 0;
Stream serialStream = serialPortCtrl.Port.BaseStream;
byte[] bytes = FlightControllerMessage.CreateMessage('l', 0, new byte[1] { (byte)iMenue });
serialStream.Write(bytes, 0, bytes.Length);
}
else
Log(LogMsgType.Error, "NOT CONNECTED!");
 
}
/// <summary>
/// call the OSDMenue and start autorefresh
/// usually by sending a menuekey
/// a bit tricky - but by sending inverted value of 32 (32 = 0010 0000) you can start the OSD menue with autoupdate (abo) without switching the page with the keyvalues (0x1, 0x2)
/// therefore the value has to be negative (inverted) in order to distinguish from old (2 line) menuestyle
/// and must not have any bits of the menue keys 0x1 0x2 0x4 0x8 (0x10?) --> 0x20 = -33
/// </summary>
void _OSDMenueAutoRefresh()
{
_sendControllerMessage('h', 0, new byte[2] { unchecked((byte)(-33)), OSDInterval });
}
void _OSDMenueAutoRefresh(byte key)
{
_sendControllerMessage('h', 0, new byte[2] { unchecked((byte)~key), OSDInterval });
}
/// <summary>
/// initialize the OSD menue combobox
/// combox is filled by numbers from 0 to max pagenumber
/// </summary>
void _initOSDCB()
{
_bCBInit = true;
if (iOSDMax == 0)
{
_OSDMenue(0);
Thread.Sleep(10);
}
Dispatcher.Invoke((Action)(() => cbOSD.Items.Clear()));
for (int i = 0; i <= iOSDMax; i++)
{
Dispatcher.Invoke((Action)(() => cbOSD.Items.Add(i)));
}
Dispatcher.Invoke((Action)(() => cbOSD.SelectedItem = iOSDPage));
_bCBInit = false;
}
private void btnOSDForward_Click(object sender, RoutedEventArgs e)
{
iOSDPage++;
if (iOSDPage > iOSDMax)
iOSDPage = 0;
 
_OSDMenue(iOSDPage);
}
private void btnOSDBackward_Click(object sender, RoutedEventArgs e)
{
iOSDPage--;
if (iOSDPage < 0)
iOSDPage = iOSDMax;
 
_OSDMenue(iOSDPage);
}
private void btnOSDLeave_Click(object sender, RoutedEventArgs e)
{
_OSDMenueAutoRefresh(8);
}
private void btnOSDEnter_Click(object sender, RoutedEventArgs e)
{
_OSDMenueAutoRefresh(4);
}
private void cbOSD_DropDownClosing(object sender, EventArgs e)
{
if (!_bCBInit && cbOSD.SelectedIndex > -1)
_OSDMenue(cbOSD.SelectedIndex);
}
private void OSD(LogMsgType msgtype, string msg, bool bNew)
{
Dispatcher.Invoke(() =>
{
TextRange tr;
if (bNew)
{
rtfOSD.SelectAll();
rtfOSD.Selection.Text = string.Empty;
}
tr = new TextRange(rtfOSD.Document.ContentEnd, rtfOSD.Document.ContentEnd);
tr.Text = msg;
tr.ApplyPropertyValue(TextElement.ForegroundProperty, new SolidColorBrush(LogMsgTypeColor[(int)msgtype]));
// rtfOSD.AppendText("\r");
rtfOSD.ScrollToEnd();
 
});
}
 
#endregion OSD-Menue
 
#endregion controller messages
 
private void imageFullscreen_MouseDown(object sender, MouseButtonEventArgs e)
{
if (winState.isMaximized)
{
winState.Restore(this);
imageFullscreen.Source = new BitmapImage(new Uri("Images/Fullscreen.png", UriKind.Relative));
if(_bSaveWinStateFull)
_saveScaleSliders(true);
if(_bSaveWinStateNormal)
_setScaleSliders(false);
}
else
{
winState.Maximize(this);
imageFullscreen.Source = new BitmapImage(new Uri("Images/RestoreScreen.png", UriKind.Relative));
if(_bSaveWinStateNormal)
_saveScaleSliders(false);
if(_bSaveWinStateFull)
_setScaleSliders(true);
}
}
 
/// <summary>
/// reset the scaling of all UI elements to default
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonUIScaleReset_Click(object sender, RoutedEventArgs e)
{
UIScaleHorizonSlider.Value =
UIScaleLOGSlider.Value =
UIScaleMotorsSlider.Value =
UIScaleOSDSlider.Value =
UIScaleSlider.Value =
UIScaleTopSlider.Value = 1;
}
/// <summary>
/// adjust the top postion of UI elements below the top bar to fit the bottom position of the bar when scaling the top bar
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void UIScaleTopSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
GridSettings.Margin = new Thickness(GridSettings.Margin.Left, 36 * UIScaleTopSlider.Value, GridSettings.Margin.Right, GridSettings.Margin.Bottom);
if (GridMotors != null)
GridMotors.Margin = new Thickness(GridMotors.Margin.Left, 36 * UIScaleTopSlider.Value, GridMotors.Margin.Right, GridMotors.Margin.Bottom);
if (GridSideBar != null)
GridSideBar.Margin = new Thickness(GridSideBar.Margin.Left, 36 * UIScaleTopSlider.Value, GridSideBar.Margin.Right, GridSideBar.Margin.Bottom);
if (GridOSD != null)
GridOSD.Margin = new Thickness(GridOSD.Margin.Left, 36 * UIScaleTopSlider.Value, GridOSD.Margin.Right, GridOSD.Margin.Bottom);
if (GridData != null)
GridData.Margin = new Thickness(GridData.Margin.Left, 36 * UIScaleTopSlider.Value, GridData.Margin.Right, GridData.Margin.Bottom);
if (GridWP != null)
GridWP.Margin = new Thickness(GridWP.Margin.Left, 36 * UIScaleTopSlider.Value, GridWP.Margin.Right, GridWP.Margin.Bottom);
}
 
void _setScaleSliders(bool bFull)
{
if(bFull)
{
UIScaleSlider.Value = scaleFullAll;
UIScaleTopSlider.Value = scaleFullTopBar;
UIScaleMotorsSlider.Value = scaleFullMotors;
UIScaleOSDSlider.Value = scaleFullOSD;
UIScaleLOGSlider.Value = scaleFullLOG;
UIScaleHorizonSlider.Value = scaleFullHorizon;
}
else
{
UIScaleSlider.Value = scaleNormalAll;
UIScaleTopSlider.Value = scaleNormalTopBar;
UIScaleMotorsSlider.Value = scaleNormalMotors;
UIScaleOSDSlider.Value = scaleNormalOSD;
UIScaleLOGSlider.Value = scaleNormalLOG;
UIScaleHorizonSlider.Value = scaleNormalHorizon;
}
}
 
void _saveScaleSliders(bool bFull)
{
 
if (bFull)
{
scaleFullAll = UIScaleSlider.Value;
scaleFullTopBar = UIScaleTopSlider.Value;
scaleFullMotors = UIScaleMotorsSlider.Value;
scaleFullOSD = UIScaleOSDSlider.Value;
scaleFullLOG = UIScaleLOGSlider.Value;
scaleFullHorizon = UIScaleHorizonSlider.Value;
}
else
{
scaleNormalAll = UIScaleSlider.Value;
scaleNormalTopBar = UIScaleTopSlider.Value;
scaleNormalMotors = UIScaleMotorsSlider.Value;
scaleNormalOSD = UIScaleOSDSlider.Value;
scaleNormalLOG = UIScaleLOGSlider.Value;
scaleNormalHorizon = UIScaleHorizonSlider.Value;
}
}
 
/// <summary>
/// read settings from ini-file
/// </summary>
void _readIni()
{
if (!File.Exists(filePath + "\\MKLiveViewSettings.ini"))
_writeIni();
IniFile ini = new IniFile("MKLiveViewSettings.ini");
ini.path = filePath + "\\MKLiveViewSettings.ini";
 
string sVal = ini.IniReadValue("timings", "AutorefreshDebugData");
_debugDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshNavCtrlData");
_navCtrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshBLCtrlData");
_blctrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshOSDData");
_OSDAutorefresh = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("timings", "IntervalDebugData");
debugInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalNavCtrlData");
navctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalBLCtrlData");
blctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalOSDData");
OSDInterval = (byte)Convert.ToInt16(sVal);
 
sVal = ini.IniReadValue("topBar", "voltage");
chkBoxTopBarShowVoltage.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "capacity");
chkBoxTopBarShowCapacity.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "current");
chkBoxTopBarShowCurrent.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "flightTime");
chkBoxTopBarShowFlightTime.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "distanceHP");
chkBoxTopBarShowDistanceHP.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "height");
chkBoxTopBarShowHeight.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "speed");
chkBoxTopBarShowSpeed.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "magneticField");
chkBoxTopBarShowMF.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "satellites");
chkBoxTopBarShowSatellites.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "rc");
chkBoxTopBarShowRC.IsChecked = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("style", "saveFullScreen");
chkBoxSaveFullScreenState.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("style", "saveNormalState");
chkBoxSaveNormalState.IsChecked = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("style", "scaleNormalAll");
scaleNormalAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalTopBar");
scaleNormalTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalMotors");
scaleNormalMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalOSD");
scaleNormalOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalLOG");
scaleNormalLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalHorizon");
scaleNormalHorizon = Convert.ToDouble(sVal);
 
sVal = ini.IniReadValue("style", "scaleFullAll");
scaleFullAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullTopBar");
scaleFullTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullMotors");
scaleFullMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullOSD");
scaleFullOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullLOG");
scaleFullLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullHorizon");
scaleFullHorizon = Convert.ToDouble(sVal);
 
sVal = ini.IniReadValue("general", "LiPoCells");
_LipoCells = Convert.ToInt16(sVal);
sVal = ini.IniReadValue("general", "Motors");
_iMotors = Convert.ToInt16(sVal);
 
sVal = ini.IniReadValue("map", "followMe");
_bFollowCopter = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("threshold", "VoltageWarning");
if(sVal != "") _dThresholdVoltageWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoltageCritical");
if(sVal != "") _dThresholdVoltageCrit = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceEnable");
if(sVal != "") _bVoiceVoltPlay = Convert.ToBoolean(sVal);
 
}
 
/// <summary>
/// save settings to ini-file
/// </summary>
void _writeIni()
{
 
IniFile ini = new IniFile("MKLiveViewSettings.ini");
ini.path = filePath + "\\MKLiveViewSettings.ini";
 
ini.IniWriteValue("timings", "AutorefreshDebugData", _debugDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshNavCtrlData", _navCtrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshBLCtrlData", _blctrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshOSDData", _OSDAutorefresh ? "true" : "false");
 
ini.IniWriteValue("timings", "IntervalDebugData", debugInterval.ToString());
ini.IniWriteValue("timings", "IntervalNavCtrlData", navctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalBLCtrlData", blctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalOSDData", OSDInterval.ToString());
 
ini.IniWriteValue("general", "LiPoCells", _LipoCells.ToString());
ini.IniWriteValue("general", "Motors", _iMotors.ToString());
 
ini.IniWriteValue("map", "followMe", _bFollowCopter.ToString());
 
ini.IniWriteValue("topBar", "voltage", chkBoxTopBarShowVoltage.IsChecked.ToString());
ini.IniWriteValue("topBar", "capacity", chkBoxTopBarShowCapacity.IsChecked.ToString());
ini.IniWriteValue("topBar", "current", chkBoxTopBarShowCurrent.IsChecked.ToString());
ini.IniWriteValue("topBar", "flightTime", chkBoxTopBarShowFlightTime.IsChecked.ToString());
ini.IniWriteValue("topBar", "distanceHP", chkBoxTopBarShowDistanceHP.IsChecked.ToString());
ini.IniWriteValue("topBar", "height", chkBoxTopBarShowHeight.IsChecked.ToString());
ini.IniWriteValue("topBar", "speed", chkBoxTopBarShowSpeed.IsChecked.ToString());
ini.IniWriteValue("topBar", "magneticField", chkBoxTopBarShowMF.IsChecked.ToString());
ini.IniWriteValue("topBar", "satellites", chkBoxTopBarShowSatellites.IsChecked.ToString());
ini.IniWriteValue("topBar", "rc", chkBoxTopBarShowRC.IsChecked.ToString());
 
ini.IniWriteValue("style", "saveFullScreen", chkBoxSaveFullScreenState.IsChecked.ToString());
ini.IniWriteValue("style", "saveNormalState", chkBoxSaveNormalState.IsChecked.ToString());
 
ini.IniWriteValue("style", "scaleNormalAll", scaleNormalAll.ToString());
ini.IniWriteValue("style", "scaleNormalTopBar", scaleNormalTopBar.ToString());
ini.IniWriteValue("style", "scaleNormalMotors", scaleNormalMotors.ToString());
ini.IniWriteValue("style", "scaleNormalOSD", scaleNormalOSD.ToString());
ini.IniWriteValue("style", "scaleNormalLOG", scaleNormalLOG.ToString());
ini.IniWriteValue("style", "scaleNormalHorizon", scaleNormalHorizon.ToString());
 
ini.IniWriteValue("style", "scaleFullAll", scaleFullAll.ToString());
ini.IniWriteValue("style", "scaleFullTopBar", scaleFullTopBar.ToString());
ini.IniWriteValue("style", "scaleFullMotors", scaleFullMotors.ToString());
ini.IniWriteValue("style", "scaleFullOSD", scaleFullOSD.ToString());
ini.IniWriteValue("style", "scaleFullLOG", scaleFullLOG.ToString());
ini.IniWriteValue("style", "scaleFullHorizon", scaleFullHorizon.ToString());
 
ini.IniWriteValue("style", "horizon", chkBoxShowHorizon.IsChecked.ToString());
 
ini.IniWriteValue("threshold", "VoltageWarning", _dThresholdVoltageWarn.ToString());
ini.IniWriteValue("threshold", "VoltageCritical", _dThresholdVoltageCrit.ToString());
ini.IniWriteValue("threshold", "VoiceEnable", _bVoiceVoltPlay.ToString());
 
}
#endregion functions
 
private void Window_Closing(object sender, CancelEventArgs e)
{
_writeIni();
}
}
public class BooleanToVisibilityConverter : IValueConverter
{
 
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (bool)value ? Visibility.Visible : Visibility.Collapsed;
}
 
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
 
public class IniFile
{
public string path;
 
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section,
string key, string val, string filePath);
 
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern uint GetPrivateProfileSectionNames(IntPtr lpszReturnBuffer,
uint nSize, string lpFileName);
 
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
string key, string def, StringBuilder retVal,
int size, string filePath);
 
public IniFile(string INIPath)
{
path = INIPath;
}
 
public void IniWriteValue(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, this.path);
}
 
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path);
return temp.ToString();
}
//Ini_sections auslesen in String-Array
public string[] IniSectionNames()
{
 
// uint MAX_BUFFER = 32767;
uint MAX_BUFFER = 8388608;
IntPtr pReturnedString = Marshal.AllocCoTaskMem((int)MAX_BUFFER);
uint bytesReturned = GetPrivateProfileSectionNames(pReturnedString, MAX_BUFFER, this.path);
if (bytesReturned == 0)
{
Marshal.FreeCoTaskMem(pReturnedString);
return null;
}
string local = Marshal.PtrToStringAuto(pReturnedString, (int)bytesReturned).ToString();
Marshal.FreeCoTaskMem(pReturnedString);
//use of Substring below removes terminating null for split
return local.Substring(0, local.Length - 1).Split('\0');
 
 
}
}
 
/// <summary>
/// Selected Win AI Function Calls
/// </summary>
public class WinApi
{
[DllImport("user32.dll", EntryPoint = "GetSystemMetrics")]
public static extern int GetSystemMetrics(int which);
[DllImport("user32.dll")]
public static extern void
SetWindowPos(IntPtr hwnd, IntPtr hwndInsertAfter,
int X, int Y, int width, int height, uint flags);
 
private const int SM_CXSCREEN = 0;
private const int SM_CYSCREEN = 1;
private static IntPtr HWND_TOP = IntPtr.Zero;
private const int SWP_SHOWWINDOW = 64; // 0x0040
 
public static int ScreenX
{
get { return GetSystemMetrics(SM_CXSCREEN); }
}
 
public static int ScreenY
{
get { return GetSystemMetrics(SM_CYSCREEN); }
}
 
public static void SetWinFullScreen(IntPtr hwnd)
{
SetWindowPos(hwnd, HWND_TOP, -8, -7, ScreenX+15, ScreenY+14, SWP_SHOWWINDOW);
}
}
/// <summary>
/// Class used to preserve / restore state of the window
/// </summary>
public class WinState
{
private WindowState winState;
private WindowStyle brdStyle;
private bool topMost;
private Rect restore;
private bool IsMaximized = false;
 
public bool isMaximized
{
get { return IsMaximized; }
}
public void Maximize(Window targetForm)
{
if (!IsMaximized)
{
IsMaximized = true;
Save(targetForm);
targetForm.WindowState = WindowState.Maximized;
targetForm.WindowStyle = WindowStyle.None;
targetForm.Topmost = true;
WinApi.SetWinFullScreen(new WindowInteropHelper(targetForm).Handle);
}
}
 
public void Save(Window targetForm)
{
winState = targetForm.WindowState;
brdStyle = targetForm.WindowStyle;
topMost = targetForm.Topmost;
restore = targetForm.RestoreBounds;
}
public void Restore(Window targetForm)
{
targetForm.WindowState = winState;
targetForm.WindowStyle = brdStyle;
targetForm.Topmost = topMost;
 
targetForm.Left = restore.Left;
targetForm.Top = restore.Top;
targetForm.Height = restore.Height;
targetForm.Width = restore.Width;
IsMaximized = false;
}
}
 
}
/MKLiveView/v1.0/Source/Properties/AssemblyInfo.cs
0,0 → 1,55
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
 
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("MKLiveView")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MKLiveView")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
 
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
 
//Um mit dem Erstellen lokalisierbarer Anwendungen zu beginnen, legen Sie
//<UICulture>ImCodeVerwendeteKultur</UICulture> in der .csproj-Datei
//in einer <PropertyGroup> fest. Wenn Sie in den Quelldateien beispielsweise Deutsch
//(Deutschland) verwenden, legen Sie <UICulture> auf \"de-DE\" fest. Heben Sie dann die Auskommentierung
//des nachstehenden NeutralResourceLanguage-Attributs auf. Aktualisieren Sie "en-US" in der nachstehenden Zeile,
//sodass es mit der UICulture-Einstellung in der Projektdatei übereinstimmt.
 
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
 
 
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //Speicherort der designspezifischen Ressourcenwörterbücher
//(wird verwendet, wenn eine Ressource auf der Seite
// oder in den Anwendungsressourcen-Wörterbüchern nicht gefunden werden kann.)
ResourceDictionaryLocation.SourceAssembly //Speicherort des generischen Ressourcenwörterbuchs
//(wird verwendet, wenn eine Ressource auf der Seite, in der Anwendung oder einem
// designspezifischen Ressourcenwörterbuch nicht gefunden werden kann.)
)]
 
 
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
/MKLiveView/v1.0/Source/Properties/Resources.Designer.cs
0,0 → 1,63
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
namespace MKLiveView.Properties {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MKLiveView.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
/MKLiveView/v1.0/Source/Properties/Resources.resx
0,0 → 1,120
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
 
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
/MKLiveView/v1.0/Source/Properties/Settings.Designer.cs
0,0 → 1,26
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
 
namespace MKLiveView.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}
/MKLiveView/v1.0/Source/Properties/Settings.settings
0,0 → 1,7
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.Configuration.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.Configuration.xml
0,0 → 1,394
<?xml version="1.0"?>
<doc>
<assembly>
<name>OpenNETCF.Configuration</name>
</assembly>
<members>
<member name="T:OpenNETCF.Configuration.AppSettingsReader">
<summary>
Provides a method for reading values of a particular type from the .config file.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.AppSettingsReader.#ctor">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Configuration.AppSettingsReader.GetValue(System.String,System.Type)">
<summary>
</summary>
<param name="key"></param>
<param name="type"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Reflection.Assembly2">
<summary>
Contains helper functions for the <see cref="T:System.Reflection.Assembly"/> class.
</summary>
<seealso cref="T:System.Reflection.Assembly"/>
</member>
<member name="M:OpenNETCF.Reflection.Assembly2.GetEntryAssembly">
<summary>
Gets the process executable.
</summary>
<returns>The <see cref="T:System.Reflection.Assembly"/> that is the process executable.</returns>
</member>
<member name="T:OpenNETCF.Configuration.ConfigurationException">
<summary>
The exception that is thrown when an error occurs in a configuration setting.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.#ctor">
<summary>
Initializes a new instance of the System.Configuration.ConfigurationException class.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.#ctor(System.String)">
<summary>
Initializes a new instance of the System.Configuration.ConfigurationException class with the specified error message.
</summary>
<param name="message">The message to display to the client when the exception is thrown.</param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the System.Configuration.ConfigurationException class with the specified error message and System.Exception.InnerException property.
</summary>
<param name="message">The message to display to the client when the exception is thrown.</param>
<param name="inner">The System.Exception.InnerException , if any, that threw the current exception.</param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.#ctor(System.String,System.Exception,System.Xml.XmlNode)">
<summary>
Initializes a new instance of the System.Configuration.ConfigurationException class with the specified error message and System.Exception.InnerException and the name of the configuration section node that contains the error.
</summary>
<param name="message">The message to display to the client when the exception is thrown.</param>
<param name="inner">The System.Exception.InnerException , if any, that threw the current exception.</param>
<param name="node">The System.Xml.XmlNode that contains the error.</param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.#ctor(System.String,System.String,System.Int32)">
<summary>
Initializes a new instance of the System.Configuration.ConfigurationException class with the specified error message, the name of the configuration file that contains the error, and the line number in the file.
</summary>
<param name="message">The message to display to the client when the exception is thrown.</param>
<param name="filename">The name of the configuration file that contains the error.</param>
<param name="line">The number of the line that contains the error.</param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.#ctor(System.String,System.Exception,System.String,System.Int32)">
<summary>
Initializes a new instance of the System.Configuration.ConfigurationException with the specified error message and System.Exception.InnerException, the name of the file containing the error, and the line number of the error in the file.
</summary>
<param name="message">The message to display to the client when the exception is thrown.</param>
<param name="inner">The System.Exception.InnerException , if any, that threw the current exception.</param>
<param name="filename">The name of the configuration file that contains the error.</param>
<param name="line">The number of the line that contains the error.</param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.#ctor(System.String,System.Xml.XmlNode)">
<summary>
Initializes a new instance of the System.Configuration.ConfigurationException with the specified error message and the name of the configuration section containing the error.
</summary>
<param name="message">The message to display to the client when the exception is thrown.</param>
<param name="node">The System.Xml.XmlNode that contains the error.</param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.GetXmlNodeLineNumber(System.Xml.XmlNode)">
<summary>
Returns the line number of the configuration section node that contains the error.
</summary>
<param name="node">The name of the configuration section node that contains the error.</param>
<returns>The line number that contains the error.</returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationException.GetXmlNodeFilename(System.Xml.XmlNode)">
<summary>
Returns the name of the file that contains the configuration section node that contains the error.
</summary>
<param name="node">The name of the configuration section node that contains the error.</param>
<returns>The name of the configuration file.</returns>
</member>
<member name="T:OpenNETCF.Configuration.ConfigurationSettings">
<summary>
Provides access to configuration settings in a specified configuration section. This class cannot be inherited.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationSettings.Reload">
<summary>
Forces the settings provider to re-load the settings from the configuration file.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationSettings.GetConfig(System.String)">
<summary>
Returns configuration settings for a user-defined configuration section.
</summary>
<param name="sectionName">The configuration section to read.</param>
<returns>The configuration settings for sectionName.</returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigurationSettings.GetConfig(System.String,System.Object)">
<summary>
Returns configuration settings for a user-defined configuration section.
</summary>
<param name="sectionName">The configuration section to read.</param>
<param name="context"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Configuration.ConfigurationSettings.AppSettings">
<summary>
Gets configuration settings in the configuration section.
</summary>
</member>
<member name="T:OpenNETCF.Configuration.ConfigXmlDocument">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.Load(System.String)">
<summary>
</summary>
<param name="filename"></param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.ReadConfigNode(System.String,System.Xml.XmlTextReader)">
<summary>
</summary>
<param name="filename"></param>
<param name="sourceReader"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.LoadSingleElement(System.String,System.Xml.XmlTextReader)">
<summary>
</summary>
<param name="filename"></param>
<param name="sourceReader"></param>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.CreateAttribute(System.String,System.String,System.String)">
<summary>
</summary>
<param name="prefix"></param>
<param name="localName"></param>
<param name="namespaceUri"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.CreateElement(System.String,System.String,System.String)">
<summary>
</summary>
<param name="prefix"></param>
<param name="localName"></param>
<param name="namespaceUri"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.CreateTextNode(System.String)">
<summary>
</summary>
<param name="text"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.CreateCDataSection(System.String)">
<summary>
</summary>
<param name="data"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.CreateComment(System.String)">
<summary>
</summary>
<param name="data"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.CreateSignificantWhitespace(System.String)">
<summary>
</summary>
<param name="data"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.ConfigXmlDocument.CreateWhitespace(System.String)">
<summary>
</summary>
<param name="data"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Configuration.ConfigXmlDocument.Filename">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Configuration.ConfigXmlDocument.LineNumber">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Configuration.DefaultConfigurationSystem">
<summary>
Summary description for DefaultConfigurationSystem.
</summary>
</member>
<member name="T:OpenNETCF.Configuration.IConfigurationSystem">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Configuration.IConfigurationSystem.GetConfig(System.String,System.Object)">
<summary>
Returns the config object for the specified key.
</summary>
<param name="configKey">Section name of config object to retrieve. </param>
<param name="context">Application provided context object that gets passed into the Create method of the IConfigurationSectionHandler</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Configuration.IConfigurationSystem.Init">
<summary>
Initializes the configuration system.
</summary>
</member>
<member name="T:OpenNETCF.Configuration.DictionarySectionHandler">
<summary>
Reads key-value pair configuration information for a configuration section.
</summary>
<example>
<code>
&lt;add key="name" value="text"> - sets key=text
&lt;remove key="name"> - removes the definition of key
&lt;clear/> - removes all definitions
</code>
</example>
</member>
<member name="T:OpenNETCF.Configuration.IConfigurationSectionHandler">
<summary>
Defines the contract that all configuration section handlers must implement in order to participate in the resolution of configuration settings.
Reads key-value pair configuration information for a configuration section.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
<summary>
Implemented by all configuration section handlers to parse the XML of the configuration section. The
returned object is added to the configuration collection and is accessed by
System.Configuration.ConfigurationSettings.GetConfig(System.String).
</summary>
<param name="parent">The configuration settings in a corresponding parent configuration section.</param>
<param name="configContext">An System.Web.Configuration.HttpConfigurationContext when
System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)
is called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is null.</param>
<param name="section">The System.Xml.XmlNode that contains the configuration information from the
configuration file. Provides direct access to the XML contents of the configuration section.</param>
<returns>A configuration object.</returns>
</member>
<member name="M:OpenNETCF.Configuration.DictionarySectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
<summary>
</summary>
<param name="parent"></param>
<param name="context"></param>
<param name="section"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Configuration.DictionarySectionHandler.KeyAttributeName">
<summary>
Make the name of the key attribute configurable by derived classes.
</summary>
</member>
<member name="P:OpenNETCF.Configuration.DictionarySectionHandler.ValueAttributeName">
<summary>
Make the name of the value attribute configurable by derived classes.
</summary>
</member>
<member name="T:OpenNETCF.Configuration.IgnoreSectionHandler">
<summary>
Provides a section handler definition for configuration sections read and handled by systems other than OpenNETCF.Configuration.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.IgnoreSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
<summary>
</summary>
<param name="parent"></param>
<param name="configContext"></param>
<param name="section"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Configuration.machineconfig">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:OpenNETCF.Configuration.machineconfig.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:OpenNETCF.Configuration.machineconfig.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:OpenNETCF.Configuration.machineconfig.machine_config">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;configuration&gt;
&lt;configSections&gt;
&lt;section name=&quot;appSettings&quot; type=&quot;OpenNETCF.Configuration.NameValueFileSectionHandler, OpenNETCF.Configuration&quot; allowLocation=&quot;false&quot; /&gt;
&lt;section name=&quot;opennetcf.diagnostics&quot; type=&quot;OpenNETCF.Diagnostics.DiagnosticsConfigurationHandler, OpenNETCF&quot;/&gt;
&lt;/configSections&gt;
&lt;/configuration&gt;.
</summary>
</member>
<member name="T:OpenNETCF.Configuration.NameValueFileSectionHandler">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Configuration.NameValueFileSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
<summary>
</summary>
<param name="parent"></param>
<param name="configContext"></param>
<param name="section"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Configuration.NameValueSectionHandler">
<summary>
Provides name-value pair configuration information from a configuration section.
</summary>
</member>
<member name="M:OpenNETCF.Configuration.NameValueSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
<summary>
</summary>
<param name="parent"></param>
<param name="context"></param>
<param name="section"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Configuration.NameValueSectionHandler.KeyAttributeName">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Configuration.NameValueSectionHandler.ValueAttributeName">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Configuration.SingleTagSectionHandler">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Configuration.SingleTagSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
<summary>
Returns a collection of configuration section values.
</summary>
<param name="parent">The configuration settings in a corresponding parent configuration section.</param>
<param name="context">This parameter is reserved and is null.</param>
<param name="section">An <see cref="T:System.Xml.XmlNode"/> that contains configuration information from the configuration file.
Provides direct access to the XML contents of the configuration section.</param>
<returns>A <see cref="T:System.Collections.Hashtable"/> containing configuration section directives.</returns>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.Drawing.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.Drawing.xml
0,0 → 1,3164
<?xml version="1.0"?>
<doc>
<assembly>
<name>OpenNETCF.Drawing</name>
</assembly>
<members>
<member name="T:OpenNETCF.Drawing.BitmapEx">
<summary>
Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A BitmapEx object is an object used to work with images defined by pixel data.
</summary>
</member>
<member name="M:OpenNETCF.Drawing.BitmapEx.#ctor(System.Int32,System.Int32)">
<summary>
Initializes a new instance of the BitmapEx class with the specified size.
</summary>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:OpenNETCF.Drawing.BitmapEx.#ctor(System.String)">
<summary>
Initializes a new instance of the System.Drawing.Bitmap class from the specified file.
</summary>
<param name="filename"></param>
</member>
<member name="M:OpenNETCF.Drawing.BitmapEx.GetHbitmap">
<summary>
Creates a GDI bitmap object from this BitmapEx object.
</summary>
<returns>A handle to the GDI bitmap object that this method creates.</returns>
</member>
<member name="M:OpenNETCF.Drawing.BitmapEx.LockBits(System.Drawing.Rectangle,System.Int32,System.Drawing.Imaging.PixelFormat)">
<summary>
BitmapEx object into system memory.
</summary>
<param name="rect">A System.Drawing.Rectangle structure specifying the portion of the BitmapEx to lock. </param>
<param name="flags">Access level (read and write) for the BitmapEx object. ></param>
<param name="format">PixelFormat enumeration specifying the data format of this BitmapEx object.</param>
<returns>BitmapData object containing information about this lock operation. </returns>
</member>
<member name="M:OpenNETCF.Drawing.BitmapEx.UnlockBits(OpenNETCF.Drawing.Imaging.BitmapData)">
<summary>
Unlocks this BitmapEx from system memory.
</summary>
<param name="data"></param>
</member>
<member name="P:OpenNETCF.Drawing.BitmapEx.Width">
<summary>
Gets the width of this BitmapEx object.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.BitmapEx.Height">
<summary>
Gets the height of this BitmapEx object.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.BitmapData">
<summary>
Specifies the attributes of a bitmap image. The BitmapData class is used by the LockBits and UnlockBits methods of the BitmapEx class.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.BitmapData.PixelFormat">
<summary>
Gets or sets the format of the pixel information.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.BitmapData.Scan0">
<summary>
Gets or sets the address of the first pixel data in the bitmap.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.BitmapData.Stride">
<summary>
Gets or sets the stride width (also called scan width) of the bitmap object.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.BitmapData.Width">
<summary>
Gets or sets the pixel width of the BitmapEx object. This can also be thought of as the number of pixels in one scan line.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.BitmapData.Height">
<summary>
Gets or sets the pixel height of the BitmapEx object.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.ContentAlignment2">
<summary>
Specifies alignment of content on the drawing surface.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.BottomCenter">
<summary>
Content is vertically aligned at the bottom, and horizontally aligned at the center.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.BottomLeft">
<summary>
Content is vertically aligned at the bottom, and horizontally aligned on the left.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.BottomRight">
<summary>
Content is vertically aligned at the bottom, and horizontally aligned on the right.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.MiddleCenter">
<summary>
Content is vertically aligned in the middle, and horizontally aligned at the center.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.MiddleLeft">
<summary>
Content is vertically aligned in the middle, and horizontally aligned on the left.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.MiddleRight">
<summary>
Content is vertically aligned in the middle, and horizontally aligned on the right.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.TopCenter">
<summary>
Content is vertically aligned at the top, and horizontally aligned at the center.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.TopLeft">
<summary>
Content is vertically aligned at the top, and horizontally aligned on the left.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.ContentAlignment2.TopRight">
<summary>
Content is vertically aligned at the top, and horizontally aligned on the right.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.CopyPixelOperation">
<summary>
Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.Blackness">
<summary>
The destination area is filled by using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.)
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.CaptureBlt">
<summary>
Windows that are layered on top of your window are included in the resulting image. By default, the image contains only your window. Note that this generally cannot be used for printing device contexts.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.DestinationInvert">
<summary>
The destination area is inverted.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.MergeCopy">
<summary>
The colors of the source area are merged with the colors of the selected brush of the destination device context using the Boolean AND operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.MergePaint">
<summary>
The colors of the inverted source area are merged with the colors of the destination area by using the Boolean OR operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.NoMirrorBitmap">
<summary>
The bitmap is not mirrored.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.NotSourceCopy">
<summary>
The inverted source area is copied to the destination.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.NotSourceErase">
<summary>
The source and destination colors are combined using the Boolean OR operator, and then resultant color is then inverted.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.PatCopy">
<summary>
The brush currently selected in the destination device context is copied to the destination bitmap.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.PatInvert">
<summary>
The colors of the brush currently selected in the destination device context are combined with the colors of the destination are using the Boolean XOR operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.PatPaint">
<summary>
The colors of the brush currently selected in the destination device context are combined with the colors of the inverted source area using the Boolean OR operator. The result of this operation is combined with the colors of the destination area using the Boolean OR operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.SourceAnd">
<summary>
The colors of the source and destination areas are combined using the Boolean AND operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.SourceCopy">
<summary>
The source area is copied directly to the destination area.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.SourceErase">
<summary>
The inverted colors of the destination area are combined with the colors of the source area using the Boolean AND operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.SourceInvert">
<summary>
The colors of the source and destination areas are combined using the Boolean XOR operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.SourcePaint">
<summary>
The colors of the source and destination areas are combined using the Boolean OR operator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.CopyPixelOperation.Whiteness">
<summary>
The destination area is filled by using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.)
</summary>
</member>
<member name="T:OpenNETCF.Drawing.FontEx">
<summary>
Defines a particular format for text, including font face, size, and style attributes.
</summary>
</member>
<member name="M:OpenNETCF.Drawing.FontEx.#ctor(System.String,System.Single,System.Drawing.FontStyle)">
<summary>
Initializes a new FontEx object that uses the specified attributes.
</summary>
<param name="fontName">A string representation of the System.Drawing.FontFamily object.</param>
<param name="size">The size of the new FontEx object.</param>
<param name="fontStyle">The style of the new FontEx object.</param>
</member>
<member name="M:OpenNETCF.Drawing.FontEx.ToHfont">
<summary>
Returns a handle to this FontEx object.
</summary>
<returns>A Windows handle to this FontEx object.</returns>
</member>
<member name="P:OpenNETCF.Drawing.FontEx.Name">
<summary>
Gets the face name of this FontEx object.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.FontEx.Size">
<summary>
Gets the em-size of this FontEx object measured in the unit of this FontEx object.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.FontEx.Style">
<summary>
Gets style information for this FontEx object.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.FontEx.Angle">
<summary>
Gets sets the angle for the FontEx.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.FontEx.ClearType">
<summary>
Gets or sets a clear type for FontEx object.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.GDIPlus">
<summary>
Summary description for GDIPlus.
</summary>
</member>
<member name="M:OpenNETCF.Drawing.GDIPlus.CreateFontIndirect(System.IntPtr)">
<summary>
This function creates a logical font that has the characteristics specified in the specified structure.
An application can subsequently select the font as the current font for any device context (DC).
</summary>
<param name="pLogFont">Long pointer to a <see cref="T:OpenNETCF.Drawing.GDIPlus.LOGFONT"/> that defines the characteristics of the logical font.</param>
<returns>A handle to a logical font.</returns>
</member>
<member name="T:OpenNETCF.Drawing.GDIPlus.LOGFONT">
<summary>
This structure defines the attributes of a font.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.GraphicsEx">
<summary>
Encapsulates a GDI+ drawing surface.
</summary>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.FromHdc(System.IntPtr)">
<summary>
Creates a new <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object from the specified native graphics handle.
</summary>
<param name="nativeGraphics">native graphics handle.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.FromHwnd(System.IntPtr)">
<summary>
Creates a new <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object from the specified handle to a window.
</summary>
<param name="hwnd">Handle to a window.</param>
<returns>This method returns a new <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object for the specified window handle. </returns>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.FromControl(System.Windows.Forms.Control)">
<summary>
Creates a new <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object from the specified <see cref="T:System.Windows.Forms.Control"/> object.
</summary>
<param name="ctl"><see cref="T:System.Windows.Forms.Control"/> object</param>
<returns>This method returns a new OpenNETCF.Drawing.GraphicsEx object for the specified specified Control object.</returns>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.CompatibleGraphics(System.Windows.Forms.Control)">
<summary>
Creates a new copy of <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object from the specified Control object.
</summary>
<param name="ctl"><see cref="T:System.Windows.Forms.Control"/> object.</param>
<returns>This method returns a new <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object for the specified specified Control object.</returns>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.CompatibleGraphics">
<summary>
Creates a new copy of <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object from the existing <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> objec.
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.CopyGraphics(System.Windows.Forms.Control,System.Drawing.Rectangle)">
<summary>
Copies the graphics.
</summary>
<param name="ctl"></param>
<param name="rc"></param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.CopyGraphics(OpenNETCF.Drawing.GraphicsEx,System.Drawing.Rectangle)">
<summary>
Copies the graphics.
</summary>
<param name="gx"></param>
<param name="rc"></param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.CopyGraphics(System.Windows.Forms.Control,System.Drawing.Rectangle,System.Drawing.Color)">
<summary>
Copies graphics from <see cref="T:System.Windows.Forms.Control"/> with transparent color.
</summary>
<param name="ctl">Control to copy graphics from</param>
<param name="rc">Rectangle to copy.</param>
<param name="transpColor">Transaprent color.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawRectangle(OpenNETCF.Drawing.PenEx,System.Drawing.Rectangle)">
<summary>
Draws a rectangle specified by a <see cref="T:System.Drawing.Rectangle"/> structure.
</summary>
<param name="pen">A <see cref="T:OpenNETCF.Drawing.PenEx"/> object that determines the color, width, and style of the rectangle. </param>
<param name="rc">A <see cref="T:System.Drawing.Rectangle"/> structure that represents the rectangle to draw. </param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawRectangle(OpenNETCF.Drawing.PenEx,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Draws a rectangle.
</summary>
<param name="pen">A <see cref="T:OpenNETCF.Drawing.PenEx"/> object that determines the color, width, and style of the rectangle. </param>
<param name="x">x: x-coordinate of the upper-left corner of the rectangle to draw. </param>
<param name="y"> y: y-coordinate of the upper-left corner of the rectangle to draw. </param>
<param name="cx">width: width of the rectangle to draw. </param>
<param name="cy">height: Height of the rectangle to draw. </param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.MeasureString(System.String,OpenNETCF.Drawing.FontEx,System.Int32)">
<summary>
Measures the specified string when drawn with the specified <see cref="T:OpenNETCF.Drawing.FontEx"/> object.
</summary>
<param name="text">String to measure.</param>
<param name="font"><see cref="T:OpenNETCF.Drawing.FontEx"/> object that defines the text format of the string.</param>
<param name="width">Width to fit the string.</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.MeasureString(System.String,OpenNETCF.Drawing.FontEx)">
<summary>
Measures the specified string when drawn with the specified <see cref="T:OpenNETCF.Drawing.FontEx"/> object.
</summary>
<param name="text"><see cref="T:System.String"/> to measure.</param>
<param name="font"><see cref="T:OpenNETCF.Drawing.FontEx"/> object that defines the text format of the string.</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.FillRectangle(System.Drawing.Color,System.Drawing.Rectangle)">
<summary>
Fills the interior of a rectangle specified by a <see cref="T:System.Drawing.Rectangle"/> structure.
</summary>
<param name="color">The <see cref="T:System.Drawing.Color"/> to fill.</param>
<param name="rc"><see cref="T:System.Drawing.Rectangle"/> structure that represents the rectangle to fill. </param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawString(System.String,OpenNETCF.Drawing.FontEx,System.Drawing.Color,System.Drawing.Rectangle)">
<summary>
Draws the specified text string at the specified location with the specified <see cref="T:System.Drawing.Color"/> and <see cref="T:OpenNETCF.Drawing.FontEx"/> objects.
</summary>
<param name="text">String to draw</param>
<param name="font"><see cref="T:OpenNETCF.Drawing.FontEx"/> object that defines the text format of the string</param>
<param name="textColor">The <see cref="T:System.Drawing.Color"/> of text draw.</param>
<param name="rc">Rectangle structure that specifies the location of the drawn text</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawRoundRectangle(OpenNETCF.Drawing.PenEx,System.Drawing.Rectangle,System.Drawing.Size)">
<summary>
Draws a rectangle with rounded corners.
</summary>
<param name="pen">A <see cref="T:OpenNETCF.Drawing.PenEx"/> object that determines the color, width, and style of the rectangle</param>
<param name="rc">A <see cref="T:System.Drawing.Rectangle"/> structure that represents the rectangle to draw.</param>
<param name="size">A <see cref="T:System.Drawing.Size"/> structre that defines the corner radius.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawEllipse(OpenNETCF.Drawing.PenEx,System.Drawing.Rectangle)">
<summary>
Draws an ellipse specified by a bounding <see cref="T:System.Drawing.Rectangle"/> structure.
</summary>
<param name="pen">A <see cref="T:OpenNETCF.Drawing.PenEx"/> object that determines the color, width, and style of the ellipse.</param>
<param name="rc">A <see cref="T:System.Drawing.Rectangle"/> structure that represents the rectangle to draw.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawEllipse(OpenNETCF.Drawing.PenEx,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width.
</summary>
<param name="pen">A <see cref="T:OpenNETCF.Drawing.PenEx"/> object that determines the color, width, and style of the ellipse.</param>
<param name="x">x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.</param>
<param name="y">y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.</param>
<param name="width">Width of the bounding rectangle that defines the ellipse.</param>
<param name="height">Height of the bounding rectangle that defines the ellipse.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawImage(OpenNETCF.Drawing.BitmapEx,System.Int32,System.Int32)">
<summary>
Draws the specified <see cref="T:OpenNETCF.Drawing.BitmapEx"/> object at the specified location and with the original size.
</summary>
<param name="image"><see cref="T:OpenNETCF.Drawing.BitmapEx"/> object to draw.</param>
<param name="x">x-coordinate of the upper-left corner of the drawn image.</param>
<param name="y">y-coordinate of the upper-top corner of the drawn image.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawImage(OpenNETCF.Drawing.BitmapEx,System.Drawing.Rectangle,System.Drawing.Rectangle)">
<summary>
Draws the specified portion of the specified System.Drawing.Image object at the specified location and with the specified size.
</summary>
<param name="image"><see cref="T:OpenNETCF.Drawing.BitmapEx"/> object to draw.</param>
<param name="destRect"><see cref="T:System.Drawing.Rectangle"/> structure that specifies the location and size of the drawn image.
The image is scaled to fit the rectangle.</param>
<param name="srcRect"><see cref="T:System.Drawing.Rectangle"/> structure that specifies the portion of the image object to draw.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.DrawLine(OpenNETCF.Drawing.PenEx,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Draws a line connecting the two points specified by coordinate pairs.
</summary>
<param name="pen">PenEx object that determines the color, width, and style of the line.</param>
<param name="xStart">x-coordinate of the first point.</param>
<param name="yStart">y-coordinate of the first point.</param>
<param name="xEnd">x-coordinate of the second point.</param>
<param name="yEnd">x-coordinate of the seconf point.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.GetHdc">
<summary>
Gets the handle to the device context associated with this <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object.
</summary>
<returns>Handle to the device context associated with this <see cref="T:OpenNETCF.Drawing.GraphicsEx"/> object</returns>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.CopyFromScreen(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Size)">
<summary>
Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the GraphicsEx.
</summary>
<param name="sourceX">The x-coordinate of the point at the upper-left corner of the source rectangle.</param>
<param name="sourceY">The y-coordinate of the point at the upper-left corner of the source rectangle</param>
<param name="destinationX">The x-coordinate of the point at the upper-left corner of the destination rectangle.</param>
<param name="destinationY">The y-coordinate of the point at the upper-left corner of the destination rectangle.</param>
<param name="blockRegionSize">The size of the area to be transferred.</param>
</member>
<member name="M:OpenNETCF.Drawing.GraphicsEx.CopyFromScreen(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Size,OpenNETCF.Drawing.CopyPixelOperation)">
<summary>
Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the GraphicsEx.
</summary>
<param name="sourceX">The x-coordinate of the point at the upper-left corner of the source rectangle.</param>
<param name="sourceY">The y-coordinate of the point at the upper-left corner of the source rectangle</param>
<param name="destinationX">The x-coordinate of the point at the upper-left corner of the destination rectangle.</param>
<param name="destinationY">The y-coordinate of the point at the upper-left corner of the destination rectangle.</param>
<param name="blockRegionSize">The size of the area to be transferred.</param>
<param name="copyPixelOperation">One of the <c>CopyPixelOperation</c> values.</param>
</member>
<member name="T:OpenNETCF.Drawing.Drawing2D.DashStyle">
<summary>
Specifies the style of dashed lines drawn with a <see cref="T:OpenNETCF.Drawing.PenEx"/> object.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Drawing2D.DashStyle.Dash">
<summary>
Specifies a line consisting of dashes.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Drawing2D.DashStyle.Solid">
<summary>
Specifies a solid line.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.IBasicBitmapOps">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBasicBitmapOps.Clone(OpenNETCF.Drawing.Imaging.RECT,OpenNETCF.Drawing.Imaging.IBitmapImage@,System.Boolean)">
<summary>
Clone an area of the bitmap image
</summary>
<param name="rect"></param>
<param name="outbmp"></param>
<param name="bNeedCloneProperty"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBasicBitmapOps.Flip(System.Boolean,System.Boolean,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Flip the bitmap image in x- and/or y-direction
</summary>
<param name="flipX"></param>
<param name="flipY"></param>
<param name="outbmp"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBasicBitmapOps.Resize(System.UInt32,System.UInt32,System.Drawing.Imaging.PixelFormat,OpenNETCF.Drawing.Imaging.InterpolationHint,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Resize the bitmap image
</summary>
<param name="newWidth"></param>
<param name="newHeight"></param>
<param name="pixelFormat"></param>
<param name="hints"></param>
<param name="outbmp"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBasicBitmapOps.Rotate(System.Single,OpenNETCF.Drawing.Imaging.InterpolationHint,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Rotate the bitmap image by the specified angle
</summary>
<param name="angle"></param>
<param name="hints"></param>
<param name="outbmp"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBasicBitmapOps.AdjustBrightness(System.Single)">
<summary>
Adjust the brightness of the bitmap image
</summary>
<param name="percent"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBasicBitmapOps.AdjustContrast(System.Single,System.Single)">
<summary>
This method adjusts the contrast of an image by rescaling the pixel values in the range from 0 to 1 to the new range from shadow to highlight.
The old pixel value 0 is mapped to the new pixel value of shadow and the old pixel value 1 is mapped to the new pixel value of highlight. All other old pixel values are mapped into the new range through linear interpolation.
</summary>
<param name="shadow">A FLOAT value that defines the value for pixels that are currently 0.</param>
<param name="highlight">A FLOAT value that defines the value for pixels that are currently 1.</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBasicBitmapOps.AdjustGamma(System.Single)">
<summary>
Adjust the gamma of the bitmap image
</summary>
<param name="gamma"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBitmapImage.GetSize(System.Drawing.Size@)">
<summary>
Get bitmap dimensions pixels
</summary>
<param name="size"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBitmapImage.GetPixelFormatID(System.Drawing.Imaging.PixelFormat@)">
<summary>
Get bitmap pixel format
</summary>
<param name="pixelFormat"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBitmapImage.LockBits(OpenNETCF.Drawing.Imaging.RECT,System.UInt32,System.Drawing.Imaging.PixelFormat,OpenNETCF.Drawing.Imaging.BitmapDataInternal@)">
<summary>
Access bitmap data the specified pixel format
must support at least PIXFMT_DONTCARE and
the canonical formats.
</summary>
<param name="rect"></param>
<param name="flags"></param>
<param name="pixelFormat"></param>
<param name="lockedBitmapData"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBitmapImage.UnlockBits(OpenNETCF.Drawing.Imaging.BitmapDataInternal@)">
<summary>
</summary>
<param name="lockedBitmapData"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBitmapImage.GetPalette(System.IntPtr@)">
<summary>
Set/get palette associated with the bitmap image
Do not use directly. Use <c>ImageUtils.GetBitmapPalette</c> instead
</summary>
<param name="palette"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IBitmapImage.SetPalette(System.IntPtr)">
<summary>
Do not use directly. Use <c>ImageUtils.SetBitmapPalette</c> instead
</summary>
<param name="palette"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.IImage">
<summary>
This is the basic interface to an image object. It allows applications to do the following:
Display the image onto a destination graphics context
Push image data into an image sink
Access image properties and metadata Decoded image objects and in-memory bitmap image objects support the IImage interface
</summary>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImage.GetPhysicalDimension(System.Drawing.Size@)">
<summary>
Get the device-independent physical dimension of the image
unit of 0.01mm
</summary>
<param name="size"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImage.GetImageInfo(OpenNETCF.Drawing.Imaging.ImageInfo@)">
<summary>
Get basic image info
</summary>
<param name="imageInfo"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImage.SetImageFlags(OpenNETCF.Drawing.Imaging.ImageFlags)">
<summary>
Set image flags
</summary>
<param name="flags"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImage.Draw(System.IntPtr,OpenNETCF.Drawing.Imaging.RECT,OpenNETCF.Drawing.Imaging.RECT)">
<summary>
Display the image a GDI device context
</summary>
<param name="hdc"></param>
<param name="dstRect"></param>
<param name="srcRect"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImage.PushIntoSink(OpenNETCF.Drawing.Imaging.IImageSink)">
<summary>
Push image data into an IImageSink
</summary>
<param name="sink"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImage.GetThumbnail(System.UInt32,System.UInt32,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Get a thumbnail representation for the image object
</summary>
<param name="thumbWidth"></param>
<param name="thumbHeight"></param>
<param name="thumbImage"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.IImageDecoder">
<summary>
This is a low-level interface to an image decoder object.
Many simple applications do not need to work with decoder objects directly and can work with
higher level decoded image objects instead.
More sophisticated applications can use the IImageDecoder interface to have finer control over the interaction with decoder objects.
The IImageDecoder interface can support images with multiple frames. Multiframe images are accessed via multidimensional indices.
This interface can support an arbitrary number of dimensions in nonrectangular arrangements
</summary>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.InitDecoder(OpenNETCF.Runtime.InteropServices.ComTypes.IStream,OpenNETCF.Drawing.Imaging.DecoderInitFlag)">
<summary>
Initialize the image decoder object
</summary>
<param name="stream"></param>
<param name="flags"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.TerminateDecoder">
<summary>
Clean up the image decoder object
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.BeginDecode(OpenNETCF.Drawing.Imaging.IImageSink,System.IntPtr)">
<summary>
Start decoding the current frame
</summary>
<param name="sink"></param>
<param name="newPropSet"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.Decode">
<summary>
Continue decoding
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.EndDecode(System.Int32)">
<summary>
Stop decoding the current frame
</summary>
<param name="statusCode"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetFrameDimensionsCount(System.UInt32@)">
<summary>
Query multi-frame dimensions
</summary>
<param name="count"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetFrameDimensionsList(System.Guid@,System.UInt32@)">
<summary>
Query multi-frame dimensions
</summary>
<param name="dimensionIDs"></param>
<param name="count"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetFrameCount(System.Guid@,System.UInt32@)">
<summary>
Get number of frames for the specified dimension
</summary>
<param name="dimensionID"></param>
<param name="count"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.SelectActiveFrame(System.Guid@,System.UInt32)">
<summary>
Select currently active frame
</summary>
<param name="dimensionID"></param>
<param name="frameIndex"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetImageInfo(OpenNETCF.Drawing.Imaging.ImageInfo@)">
<summary>
Get basic information about the image
</summary>
<param name="imageInfo"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetThumbnail(System.UInt32,System.UInt32,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Get image thumbnail
</summary>
<param name="thumbWidth"></param>
<param name="thumbHeight"></param>
<param name="thumbImage"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.QueryDecoderParam(System.Guid)">
<summary>
Query decoder parameters
</summary>
<param name="Guid"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.SetDecoderParam(System.Guid,System.UInt32,System.IntPtr)">
<summary>
Set decoder parameters
</summary>
<param name="Guid"></param>
<param name="Length"></param>
<param name="Value"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetPropertyCount(System.UInt32@)">
<summary>
Get image property count
</summary>
<param name="numOfProperty"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetPropertyIdList(System.UInt32,OpenNETCF.Drawing.Imaging.ImageTag[])">
<summary>
Get selected image properties
</summary>
<param name="numOfProperty"></param>
<param name="list"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetPropertyItemSize(OpenNETCF.Drawing.Imaging.ImageTag,System.UInt32@)">
<summary>
Get the size of property data
</summary>
<param name="propId"></param>
<param name="size"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetPropertyItem(OpenNETCF.Drawing.Imaging.ImageTag,System.UInt32,System.IntPtr)">
<summary>
Get the property data
</summary>
<param name="propId"></param>
<param name="propSize"></param>
<param name="buffer"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.GetPropertySize(System.UInt32@,System.UInt32@)">
<summary>
</summary>
<param name="totalBufferSize"></param>
<param name="numProperties"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageDecoder.SetPropertyItem(OpenNETCF.Drawing.Imaging.PropertyItem)">
<summary>
Sets property on the image
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.IImageSink">
<summary>
This interface allows an image source, such as an image decoder, and an image sink to exchange data.
The most important interaction between the source and the sink happens when they negotiate data transfer
parameters during the call to the IImageSink::BeginSink method
</summary>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.BeginSink(OpenNETCF.Drawing.Imaging.ImageInfo@,OpenNETCF.Drawing.Imaging.RECT@)">
<summary>
Begin the sink process
</summary>
<param name="imageInfo"></param>
<param name="subarea"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.EndSink(System.Int32)">
<summary>
End the sink process
</summary>
<param name="statusCode"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.SetPalette(OpenNETCF.Drawing.Imaging.ColorPalette@)">
<summary>
Pass the color palette to the image sink
</summary>
<param name="palette"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.GetPixelDataBuffer(OpenNETCF.Drawing.Imaging.RECT,System.Drawing.Imaging.PixelFormat,System.Boolean,OpenNETCF.Drawing.Imaging.BitmapDataInternal@)">
<summary>
Ask the sink to allocate pixel data buffer
</summary>
<param name="rect"></param>
<param name="pixelFormat"></param>
<param name="lastPass"></param>
<param name="bitmapData"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.ReleasePixelDataBuffer(OpenNETCF.Drawing.Imaging.BitmapDataInternal@)">
<summary>
Give the sink pixel data and release data buffer
</summary>
<param name="bitmapData"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.PushPixelData(OpenNETCF.Drawing.Imaging.RECT,OpenNETCF.Drawing.Imaging.BitmapDataInternal@,System.Boolean)">
<summary>
Push pixel data
</summary>
<param name="rect"></param>
<param name="bitmapData"></param>
<param name="lastPass"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.PushRawData(System.IntPtr,System.UInt32)">
<summary>
Push raw image data
</summary>
<param name="buffer"></param>
<param name="bufsize"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.NeedTransform(System.UInt32@)">
<summary>
This method is used by an image source to determine whether an image
sink should rotate an image and by how much it should rotate the image
</summary>
<param name="rotation"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.NeedRawProperty">
<summary>
This method is used by an image source to determine whether an image sink can accept raw properties
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.PushRawInfo(System.Byte[])">
<summary>
This method is used by an image source to send raw information about an image to an image sink
</summary>
<param name="info"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImageSink.GetPropertyBuffer(System.Int32,System.IntPtr)">
<summary>
Retrieves a property as a blob
</summary>
<param name="uiTotalBufferSize"></param>
<param name="ppBuffer"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateImageFromStream(OpenNETCF.Runtime.InteropServices.ComTypes.IStream,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Create an image object from an input stream
stream doesn't have to seekable
caller should Release the stream if call is successful
</summary>
<param name="stream"></param>
<param name="image"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateImageFromFile(System.String,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Create an image object from a file
</summary>
<param name="filename"></param>
<param name="image"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateImageFromBuffer(System.Byte[],System.UInt32,OpenNETCF.Drawing.Imaging.BufferDisposalFlag,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Create an image object from a memory buffer
</summary>
<param name="buf"></param>
<param name="size"></param>
<param name="disposalFlag"></param>
<param name="image"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateNewBitmap(System.UInt32,System.UInt32,System.Drawing.Imaging.PixelFormat,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Create a new bitmap image object
</summary>
<param name="width"></param>
<param name="height"></param>
<param name="pixelFormat"></param>
<param name="bitmap"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateBitmapFromImage(OpenNETCF.Drawing.Imaging.IImage,System.UInt32,System.UInt32,System.Drawing.Imaging.PixelFormat,OpenNETCF.Drawing.Imaging.InterpolationHint,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Create a bitmap image from an IImage object
</summary>
<param name="image"></param>
<param name="width"></param>
<param name="height"></param>
<param name="pixelFormat"></param>
<param name="hints"></param>
<param name="bitmap"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateBitmapFromBuffer(OpenNETCF.Drawing.Imaging.BitmapDataInternal@,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Create a new bitmap image object on user-supplied memory buffer
</summary>
<param name="bitmapData"></param>
<param name="bitmap"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateImageDecoder(OpenNETCF.Runtime.InteropServices.ComTypes.IStream,OpenNETCF.Drawing.Imaging.DecoderInitFlag,OpenNETCF.Drawing.Imaging.IImageDecoder@)">
<summary>
Create an image decoder object to process the given input stream
</summary>
<param name="stream"></param>
<param name="flags"></param>
<param name="decoder"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.CreateImageEncoderToStream(System.Guid@,OpenNETCF.Runtime.InteropServices.ComTypes.IStream,OpenNETCF.Drawing.Imaging.IImageEncoder@)">
<summary>
Create an image encoder object that can output data the
specified image file format.
</summary>
<param name="clsid"></param>
<param name="stream"></param>
<param name="encoder"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.GetInstalledDecoders(System.UInt32@,System.IntPtr@)">
<summary>
Get a list of all currently installed image decoders
</summary>
<param name="count"></param>
<param name="decoders"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.GetInstalledEncoders(System.UInt32@,System.IntPtr@)">
<summary>
Get a list of all currently installed image decoders
</summary>
<param name="count"></param>
<param name="encoders"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.InstallImageCodec(OpenNETCF.Drawing.Imaging.ImageCodecInfo@)">
<summary>
Install an image encoder / decoder
caller should do the regular COM component
installation before calling this method
</summary>
<param name="codecInfo"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.IImagingFactory.UninstallImageCodec(System.String,System.UInt32)">
<summary>
Uninstall an image encoder / decoder
</summary>
<param name="codecName"></param>
<param name="flags"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.ImageCodecInfo">
<summary>
Describes Imaging codec
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.ImageCodecInfo.CodecName">
<summary>
Codec name
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.ImageCodecInfo.DllName">
<summary>
Codec Dll name
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.ImageCodecInfo.FormatDescription">
<summary>
Codec format description
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.ImageCodecInfo.FilenameExtension">
<summary>
Codec's file's extension (e.g. BMP)
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.ImageCodecInfo.MimeType">
<summary>
Codec's image MIME type
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.ImageCodecInfo.Flags">
<summary>
Codec flags
</summary>
</member>
<member name="P:OpenNETCF.Drawing.Imaging.ImageCodecInfo.Version">
<summary>
Codec version
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.ImageProperty">
<summary>
Defines a property of an Image
</summary>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageProperty.FromByteArray(System.Byte[])">
<summary>
Generates an ImageProperty from an array of bytes
</summary>
<param name="data"></param>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageProperty.ToByteArray">
<summary>
Gets the property as a byte representation
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageProperty.GetValue">
<summary>
Retrieves the value of the given property
</summary>
<returns></returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.ImagingFactory">
<summary>
This interface is used to create bitmaps and images and to manage image encoders and decoders.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.ImagingFactoryClass">
<summary>
This interface is used to create bitmaps and images and to manage image encoders and decoders.
</summary>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateImageFromStream(OpenNETCF.Runtime.InteropServices.ComTypes.IStream,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Create an image object from an input stream
stream doesn't have to seekable
caller should Release the stream if call is successful
</summary>
<param name="stream"></param>
<param name="image"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateImageFromFile(System.String,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Create an image object from a file
</summary>
<param name="filename"></param>
<param name="image"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateImageFromBuffer(System.Byte[],System.UInt32,OpenNETCF.Drawing.Imaging.BufferDisposalFlag,OpenNETCF.Drawing.Imaging.IImage@)">
<summary>
Create an image object from a memory buffer
</summary>
<param name="buf"></param>
<param name="size"></param>
<param name="disposalFlag"></param>
<param name="image"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateNewBitmap(System.UInt32,System.UInt32,System.Drawing.Imaging.PixelFormat,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Create a new bitmap image object
</summary>
<param name="width"></param>
<param name="height"></param>
<param name="pixelFormat"></param>
<param name="bitmap"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateBitmapFromImage(OpenNETCF.Drawing.Imaging.IImage,System.UInt32,System.UInt32,System.Drawing.Imaging.PixelFormat,OpenNETCF.Drawing.Imaging.InterpolationHint,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Create a bitmap image from an IImage object
</summary>
<param name="image"></param>
<param name="width"></param>
<param name="height"></param>
<param name="pixelFormat"></param>
<param name="hints"></param>
<param name="bitmap"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateBitmapFromBuffer(OpenNETCF.Drawing.Imaging.BitmapDataInternal@,OpenNETCF.Drawing.Imaging.IBitmapImage@)">
<summary>
Create a new bitmap image object on user-supplied memory buffer
</summary>
<param name="bitmapData"></param>
<param name="bitmap"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateImageEncoderToStream(System.Guid@,OpenNETCF.Runtime.InteropServices.ComTypes.IStream,OpenNETCF.Drawing.Imaging.IImageEncoder@)">
<summary>
Create an image encoder object that can output data the
specified image file format.
</summary>
<param name="clsid"></param>
<param name="stream"></param>
<param name="encoder"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.CreateImageEncoderToFile(System.Guid@,System.String,OpenNETCF.Drawing.Imaging.IImageEncoder@)">
<summary>
Create an image encoder object that can output data the
specified image file format.
</summary>
<param name="clsid"></param>
<param name="filename"></param>
<param name="encoder"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.GetInstalledDecoders(System.UInt32@,System.IntPtr@)">
<summary>
Get a list of all currently installed image decoders
</summary>
<param name="count"></param>
<param name="decoders"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.GetInstalledEncoders(System.UInt32@,System.IntPtr@)">
<summary>
Get a list of all currently installed image decoders
</summary>
<param name="count"></param>
<param name="encoders"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.InstallImageCodec(OpenNETCF.Drawing.Imaging.ImageCodecInfo@)">
<summary>
Install an image encoder / decoder
caller should do the regular COM component
installation before calling this method
</summary>
<param name="codecInfo"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImagingFactoryClass.UninstallImageCodec(System.String,System.UInt32)">
<summary>
Uninstall an image encoder / decoder
</summary>
<param name="codecName"></param>
<param name="flags"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.Rational">
<summary>
Holds a Rational number used by imaging properties
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.SRational">
<summary>
Holds a Signed Rational number used by imaging properties
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.TAG_TYPE">
<summary>
Property tag types
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.BYTE">
<summary>
8-bit unsigned int
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.ASCII">
<summary>
8-bit byte containing one 7-bit ASCII code.
NULL terminated.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.SHORT">
<summary>
16-bit unsigned int
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.LONG">
<summary>
32-bit unsigned int
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.RATIONAL">
<summary>
Two LONGs. The first LONG is the numerator,
the second LONG expresses the denominator.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.UNDEFINED">
<summary>
8-bit byte that can take any value depending
on field definition
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.SLONG">
<summary>
32-bit singed integer (2's complement notation)
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TAG_TYPE.SRATIONAL">
<summary>
Two SLONGs. First is numerator, second is the denominator
</summary>
</member>
<member name="T:OpenNETCF.Drawing.PenEx">
<summary>
Defines an object used to draw lines and curves.
</summary>
</member>
<member name="M:OpenNETCF.Drawing.PenEx.#ctor(System.Drawing.Color)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Drawing.PenEx"/> class with the <see cref="P:OpenNETCF.Drawing.PenEx.Color"/>.
</summary>
<param name="color">The <see cref="P:OpenNETCF.Drawing.PenEx.Color"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
</member>
<member name="M:OpenNETCF.Drawing.PenEx.#ctor(System.Drawing.Color,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Drawing.PenEx"/> class with the Width.
</summary>
<param name="color">The <see cref="P:OpenNETCF.Drawing.PenEx.Color"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
<param name="width">The <see cref="P:OpenNETCF.Drawing.PenEx.Width"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
</member>
<member name="M:OpenNETCF.Drawing.PenEx.#ctor(System.Drawing.Color,OpenNETCF.Drawing.Drawing2D.DashStyle)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Drawing.PenEx"/> class with the <see cref="P:OpenNETCF.Drawing.PenEx.DashStyle"/>.
</summary>
<param name="color">The <see cref="P:OpenNETCF.Drawing.PenEx.Color"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
<param name="style">The <see cref="P:OpenNETCF.Drawing.PenEx.DashStyle"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
</member>
<member name="M:OpenNETCF.Drawing.PenEx.#ctor(System.Drawing.Color,OpenNETCF.Drawing.Drawing2D.DashStyle,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Drawing.PenEx"/> class with the <see cref="P:OpenNETCF.Drawing.PenEx.Color"/>.
</summary>
<param name="color">The <see cref="P:OpenNETCF.Drawing.PenEx.Color"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
<param name="width">The <see cref="P:OpenNETCF.Drawing.PenEx.Width"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
<param name="style">The <see cref="P:OpenNETCF.Drawing.PenEx.DashStyle"/> of the <see cref="T:OpenNETCF.Drawing.PenEx"/>.</param>
</member>
<member name="P:OpenNETCF.Drawing.PenEx.Color">
<summary>
Gets or sets the color of this object.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.PenEx.DashStyle">
<summary>
Gets or sets the style used for dashed lines drawn with this <see cref="T:OpenNETCF.Drawing.PenEx"/> object.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.PenEx.Width">
<summary>
Gets or sets the Width of this object.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.ColorTranslator">
<summary>
Translates colors to and from <see cref="T:System.Drawing.Color"/> structures.
</summary>
<seealso cref="T:System.Drawing.ColorTranslator">System.Drawing.ColorTranslator Class</seealso>
</member>
<member name="M:OpenNETCF.Drawing.ColorTranslator.ToHtml(System.Drawing.Color)">
<summary>
Translates the specified <see cref="T:System.Drawing.Color"/> structure to an HTML string color representation.
</summary>
<param name="c">The <see cref="T:System.Drawing.Color"/> structure to translate.</param>
<returns>The string that represents the HTML color.</returns>
<remarks>Unlike the desktop version of this function it does not check for named colors but instead always returns the hex notation values - e.g. Color.Red = "#FF0000"</remarks>
<seealso cref="M:System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color)">System.Drawing.ColorTranslator.ToHtml Method</seealso>
</member>
<member name="M:OpenNETCF.Drawing.ColorTranslator.ToWin32(System.Drawing.Color)">
<summary>
Translates the specified <see cref="T:System.Drawing.Color"/> structure to a Windows color.
</summary>
<param name="c">The <see cref="T:System.Drawing.Color"/> structure to translate.</param>
<returns>The Windows color value.</returns>
<seealso cref="M:System.Drawing.ColorTranslator.ToWin32(System.Drawing.Color)">System.Drawing.ColorTranslator.ToWin32 Method</seealso>
</member>
<member name="M:OpenNETCF.Drawing.ColorTranslator.FromHtml(System.String)">
<summary>
Translates an HTML color representation to a <see cref="T:System.Drawing.Color"/> structure.
</summary>
<param name="htmlColor">The string representation of the Html color to translate.</param>
<returns>The <see cref="T:System.Drawing.Color"/> structure that represents the translated HTML color.</returns>
<seealso cref="M:System.Drawing.ColorTranslator.FromHtml(System.String)">System.Drawing.ColorTranslator.FromHtml Method</seealso>
</member>
<member name="M:OpenNETCF.Drawing.ColorTranslator.FromWin32(System.Int32)">
<summary>
Translates a Windows color value to a <see cref="T:System.Drawing.Color"/> structure.
</summary>
<param name="win32Color">The Windows color to translate.</param>
<returns>The <see cref="T:System.Drawing.Color"/> structure that represents the translated Windows color.</returns>
<seealso cref="M:System.Drawing.ColorTranslator.FromWin32(System.Int32)">System.Drawing.ColorTranslator.FromWin32 Method</seealso>
</member>
<member name="M:OpenNETCF.Drawing.ColorTranslator.FromOle(System.Int32)">
<summary>
Translates an OLE color value to a <see cref="T:System.Drawing.Color"/> structure.
</summary>
<param name="oleColor">The OLE color to translate.</param>
<returns>The <see cref="T:System.Drawing.Color"/> structure that represents the translated OLE color.</returns>
</member>
<member name="M:OpenNETCF.Drawing.ColorTranslator.ToOle(System.Drawing.Color)">
<summary>
Translates the specified <see cref="T:System.Drawing.Color"/> structure to an OLE color.
</summary>
<param name="c">The <see cref="T:System.Drawing.Color"/> structure to translate.</param>
<returns>The OLE color value.</returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.ImageTag">
<summary>
Image property ID tags (PROPID's from the EXIF tags)
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_EXIF_IFD">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_GPS_IFD">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_NEW_SUBFILE_TYPE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_SUBFILE_TYPE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_IMAGE_WIDTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_IMAGE_HEIGHT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_BITS_PER_SAMPLE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_COMPRESSION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PHOTOMETRIC_INTERP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THRESH_HOLDING">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_CELL_WIDTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_CELL_HEIGHT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_FILL_ORDER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_DOCUMENT_NAME">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_IMAGE_DESCRIPTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_EQUIP_MAKE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_EQUIP_MODEL">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_STRIP_OFFSETS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_ORIENTATION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_SAMPLES_PER_PIXEL">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_ROWS_PER_STRIP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_STRIP_BYTES_COUNT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_MIN_SAMPLE_VALUE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_MAX_SAMPLE_VALUE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_X_RESOLUTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_Y_RESOLUTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PLANAR_CONFIG">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PAGE_NAME">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_X_POSITION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_Y_POSITION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_FREE_OFFSET">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_FREE_BYTE_COUNTS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_GRAY_RESPONSE_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_GRAY_RESPONSE_CURVE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_T4_OPTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_T6_OPTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_RESOLUTION_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PAGE_NUMBER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_TRANSFER_FUNCTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_SOFTWARE_USED">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_DATE_TIME">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_ARTIST">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HOST_COMPUTER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PREDICTOR">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_WHITE_POINT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PRIMAY_CHROMATICS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_COLOR_MAP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HALFTONE_HINTS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_TILE_WIDTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_TILE_LENGTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_TILE_OFFSET">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_TILE_BYTE_COUNTS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_INK_SET">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_INK_NAMES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_NUMBER_OF_INKS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_DOT_RANGE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_TARGET_PRINTER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_EXTRA_SAMPLES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_SAMPLE_FORMAT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_SMIN_SAMPLE_VALUE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_SMAX_SAMPLE_VALUE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_TRANSFER_RANGE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_PROC">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_INTER_FORMAT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_INTER_LENGTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_RESTART_INTERVAL">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_LOSSLESS_PREDICTORS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_POINT_TRANSFORMS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_Q_TABLES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_DC_TABLES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_AC_TABLES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_YCbCr_COEFFICIENTS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_YCbCr_SUBSAMPLING">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_YCbCr_POSITIONING">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_REF_BLACK_WHITE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_ICC_PROFILE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_GAMMA">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_ICC_PROFILE_DESCRIPTOR">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_SRGB_RENDERING_INTENT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_IMAGE_TITLE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_COPYRIGHT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_RESOLUTION_X_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_RESOLUTION_Y_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_RESOLUTION_X_LENGTH_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_RESOLUTION_Y_LENGTH_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PRINT_FLAGS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PRINT_FLAGS_VERSION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PRINT_FLAGS_CROP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PRINT_FLAGS_BLEEDWIDTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PRINT_FLAGS_BLEEDWIDTHSCALE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HALFTONE_LPI">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HALFTONE_LPI_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HALFTONE_DEGREE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HALFTONE_SHAPE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HALFTONE_MISC">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_HALFTONE_SCREEN">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_JPEG_QUALITY">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_GRID_SIZE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_FORMAT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_WIDTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_HEIGHT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_COLORDEPTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_PLANES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_RAWBYTES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_SIZE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_COMPRESSED_SIZE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_COLORTRANSFER_FUNCTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_DATA">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_IMAGE_WIDTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_IMAGE_HEIGHT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_BITS_PER_SAMPLE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_COMPRESSION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_PHOTOMETRIC_INTERP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_IMAGE_DESCRIPTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_EQUIP_MAKE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_EQUIP_MODEL">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_STRIP_OFFSETS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_ORIENTATION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_SAMPLES_PER_PIXEL">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_ROWS_PER_STRIP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_STRIP_BYTES_COUNT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_RESOLUTION_X">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_RESOLUTION_Y">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_PLANAR_CONFIG">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_RESOLUTION_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_TRANSFER_FUNCTION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_SOFTWARE_USED">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_DATE_TIME">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_ARTIST">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_WHITE_POINT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_PRIMAY_CHROMATICS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_YCbCr_COEFFICIENTS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_YCbCr_SUBSAMPLING">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_YCbCr_POSITIONING">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_REF_BLACK_WHITE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_THUMBNAIL_COPYRIGHT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_LUMINANCE_TABLE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_CHROMINANCE_TABLE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_FRAMEDELAY">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_LOOPCOUNT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PIXEL_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PIXEL_PER_UNIT_X">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PIXEL_PER_UNIT_Y">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.TAG_PALETTE_HISTOGRAM">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_EXPOSURE_TIME">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_F_NUMBER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_EXPOSURE_PROG">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_SPECTRAL_SENSE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_ISO_SPEED">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_OECF">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_VER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_D_T_ORIG">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_D_T_DIGITIZED">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_COMP_CONFIG">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_COMP_BPP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_SHUTTER_SPEED">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_APERATURE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_BRIGHTNESS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_EXPOSURE_BIAS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_MAX_APERATURE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_SUBJECT_DIST">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_METERING_MODE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_LIGHT_SOURCE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FLASH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FOCAL_LENGTH">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_MAKER_NOTE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_USER_COMMENT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_D_T_SUBSEC">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_D_T_ORIG_SS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_D_T_DIG_SS">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FPX_VER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_COLOR_SPACE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_PIX_X_DIM">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_PIX_Y_DIM">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_RELATED_WAV">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_INTEROP">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FLASH_ENERGY">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_SPATIAL_FR">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FOCAL_X_RES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FOCAL_Y_RES">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FOCAL_RES_UNIT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_SUBJECT_LOC">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_EXPOSURE_INDEX">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_SENSING_METHOD">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_FILE_SOURCE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_SCENE_TYPE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.ImageTag.EXIF_TAG_CFA_PATTERN">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.TagType">
<summary>
Image tyge type
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.BYTE">
<summary>
8-bit unsigned int
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.ASCII">
<summary>
8-bit byte containing one 7-bit ASCII code.
NULL terminated.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.SHORT">
<summary>
16-bit unsigned int
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.LONG">
<summary>
32-bit unsigned int
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.RATIONAL">
<summary>
Two LONGs. The first LONG is the numerator,
the second LONG expresses the denomintor.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.UNDEFINED">
<summary>
8-bit byte that can take any value depending
on field definition
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.SLONG">
<summary>
32-bit singed integer (2's complement notation)
</summary>
</member>
<member name="F:OpenNETCF.Drawing.Imaging.TagType.SRATIONAL">
<summary>
Two SLONGs. First is numerator, second is denominator
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.ImageUtils">
<summary>
High-level image manipulation routines
</summary>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.RotateFlip(System.Drawing.Bitmap,OpenNETCF.Drawing.RotationAngle,OpenNETCF.Drawing.FlipAxis)">
<summary>
Rotate and/or flip bitmap
</summary>
<param name="bitmap">Image</param>
<param name="type">Operation</param>
<returns>Modified bitmap</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.RotateFlip(System.Drawing.Bitmap,OpenNETCF.Drawing.RotateFlipType)">
<summary>
Rotate and/or flip bitmap
</summary>
<param name="bitmap">Image</param>
<param name="type">Operation</param>
<returns>Modified bitmap</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.Rotate(System.Drawing.Bitmap,OpenNETCF.Drawing.RotationAngle)">
<summary>
Rotates image by specified amount of degrees
</summary>
<param name="bitmap">Image</param>
<param name="angle">Amount of degrees to rotate image by. Must be 90, 180, or 270</param>
<returns>Rotated image</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.Rotate(System.Drawing.Bitmap,System.Single)">
<summary>
Rotates image by specified amount of degrees
</summary>
<param name="bitmap">Image</param>
<param name="angle">Amount of degrees to rotate image by. Must be 90, 180, or 270</param>
<returns>Rotated image</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.Flip(System.Drawing.Bitmap,OpenNETCF.Drawing.FlipAxis)">
<summary>
Flips image around X and/or Y axes
</summary>
<param name="bitmap">Image</param>
<param name="axis">Axis or axes to flip on</param>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.Flip(OpenNETCF.Drawing.Imaging.IBitmapImage,OpenNETCF.Drawing.FlipAxis)">
<summary>
Flips image around X and/or Y axes
</summary>
<param name="bitmap">Image</param>
<param name="axis">Axis or axes to flip on</param>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.Flip(System.Drawing.Bitmap,System.Boolean,System.Boolean)">
<summary>
Flips image around X and/or Y axes
</summary>
<param name="bitmap">Image</param>
<param name="flipX">Whether to flip around X axis</param>
<param name="flipY">Whether to flip around Y axis</param>
<returns>Flipped image</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.IBitmapImageToBitmap(OpenNETCF.Drawing.Imaging.IBitmapImage)">
<summary>
Converts Imaging API IBitmapImage object to .NET Bitmap object
</summary>
<param name="imageBitmap">Source IImageBitmap object</param>
<returns>Bitmap object</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.CreateThumbnail(System.IO.Stream,System.Drawing.Size)">
<summary>
Creates a thumbnail of a specified size out of a (compressed image)
</summary>
<param name="stream">Stream containing the image</param>
<param name="size">requested thumbnail size</param>
<returns>Thumbnail image</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.BitmapToIImageBitmap(System.Drawing.Bitmap)">
<summary>
Converts .NET Bitmap object to Imaging API IBitmapImage object
</summary>
<param name="bitmap">Source Bitmap object</param>
<returns>IImageBitmap object</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.LoadProperty(System.String,OpenNETCF.Drawing.Imaging.ImageTag)">
<summary>
Loads specified image property from the given image
</summary>
<param name="imagePath">path to the image file</param>
<param name="property">Property tag</param>
<returns>Property</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.LoadProperty(OpenNETCF.Drawing.Imaging.IImageDecoder,OpenNETCF.Drawing.Imaging.ImageTag)">
<summary>
Loads specified image property from an ImageDecoder object
</summary>
<param name="decoder"><c>IImageDecoder</c> object</param>
<param name="property">Property tag</param>
<returns>Property</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.LoadProperty(OpenNETCF.Drawing.Imaging.PropertyItem)">
<summary>
Loads managed <c>ImageProperty</c> object from an unmanaged <c>PropertyItem</c>
</summary>
<param name="item"><c>PropertyItem</c></param>
<returns><c>ImageProperty</c></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.GetAllTags(OpenNETCF.Drawing.Imaging.IImageDecoder)">
<summary>
Loads all image tags for the image
</summary>
<param name="decoder"><c>IImageDecoder</c> object</param>
<returns>Array of all tags</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.GetAllProperties(OpenNETCF.Drawing.Imaging.IImageDecoder)">
<summary>
Loads all image properties for the image
</summary>
<param name="decoder"><c>IImageDecoder</c> object</param>
<returns>Array of all properties</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.GetBitmapPalette(OpenNETCF.Drawing.Imaging.IBitmapImage)">
<summary>
Retrieves bitmap palette, or null on error
</summary>
<param name="bitmap">Bitmap whose palette to retireve</param>
<returns>Palette</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.SetBitmapPalette(OpenNETCF.Drawing.Imaging.IBitmapImage,OpenNETCF.Drawing.Imaging.ColorPalette)">
<summary>
Modifies bitmap palette
</summary>
<param name="bitmap">Bitmap</param>
<param name="palette">New palette</param>
<returns>Success indicator</returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.GetInstalledEncoders">
<summary>
Gets all of the installed imaging encoders on the device
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Drawing.Imaging.ImageUtils.GetInstalledDecoders">
<summary>
Gets all of the installed imaging decoders on the device
</summary>
<returns></returns>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.PropertyItem">
<summary>
Internal class
</summary>
</member>
<member name="T:OpenNETCF.Drawing.Imaging.ImageFormatGuid">
<summary>
Standard image format Guids
</summary>
</member>
<member name="T:OpenNETCF.Drawing.RotateFlipType">
<summary>
Specifies the direction of an image's rotation and the axis used to flip the image.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate180FlipXY">
<summary>
Specifies a 180-degree rotation followed by a horizontal and vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.RotateNoneFlipNone">
<summary>
Specifies no rotation and no flipping.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate270FlipXY">
<summary>
Specifies a 270-degree rotation followed by a horizontal and vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate90FlipNone">
<summary>
Specifies a 90-degree rotation without flipping.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate180FlipNone">
<summary>
Specifies a 180-degree rotation without flipping.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.RotateNoneFlipXY">
<summary>
Specifies no rotation followed by a horizontal and vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate270FlipNone">
<summary>
Specifies a 270-degree rotation without flipping.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate90FlipXY">
<summary>
Specifies a 90-degree rotation followed by a horizontal and vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate180FlipY">
<summary>
Specifies a 180-degree rotation followed by a vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.RotateNoneFlipX">
<summary>
Specifies no rotation followed by a horizontal flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate90FlipX">
<summary>
Specifies a 90-degree rotation followed by a horizontal flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate270FlipY">
<summary>
Specifies a 270-degree rotation followed by a vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.RotateNoneFlipY">
<summary>
Specifies no rotation followed by a vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate180FlipX">
<summary>
Specifies a 180-degree rotation followed by a horizontal flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate90FlipY">
<summary>
Specifies a 90-degree rotation followed by a vertical flip.
</summary>
</member>
<member name="F:OpenNETCF.Drawing.RotateFlipType.Rotate270FlipX">
<summary>
Specifies a 270-degree rotation followed by a horizontal flip.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.SystemColorsHelper">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Drawing.SystemColorsHelper.SetSchemeByName(OpenNETCF.Drawing.SystemColorsHelper.SchemeName)">
<summary>
Sets the current system color scheme
</summary>
<param name="aSchemeName"></param>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.GradientActiveCaption">
<summary>
Gets a Color structure that is the lightest color in the color gradient of an active window's title bar.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.GradientInactiveCaption">
<summary>
Gets a Color structure that is the lightest color in the color gradient of an inactive window's title bar.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ActiveBorder">
<summary>
Gets a Color structure that is the color of the active window's border.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.AppWorkspace">
<summary>
Gets a Color structure that is the color of the application workspace.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.Control">
<summary>
Gets a Color structure that is the face color of a 3-D element.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ControlLight">
<summary>
Gets a Color structure that is the light color of a 3-D element.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ControlLightLight">
<summary>
Gets a Color structure that is the highlight color of a 3-D element.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ControlDark">
<summary>
Gets a Color structure that is the shadow color of a 3-D element.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ControlDarkDark">
<summary>
Gets a Color structure that is the dark shadow color of a 3-D element.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ScrollBar">
<summary>
Gets a Color structure that is the color of the background of a scroll bar.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.WindowFrame">
<summary>
Gets a Color structure that is the color of a window frame.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.HotTrack">
<summary>
Gets a Color structure that is the color used to designate a hot-tracked item.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.InactiveBorder">
<summary>
Gets a Color structure that is the color of an inactive window's border.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.Info">
<summary>
Gets a Color structure that is the color of the background of a ToolTip.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.InfoText">
<summary>
Gets a Color structure that is the color of the text of a ToolTip.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ActiveCaption">
<summary>
Gets a Color structure that is the color of the background of the active window's title bar.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ActiveCaptionText">
<summary>
Gets a Color structure that is the color of the text in the active window's title bar.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.ControlText">
<summary>
Gets a Color structure that is the color of text in a 3-D element.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.Desktop">
<summary>
Gets a Color structure that is the color of the desktop.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.DialogBackground">
<summary>
Gets a Color structure that is the color of the background of a Dialog.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.DialogBoxText">
<summary>
Gets a Color structure that is the color of text on a Dialog.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.GrayText">
<summary>
Gets a Color structure that is the color of dimmed text.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.InactiveCaption">
<summary>
Gets a Color structure that is the color of the background of an inactive window's title bar.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.InactiveCaptionText">
<summary>
Gets a Color structure that is the color of the text in an inactive window's title bar.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.Menu">
<summary>
Gets a Color structure that is the color of a menu's background.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.MenuText">
<summary>
Gets a Color structure that is the color of a menu's text.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.Highlight">
<summary>
Gets a Color structure that is the color of the background of selected items.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.HighlightText">
<summary>
Gets a Color structure that is the color of the text of selected items.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.Window">
<summary>
Gets a Color structure that is the color of the background in the client area of a window.
</summary>
</member>
<member name="P:OpenNETCF.Drawing.SystemColorsHelper.WindowText">
<summary>
Gets a Color structure that is the color of the text in the client area of a window.
</summary>
</member>
<member name="T:OpenNETCF.Drawing.SystemColorsHelper.SchemeName">
<summary>
System Color scheme names
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.Brick">
<summary>
Brick
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.Desert">
<summary>
Desert
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.Eggplant">
<summary>
Eggplant
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.HighContrastBlack">
<summary>
High-Contrast Black
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.HighContrastWhite">
<summary>
High-Contrast White
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.Lilac">
<summary>
Lilac
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.Spruce">
<summary>
Spruce
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.Storm">
<summary>
Storm
</summary>
</member>
<member name="F:OpenNETCF.Drawing.SystemColorsHelper.SchemeName.WindowsStandard">
<summary>
Windows Standard
</summary>
</member>
<member name="T:OpenNETCF.Win32.BitmapFileHeader">
<summary>
This structure contains information about the type, size, and layout of a file that containing a device-independent bitmap (DIB).
</summary>
<remarks>Wraps the native <b>BITMAPFILEHEADER</b> structure</remarks>
</member>
<member name="P:OpenNETCF.Win32.BitmapFileHeader.Type">
<summary>
Specifies the file type. It must be BM.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapFileHeader.Size">
<summary>
Specifies the size, in bytes, of the bitmap file.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapFileHeader.OffBits">
<summary>
Specifies the offset, in bytes, from the <b>BitmapFileHeader</b> structure to the bitmap bits.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapFileHeader.Data">
<summary>
Internal data
</summary>
</member>
<member name="T:OpenNETCF.Win32.BitmapInfoHeader">
<summary>
Contains information about the dimensions and color format of a device-independent bitmap (DIB).
</summary>
<remarks>Wrapper for Win32 <b>BITMAPINFOHEADER</b> structure</remarks>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.Size">
<summary>
Specifies the number of bytes required by the structure.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.Width">
<summary>
Specifies the width of the bitmap, in pixels.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.Height">
<summary>
Specifies the height of the bitmap, in pixels.
If biHeight is positive, the bitmap is a bottom-up DIB and its origin is the lower-left corner.
If biHeight is negative, the bitmap is a top-down DIB and its origin is the upper-left corner.
If biHeight is negative, indicating a top-down DIB, biCompression must be either BI_RGB or BI_BITFIELDS.
Top-down DIBs cannot be compressed.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.Planes">
<summary>
Specifies the number of planes for the target device.
This value must be set to 1.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.BitCount">
<summary>
Specifies the number of bits per pixel.
The biBitCount member determines the number of bits that define each pixel and the maximum number of colors in the bitmap.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.Compression">
<summary>
Specifies the type of compression for a compressed bottom-up bitmap (top-down DIBs cannot be compressed).
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.SizeImage">
<summary>
Specifies the size, in bytes, of the image. This may be set to zero for BI_RGB bitmaps.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.XPelsPerMeter">
<summary>
Specifies the horizontal resolution, in pixels per meter, of the target device for the bitmap.
An application can use this value to select a bitmap from a resource group that best matches the characteristics of the current device.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.YPelsPerMeter">
<summary>
Specifies the vertical resolution, in pixels per meter, of the target device for the bitmap
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.ClrUsed">
<summary>
Specifies the number of color indexes in the color table that are actually used by the bitmap.
If this value is zero, the bitmap uses the maximum number of colors corresponding to the value of the biBitCount member for the compression mode specified by biCompression.
</summary>
</member>
<member name="P:OpenNETCF.Win32.BitmapInfoHeader.ClrImportant">
<summary>
Specifies the number of color indexes required for displaying the bitmap.
If this value is zero, all colors are required.
</summary>
</member>
<member name="T:OpenNETCF.Win32.DibSection">
<summary>
Wrapper for WIN32 <b>DIBSECTION</b> structure
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.bmType">
<summary>
Specifies the bitmap type; set to zero.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.bmWidth">
<summary>
Specifies the width, in pixels, of the bitmap.
The width must be greater than zero.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.bmHeight">
<summary>
Specifies the height, in pixels, of the bitmap.
The height must be greater than zero.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.bmWidthBytes">
<summary>
Specifies the number of bytes in each scan line.
This value must be divisible by 2, because the system assumes that the bit values of a bitmap form an array that is word aligned.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.bmPlanes">
<summary>
Specifies the count of color planes.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.bmBitsPixel">
<summary>
Specifies the number of bits required to indicate the color of a pixel.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.bmBits">
<summary>
Pointer to the location of the bit values for the bitmap.
The bmBits member must be a long pointer to an array of character (1-byte) values.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biSize">
<summary>
Specifies the number of bytes required by the structure.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biWidth">
<summary>
Specifies the width of the bitmap, in pixels.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biHeight">
<summary>
Specifies the height of the bitmap, in pixels. If biHeight is positive, the bitmap is a bottom-up DIB and its origin is the lower-left corner. If biHeight is negative, the bitmap is a top-down DIB and its origin is the upper-left corner.
If biHeight is negative, indicating a top-down DIB, biCompression must be either BI_RGB or BI_BITFIELDS. Top-down DIBs cannot be compressed.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biPlanes">
<summary>
Specifies the number of planes for the target device. This value must be set to 1.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biBitCount">
<summary>
Specifies the number of bits-per-pixel. The biBitCount member of the BITMAPINFOHEADER structure determines the number of bits that define each pixel and the maximum number of colors in the bitmap.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biCompression">
<summary>
Specifies the type of compression for a compressed bottom-up bitmap (top-down DIBs cannot be compressed).
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biSizeImage">
<summary>
Specifies the size, in bytes, of the image. This may be set to zero for BI_RGB bitmaps.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biXPelsPerMeter">
<summary>
Specifies the horizontal resolution, in pixels-per-meter, of the target device for the bitmap. An application can use this value to select a bitmap from a resource group that best matches the characteristics of the current device.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biYPelsPerMeter">
<summary>
Specifies the vertical resolution, in pixels-per-meter, of the target device for the bitmap.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biClrUsed">
<summary>
Specifies the number of color indexes in the color table that are actually used by the bitmap. If this value is zero, the bitmap uses the maximum number of colors corresponding to the value of the biBitCount member for the compression mode specified by biCompression.
If biClrUsed is nonzero and the biBitCount member is less than 16, the biClrUsed member specifies the actual number of colors the graphics engine or device driver accesses. If biBitCount is 16 or greater, the biClrUsed member specifies the size of the color table used to optimize performance of the system color palettes. If biBitCount equals 16 or 32, the optimal color palette starts immediately following the three DWORD masks.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.biClrImportant">
<summary>
Specifies the number of color indexes that are required for displaying the bitmap. If this value is zero, all colors are required.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.dsBitfields0">
<summary>
Specifies three color masks for the DIB. This field is only valid when the BitCount member of the BITMAPINFOHEADER structure has a value greater than 8. Each color mask indicates the bits that are used to encode one of the three color channels (red, green, and blue).
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.dsBitfields1">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.dsBitfields2">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.dshSection">
<summary>
Contains a handle to the file mapping object that the CreateDIBSection function used to create the DIB. If CreateDIBSection was called with a NULL value for its hSection parameter, causing the system to allocate memory for the bitmap, the dshSection member will be NULL.
</summary>
</member>
<member name="F:OpenNETCF.Win32.DibSection.dsOffset">
<summary>
Specifies the offset to the bitmap's bit values within the file mapping object referenced by dshSection. If dshSection is NULL, the dsOffset value has no meaning.
</summary>
</member>
<member name="T:OpenNETCF.Win32.GDI">
<summary>
GDI P/Invokes and definitions.
</summary>
</member>
<member name="M:OpenNETCF.Win32.GDI.SetTextColor(System.IntPtr,System.Int32)">
<summary>
Set the forecolor of text in the selected DC
</summary>
<param name="hdc"></param>
<param name="crColor"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.GetTextColor(System.IntPtr)">
<summary>
Get the forecolor of text in the selected DC
</summary>
<param name="hdc"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.SetBkColor(System.IntPtr,System.Int32)">
<summary>
Set the backcolor in the selected DC
</summary>
<param name="hdc"></param>
<param name="crColor"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.SetBkMode(System.IntPtr,OpenNETCF.Win32.GDI.BackgroundMode)">
<summary>
Set the backmode in the selected DC
</summary>
<param name="hdc"></param>
<param name="iBkMode"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.SelectObject(System.IntPtr,System.IntPtr)">
<summary>
Select a system object (FONT, DC, etc.)
</summary>
<param name="hdc"></param>
<param name="hgdiobj"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.ReleaseDC(System.IntPtr,System.IntPtr)">
<summary>
Release a Device Context
</summary>
<param name="hWnd"></param>
<param name="hDC"></param>
</member>
<member name="M:OpenNETCF.Win32.GDI.GetWindowDC(System.IntPtr)">
<summary>
Get the DC for the specified window
</summary>
<param name="hWnd">Native window handle of the window.</param>
<returns>Device Context Handle for specified window.</returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.GetDC(System.IntPtr)">
<summary>
Get the DC for the specified window handle
</summary>
<param name="hWnd"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.Rectangle(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Draw a rectangle in a DC
</summary>
<param name="hdc"></param>
<param name="nLeftRect"></param>
<param name="nTopRect"></param>
<param name="nRightRect"></param>
<param name="nBottomRect"></param>
</member>
<member name="M:OpenNETCF.Win32.GDI.GetObject(System.IntPtr,System.Int32,System.Byte[])">
<summary>
This function obtains information about a specified graphics object.
</summary>
<param name="hObj">Handle to the graphics object of interest.</param>
<param name="cb">Specifies the number of bytes of information to be written to the buffer.</param>
<param name="objdata">a buffer that is to receive the information about the specified graphics object.</param>
<returns>If the function succeeds, and lpvObject is a valid pointer, the return value is the number of bytes stored into the buffer.</returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.GetObject(System.IntPtr,System.Int32,OpenNETCF.Win32.DibSection)">
<summary>
This function obtains information about a specified graphics object.
</summary>
<param name="hObj">Handle to the graphics object of interest.</param>
<param name="cb">Specifies the number of bytes of information to be written to the buffer.</param>
<param name="objdata">a buffer that is to receive the information about the specified graphics object.</param>
<returns>If the function succeeds, and lpvObject is a valid pointer, the return value is the number of bytes stored into the buffer.</returns>
</member>
<member name="M:OpenNETCF.Win32.GDI.CreateSolidBrush(System.Int32)">
<summary>
This function creates a logical brush that has the specified solid color.
</summary>
<param name="crColor">Specifies the color of the brush.</param>
<returns>A handle that identifies a logical brush indicates success.</returns>
</member>
<member name="T:OpenNETCF.Win32.GDI.RegionFlags">
<summary>
Region type
</summary>
</member>
<member name="F:OpenNETCF.Win32.GDI.RegionFlags.ERROR">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GDI.RegionFlags.NULLREGION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GDI.RegionFlags.SIMPLEREGION">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GDI.RegionFlags.COMPLEXREGION">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Win32.GDI.BackgroundMode">
<summary>
Background mode
</summary>
</member>
<member name="F:OpenNETCF.Win32.GDI.BackgroundMode.TRANSPARENT">
<summary>
Background is Transparent.
</summary>
</member>
<member name="F:OpenNETCF.Win32.GDI.BackgroundMode.OPAQUE">
<summary>
Background is Opaque.
</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.Windows.Forms.XML
0,0 → 1,5903
<?xml version="1.0"?>
<doc>
<assembly>
<name>OpenNETCF.Windows.Forms</name>
</assembly>
<members>
<member name="T:OpenNETCF.Windows.Forms.AnimateCtl">
<summary>
Animates an image.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.IWin32Window">
<summary>
Provides an interface to expose Win32 HWND handles.
</summary>
<remarks>This interface is implemented on objects that expose Win32 HWND handles.
The resultant handle can be used with Win32 API calls.
<para>Unlike the desktop .NET Framework this interface is not implemented in the base <see cref="T:System.Windows.Forms.Control"/> class.
However you can implement it on any class which derives from <see cref="T:System.Windows.Forms.Control"/> or <see cref="T:System.Windows.Forms.Form"/>.
The <see cref="P:OpenNETCF.Windows.Forms.IWin32Window.Handle"/> property can then be passed to native API functions such as those contained in the <see cref="T:OpenNETCF.Win32.Win32Window"/> class.</para></remarks>
<example>
<code>
[VB]
Imports OpenNETCF.Windows.Forms
Imports OpenNETCF.Win32
Public Class MyControl
Inherits System.Windows.Forms.Control
Implements IWin32Window
Overridable ReadOnly Property Handle() As System.IntPtr
Get
Me.Capture = True
Dim thishandle As IntPtr
thishandle = Win32Window.GetCapture()
Me.Capture = False
Handle = thishandle
End Get
End Property
End Class
</code>
<code>
[C#]
using OpenNETCF.Windows.Forms;
using OpenNETCF.Win32;
public class MyControl : Control, IWin32Window
{
public IntPtr Handle
{
get
{
this.Capture = true;
IntPtr thishandle = Win32Window.GetCapture();
this.Capture = false;
return thishandle;
}
}
}</code>
</example>
</member>
<member name="P:OpenNETCF.Windows.Forms.IWin32Window.Handle">
<summary>
Gets the handle to the window represented by the implementer.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._bitmap">
<summary>
The bitmap to animate. Can be a GIF or BMP
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._frameCount">
<summary>
The number of frames in the image
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._frameWidth">
<summary>
The width of a frame
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._frameHeight">
<summary>
The Height of the frame
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl.animating">
<summary>
Value to see if the control is animating
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._currentFrame">
<summary>
Number of frames available
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._loopCount">
<summary>
Number of times to loop the animation
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._loopCounter">
<summary>
Number of times the animation as looped
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl._delayInterval">
<summary>
Delay interval for the animation
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl.fTimer">
<summary>
The timer for the animation
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl.drawDirection">
<summary>
The direction of the animiation
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl.autoStartAnimation">
<summary>
Whether the animiation should autostart
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.#ctor">
<summary>
Default contructor
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
Override the painBackground to avoid flickering
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.StartAnimation">
<summary>
Begin animating the image
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.StopAnimation">
<summary>
Stops the current animation
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.DrawFrame(System.Drawing.Graphics)">
<summary>
Draw the frame
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.Draw(System.Int32,System.Drawing.Graphics)">
<summary>
Draw the image
</summary>
<param name="iframe"></param>
<param name="g"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.BackgroundImageColor(System.Drawing.Image)">
<summary>
Gets the background color to make transparent
</summary>
<param name="image"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.ResizeControl">
<summary>
Resize the animation control
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.AnimateCtl.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.AnimateCtl.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Animates an image.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.AnimDrawDirection">
<summary>
The direction of the sequence of images in the image file.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.DrawDirection">
<summary>
The direction of the sequence of images in the image file.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.Image">
<summary>
The image to animate.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.Height">
<summary>
Gets or sets the Height of the control
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.Width">
<summary>
Gets or sets the width of the control
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.FrameWidth">
<summary>
Gets or sets the width of the frame to animate
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.FrameHeight">
<summary>
Gets or sets the height of the frame to animate
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.DelayInterval">
<summary>
Gets or sets the delay interval for the control
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.LoopCount">
<summary>
Gets or sets the amount of times to loop the animation. -1 to loop infinitly.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.AnimateCtl.AutoStartAnimation">
<summary>
Gets or sets whether the animation should auto start.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.Application2">
<summary>
Provides static (Shared in Visual Basic) methods and properties to manage an application, such as methods to start and stop an application, to process Windows messages, and properties to get information about an application. This class cannot be inherited.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.Run(System.Boolean)">
<summary>
Begins running a standard application message loop on the current thread, without a form.
</summary>
<param name="runAsSingletonApp">When <b>true</b>, if an existing instance of the app is already running, the current application instance will simply exit</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.Run(System.Windows.Forms.Form,System.Boolean)">
<summary>
Begins running a standard application message loop on the current thread, and makes the specified form visible.
</summary>
<param name="mainForm">Form on which main message loop runs</param>
<param name="runAsSingletonApp">When <b>true</b>, if an existing instance of the app is already running, the current application instance will simply exit and the already running app will come to the fore</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.Run(System.Windows.Forms.Form,System.Boolean,System.Boolean)">
<summary>
Begins running a standard application message loop on the current thread, and makes the specified form visible.
</summary>
<param name="mainForm">Form on which main message loop runs</param>
<param name="runAsSingletonApp">When <b>true</b>, if an existing instance of the app is already running, the current application instance will simply exit and the already running app will come to the fore</param>
<param name="displayMainForm">When set to true, the main form will be automatically displayed, else the app will be responsible for showing the Form</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.Run">
<summary>
Begins running a standard application message loop on the current thread, without a form
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.Run(System.Windows.Forms.Form)">
<summary>
Begins running a standard application message loop on the current thread, and makes the specified form visible.
<seealso cref="T:System.Windows.Forms.Form"/>
</summary>
<param name="mainForm">Form on which main message loop runs</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.Exit">
<summary>
Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.DoEvents">
<summary>
Processes all Windows messages currently in the message queue.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.AddMessageFilter(OpenNETCF.Windows.Forms.IMessageFilter)">
<summary>
Adds a message filter to monitor Windows messages as they are routed to their destinations
<seealso cref="T:OpenNETCF.Windows.Forms.IMessageFilter"/>
</summary>
<param name="value">The implementation of the IMessageFilter interface you want to install</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Application2.RemoveMessageFilter(OpenNETCF.Windows.Forms.IMessageFilter)">
<summary>
Removes a message filter from the message pump of the application
<seealso cref="T:OpenNETCF.Windows.Forms.IMessageFilter"/>
</summary>
<param name="value">The implementation of the IMessageFilter to remove from the application.</param>
</member>
<member name="E:OpenNETCF.Windows.Forms.Application2.ThreadExit">
<summary>
Occurs when Application2.Run exits
<seealso cref="M:OpenNETCF.Windows.Forms.Application2.Exit"/>
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.Application2.ApplicationExit">
<summary>
Occurs when the application is about to shut down.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Application2.MessageLoop">
<summary>
Gets a value indicating whether a message loop exists on this thread.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Application2.StartupPath">
<summary>
Gets the path for the currently executing assembly file, not including the executable name.
</summary>
<value>The path for the executable file that started the application.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Application2.ExecutablePath">
<summary>
Gets the path for the executable file that started the application, including the executable name.
</summary>
<value>The path and executable name for the executable file that started the application.</value>
</member>
<member name="T:OpenNETCF.Windows.Forms.BatteryChargeStatus">
<summary>
Defines identifiers that indicate the current battery charge level or charging state information.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChargeStatus.High">
<summary>
Indicates a high level of battery charge.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChargeStatus.Low">
<summary>
Indicates a low level of battery charge.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChargeStatus.Critical">
<summary>
Indicates a critically low level of battery charge.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChargeStatus.Charging">
<summary>
Indicates a battery is charging.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChargeStatus.NoSystemBattery">
<summary>
Indicates that no battery is present.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChargeStatus.Unknown">
<summary>
Indicates an unknown battery condition.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.BatteryChemistry">
<summary>
Identifies the chemistry of the devices main battery.
</summary>
<remarks>This enumeration is used by the <see cref="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryChemistry"/> property.</remarks>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChemistry.Alkaline">
<summary>
Alkaline battery.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChemistry.NiCad">
<summary>
Nickel Cadmium battery.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChemistry.NiMH">
<summary>
Nickel Metal Hydride battery.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChemistry.Lion">
<summary>
Lithium Ion battery.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChemistry.LiPoly">
<summary>
Lithium Polymer battery.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChemistry.ZincAir">
<summary>
Zinc Air battery.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryChemistry.Unknown">
<summary>
Battery chemistry is unknown.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.BatteryLife">
<summary>
Represents a control that indicates the percentage of remaining battery life.
</summary>
<remarks>This control will not work as expected on the emulator since, in the current release, battery life is not emulated.</remarks>
<example>
<code>
[C#]
public class Form1 : System.Windows.Forms.Form
{
private OpenNETCF.Windows.Forms.BatteryLife batteryLife1;
private System.Windows.Forms.Button button1;
public Form1()
{
batteryLife1 = new OpenNETCF.Windows.Forms.BatteryLife();
button1 = new System.Windows.Forms.Button();
button1.Click += new System.EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
// Call the UpdateBatteryLife method when the percentage bar should be refreshed with the latest battery life status.
batteryLife1.UpdateBatteryLife();
}
}
</code>
</example>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.#ctor">
<summary>
Initializes a new instance of the BatteryLife class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.Finalize">
<summary>
Allows an instance of the BatteryLife class to attempt to free resources and perform other cleanup operations.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.Dispose">
<summary>
Releases all resources used by the BatteryLife instance.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the BatteryLife instance and optionally releases the managed resources.
</summary>
<param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the Paint event.
</summary>
<param name="e">A PaintEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
Paints the background of the control.
</summary>
<param name="e">A PaintEventArgs that contains information about the control to paint.</param>
<remarks>
<b>Notes to Inheritors:</b> With the the hope of preventing noticeable flicker, this method has be overridden to do nothing. Therefore, all painting should be done in the OnPaint method.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.OnResize(System.EventArgs)">
<summary>
Raises the Resize event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.UpdateBatteryLife">
<summary>
Updates the display that represents the percentage of remaining battery life.
</summary>
<remarks>In addition to updating the display this method also refreshes the value of the PowerStatus property.</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryLife.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Represents a control that indicates the percentage of remaining battery life.
</summary>
<remarks>This control will not work as expected on the emulator since, in the current release, battery life is not emulated.</remarks>
<example>
<code>
[C#]
public class Form1 : System.Windows.Forms.Form
{
private OpenNETCF.Windows.Forms.BatteryLife batteryLife1;
private System.Windows.Forms.Button button1;
public Form1()
{
batteryLife1 = new OpenNETCF.Windows.Forms.BatteryLife();
button1 = new System.Windows.Forms.Button();
button1.Click += new System.EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
// Call the UpdateBatteryLife method when the percentage bar should be refreshed with the latest battery life status.
batteryLife1.UpdateBatteryLife();
}
}
</code>
</example>
</member>
<member name="P:OpenNETCF.Windows.Forms.BatteryLife.BorderColor">
<summary>
Gets or sets the color of the border for the control.
</summary>
<value>A <see cref="T:System.Drawing.Color" /> value that represents the border color of the control. The default is Color.Black.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.BatteryLife.PercentageBarColor">
<summary>
Gets or sets the color used to display the percentage of remaining battery life.
</summary>
<value>A <see cref="T:System.Drawing.Color" /> value that represents the color used to display the percentage of remaining battery life. The default is SystemColors.Highlight.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.BatteryLife.PowerStatus">
<summary>
Gets the system power status information.
</summary>
<value>A <see cref="T:OpenNETCF.Windows.Forms.PowerStatus" /> that represents the system power status information.</value>
</member>
<member name="T:OpenNETCF.Windows.Forms.BatteryMonitor">
<summary>
Represents a component that monitors the battery level.
</summary>
<example>
<code>
[C#]
public class Form1 : System.Windows.Forms.Form
{
private System.ComponentModel.IContainer components = null;
private OpenNETCF.Windows.Forms.BatteryMonitor batteryMonitor1;
public Form1()
{
batteryMonitor1 = new OpenNETCF.Windows.Forms.BatteryMonitor(components);
batteryMonitor1.PrimaryBatteryLifeTrigger = 75;
batteryMonitor1.PrimaryBatteryLifeNotification += new System.EventHandler(batteryMonitor1_PrimaryBatteryLifeNotification);
batteryMonitor1.Enabled = true;
}
protected override void Dispose(bool disposing)
{
if ((disposing) &amp;&amp; (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void batteryMonitor1_PrimaryBatteryLifeNotification(object sender, EventArgs e)
{
// Do something here.
}
}
</code>
</example>
</member>
<member name="F:OpenNETCF.Windows.Forms.BatteryMonitor.DefaultBatteryLifePercent">
<summary>
Specifies the default value for the PrimaryBatteryLifeTrigger property.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryMonitor.#ctor">
<summary>
Initializes a new instance of the BatteryMonitor class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryMonitor.#ctor(System.ComponentModel.IContainer)">
<summary>
Initializes a new instance of the BatteryMonitor class with the specified container.
</summary>
<param name="container">An IContainer that represents the container for the BatteryMonitor.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryMonitor.Finalize">
<summary>
Allows an instance of the BatteryMonitor class to attempt to free resources and perform other cleanup operations.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryMonitor.Dispose">
<summary>
Releases all resources used by the BatteryMonitor instance.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryMonitor.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the BatteryMonitor instance and optionally releases the managed resources.
</summary>
<param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryMonitor.OnPrimaryBatteryLifeNotification(System.EventArgs)">
<summary>
Raises the PrimaryBatteryLifeNotification event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.BatteryMonitor.Timer_Tick(System.Object,System.EventArgs)">
<summary>
The event handler used to determine if notifications should be sent to subscribers.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.BatteryMonitor.Enabled">
<summary>
Gets or sets a value that represents whether the power notification events will be raised.
</summary>
<value>A <see cref="T:System.Boolean" /> value that represents whether the power notification events will be raised. The default is <b>false</b>.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.BatteryMonitor.Interval">
<summary>
Gets or sets a value that represents how often the system power is queried, in milliseconds.
</summary>
<value>A <see cref="T:System.Int32" /> value that represents how often the system power is queried, in milliseconds. The default is 1000 (1 second).</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.BatteryMonitor.PrimaryBatteryLifeTrigger">
<summary>
Gets or sets a value that represents the percentage at which the PrimaryBatteryLifeNotification event should be raised.
</summary>
<value>A <see cref="T:System.Int32" /> value that represents the percentage at which the PrimaryBatteryLifeNotification event should be raised. The default is the value of the DefaultBatteryLifePercent constant.</value>
</member>
<member name="E:OpenNETCF.Windows.Forms.BatteryMonitor.PrimaryBatteryLifeNotification">
<summary>
Occurs when the primary battery life percentage is equal to the value of the PrimaryBatteryLifeTrigger property.
</summary>
<remarks>
The Enabled property will be set to <b>false</b> when this event is raised. This prevents
event handlers from being called multiple times while the trigger is satisfied. To receive
further power notifications the Enabled property must once again be set to <b>true</b>.
</remarks>
</member>
<member name="T:OpenNETCF.Windows.Forms.Button2">
<summary>
Represents a button control.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.ButtonBase2">
<summary>
Implements the basic functionality common to button controls.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.#ctor">
<summary>
Initializes the base information for a class derived from ButtonBase2.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the ButtonBase2 and optionally releases the managed resources.
</summary>
<param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.DisposeDoubleBuffer">
<summary>
Clean up the objects used to represent the double buffer for the presentation of the control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.DrawDoubleBuffer(System.Drawing.Graphics)">
<summary>
Draws the contents of the buffer to the control if the presentation was double buffered.
</summary>
<param name="controlGraphics">A <see cref="T:System.Drawing.Graphics"/> object representing the drawing surface of the control in which to output the contents of the buffer.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.GetPresentationMedium(System.Drawing.Graphics)">
<summary>
Gets a reference to the proper drawing medium used to update the presentation of the control.
</summary>
<param name="controlGraphics">A <see cref="T:System.Drawing.Graphics"/> object representing the drawing surface of the control.</param>
<returns>A <see cref="T:System.Drawing.Graphics"/> object that should be used to update the presentation of the control.</returns>
<remarks>
The <see cref="T:System.Drawing.Graphics"/> object returned from this method will either be a reference to the buffer, if the DoubleBuffered property is set to <b>true</b>, or the reference to the drawing surface of the control that was provided as the argument.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.IsSequentialPaintingComplete(System.Int32)">
<summary>
Determines if the specified sequential painting token was the last one registered.
</summary>
<param name="sequentialPaintingToken">A <see cref="T:System.Int32"/> that specifies the sequential painting token to compare with the last registered token.</param>
<returns>A <see cref="T:System.Boolean"/> that is set to <b>true</b> if the specified sequential painting token was the last one registered; otherwise, <b>false</b>.</returns>
<remarks>
A control can register for sequential painting by calling the RegisterSequentialPainting method.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.NotifyPaintingComplete(System.Int32,System.Windows.Forms.PaintEventArgs)">
<summary>
Indicates that a certain class (generation) in the control hierarchy has completed updating the presentation.
</summary>
<param name="sequentialPaintingToken">A <see cref="T:System.Int32"/> that specifies the sequential painting token of the class (generation) that has completed updating the presentation.</param>
<param name="args">A <see cref="T:System.Windows.Forms.PaintEventArgs"/> that references the original paint argument passed to the OnPaint method.</param>
<remarks>
If the sequential painting token argument represents the last token registered, this method will raise the Paint event, using the double buffer <see cref="T:System.Drawing.Graphics"/> object if the DoubleBuffered property is set to <b>true</b>, and will also draw the contents of the buffer to the control, if applicable.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
<summary>
Raises the KeyDown event.
</summary>
<param name="e">A KeyEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the Paint event.
</summary>
<param name="e">A PaintEventArgs that contains the event data.</param>
<remarks>
<b>Notes to Inheritors:</b> See the example section for the recommended pattern to ensure that double buffering and structured paint sequencing are both accommodated.
</remarks>
<example>
<code>
[C#]
namespace MyCompanyName.TechnologyName
{
public class Button : OpenNETCF.Windows.Forms.ButtonBase2
{
private readonly int sequentialPaintingToken = Int32.MinValue;
public Button()
{
// Note: The RegisterSequentialPainting method should only be called if the OnPaint method,
// in this class, is to be overridden.
// Register in the sequential painting process so that, primarily, if this class is the most
// derived class in the hierarchy that needs to update the presentation of the control, the
// Paint event may be delayed until all classes in the hierarchy have had a chance to update
// the presentation.
this.sequentialPaintingToken = base.RegisterSequentialPainting();
// Note: Double buffering does not need to be enabled for sequential painting to take place.
// Request that the presentation be buffered before being drawn to the control.
base.DoubleBuffered = true;
}
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
// Call the base classes OnPaint method to ensure that all appropriate base painting has been
// done prior to performing the presentation contribution of this class.
base.OnPaint(e);
// Get a reference to the proper Graphics object used to update the presentation of the control.
Graphics presentation = base.GetPresentationMedium(e.Graphics);
// ...
// presentation.FillRectangle(Brush, X, Y, Width, Height);
// ...
// Indicate that this class is done updating the presentation. If the sequential paint token
// for this class was the last one registered, then the Paint event will be triggered, and,
// if the presentation was double buffered, the contents of the buffer will be drawn to the
// control.
base.NotifyPaintingComplete(this.sequentialPaintingToken, e);
}
}
}
</code>
</example>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
Paints the background of the control.
</summary>
<param name="e">A PaintEventArgs that contains information about the control to paint.</param>
<remarks>
<b>Notes to Inheritors:</b> With the the hope of preventing noticeable flicker, this method has be overridden to do nothing. Therefore, all painting should be done in the OnPaint method.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.OnResize(System.EventArgs)">
<summary>
Raises the Resize event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.RaisePaintEvent(System.Windows.Forms.PaintEventArgs)">
<summary>
Explicitly raises the Paint event with double buffer awareness.
</summary>
<param name="args">A <see cref="T:System.Windows.Forms.PaintEventArgs"/> that references the original paint argument passed to the OnPaint method.</param>
<remarks>
If the DoubleBuffered property is set to <b>true</b>, the double buffer <see cref="T:System.Drawing.Graphics"/> object will be passed through the event.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.RegisterSequentialPainting">
<summary>
Registers the caller in the sequential painting process by generating a token that the caller can use to identify its sequencing order.
</summary>
<returns>A <see cref="T:System.Int32"/> that represents a sequential painting token.</returns>
<remarks>
The token generated by this method should be stored by the caller and passed back to this class when calling methods such as NotifyPaintingComplete or IsSequentialPaintingComplete.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.ResetImage">
<summary>
Resets the Image property to its default value.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.ResetImageAlign">
<summary>
Resets the ImageAlign property to its default value.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.ResetTextAlign">
<summary>
Resets the TextAlign property to its default value.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.ShouldSerializeImage">
<summary>
Indicates whether the Image property should be persisted.
</summary>
<returns><b>true</b> if the property value has changed from its default; otherwise, <b>false</b>.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.ShouldSerializeImageAlign">
<summary>
Indicates whether the ImageAlign property should be persisted.
</summary>
<returns><b>true</b> if the property value has changed from its default; otherwise, <b>false</b>.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.ShouldSerializeTextAlign">
<summary>
Indicates whether the TextAlign property should be persisted.
</summary>
<returns><b>true</b> if the property value has changed from its default; otherwise, <b>false</b>.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.UpdateDoubleBuffer">
<summary>
Creates, or recreates, the objects used to represent the double buffer for the presentation of the control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ButtonBase2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Implements the basic functionality common to button controls.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.BackgroundImage">
<summary>
Gets or sets the background image displayed in the control.
</summary>
<value>A <see cref="T:System.Drawing.Image"/> that represents the image to display in the background of the control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.Image">
<summary>
Gets or sets the image that is displayed on the control.
</summary>
<value>The <see cref="T:System.Drawing.Image"/> displayed on the control. The default value is a null reference (Nothing in Visual Basic).</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.ImageAlign">
<summary>
Gets or sets the alignment of the image on the control.
</summary>
<value>One of the <see cref="T:OpenNETCF.Drawing.ContentAlignment2"/> values. The default value is MiddleCenter.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.ImageIndex">
<summary>
Gets or sets the image list index value of the image displayed on the control.
</summary>
<value>A zero-based index, which represents the image position in a <see cref="T:System.Windows.Forms.ImageList"/>. The default is -1.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.ImageList">
<summary>
Gets or sets the image list that contains the image displayed on the control.
</summary>
<value>A <see cref="T:System.Windows.Forms.ImageList"/>. The default value is a null reference (Nothing in Visual Basic).</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.IsDisposed">
<summary>
Gets a value indicating whether the control has been disposed.
</summary>
<value><b>true</b> if the control has been disposed; otherwise, <b>false</b>.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.TextAlign">
<summary>
Gets or sets the alignment of the text on the control.
</summary>
<value>One of the <see cref="T:OpenNETCF.Drawing.ContentAlignment2"/> values. The default value is MiddleCenter.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.DoubleBuffer">
<summary>
Gets the object used to represent the double buffer for the presentation of the control.
</summary>
<value>A <see cref="T:System.Drawing.Graphics"/> object used to double buffer the presentation of the control.</value>
<remarks>
The DoubleBuffered property must be set to <b>true</b> for this property to return a valid object. If the DoubleBuffered property is set to <b>false</b>, the default, then this property will return a null reference (Nothing in Visual Basic).
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.DoubleBuffered">
<summary>
Gets or sets a value indicating whether the presentation of the control is double buffered.
</summary>
<value>A <see cref="T:System.Boolean"/> that is set to <b>true</b> if the presentation of the control is double buffered; otherwise, <b>false</b>. The default is <b>false</b>.</value>
<remarks>
See the example section of the OnPaint method for the recommended pattern to ensure that double buffering is accommodated.
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.ButtonBase2.IsDefault">
<summary>
Gets or sets a value indicating whether the button control is the default button.
</summary>
<value><b>true</b> if the button control is the default button; otherwise, <b>false</b>.</value>
</member>
<member name="T:OpenNETCF.Windows.Forms.IButtonControl">
<summary>
Allows a control to act like a button on a form.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.IButtonControl.NotifyDefault(System.Boolean)">
<summary>
Notifies a control that it is the default button so that its appearance and behavior are adjusted accordingly.
</summary>
<param name="value"><b>true</b> if the control should behave as a default button; otherwise, <b>false</b>.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.IButtonControl.PerformClick">
<summary>
Generates a Click event for the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.IButtonControl.DialogResult">
<summary>
Gets or sets the value returned to the parent form when the button is clicked.
</summary>
<value>One of the <see cref="T:System.Windows.Forms.DialogResult"/> values.</value>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.#ctor">
<summary>
Initializes a new instance of the Button2 class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.GetLocationFromContentAlignment(OpenNETCF.Drawing.ContentAlignment2,System.Drawing.SizeF,System.Drawing.Rectangle)">
<summary>
Determines the location at which the content should be displayed, on the control, based on the indicated alignment value.
</summary>
<param name="alignment">The <see cref="T:OpenNETCF.Drawing.ContentAlignment2"/> that represents how the content should be positioned on the control.</param>
<param name="contentSize">The <see cref="T:System.Drawing.SizeF"/> containing the width and height of the content to display on the control.</param>
<param name="clipRect">The <see cref="T:System.Drawing.Rectangle"/> that represents the allotted area in which the content may be displayed.</param>
<returns>A <see cref="T:System.Drawing.Point"/> containing the x and y coordinates at which the content should be displayed.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.NotifyDefault(System.Boolean)">
<summary>
Notifies the button whether it is the default button so that it can adjust its appearance accordingly.
</summary>
<param name="value"><b>true</b> if the button is to have the appearance of the default button; otherwise, <b>false</b>.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnClick(System.EventArgs)">
<summary>
Raises the Click event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnDoubleClick(System.EventArgs)">
<summary>
Raises the DoubleClick event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnEnabledChanged(System.EventArgs)">
<summary>
Raises the EnabledChanged event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnGotFocus(System.EventArgs)">
<summary>
Raises the GotFocus event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnKeyPress(System.Windows.Forms.KeyPressEventArgs)">
<summary>
Raises the KeyPress event.
</summary>
<param name="e">A KeyPressEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnLostFocus(System.EventArgs)">
<summary>
Raises the LostFocus event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseDown event.
</summary>
<param name="e">A MouseEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseMove event.
</summary>
<param name="e">A MouseEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the Paint event.
</summary>
<param name="e">A PaintEventArgs that contains the event data.</param>
<remarks>
<b>Notes to Inheritors:</b> See the example section, in the <see cref="T:OpenNETCF.Windows.Forms.ButtonBase2"/> control documentation, for the recommended pattern to ensure that double buffering and structured paint sequencing are both accommodated.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OnTextChanged(System.EventArgs)">
<summary>
Raises the TextChanged event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.PerformClick">
<summary>
Generates a Click event for a button.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Button2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Represents a button control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.ShowFocusBorder">
<summary>
Determines if the control will show a border when it has focus
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.ActiveBackColor">
<summary>
Gets or sets the background color for the control in an active state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the active background color of the control. The default is SystemColors.ControlText.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.ActiveBackgroundImage">
<summary>
Gets or sets the background image displayed for the control in an active state.
</summary>
<value>A <see cref="T:System.Drawing.Image"/> that represents the active image to display in the background of the control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.ActiveBorderColor">
<summary>
Gets or sets the color of the border for the control in an active state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the border color of the control. The default is Color.Black.</value>
<remarks>
This property is only valid when the BorderStyle property is set to FixedSingle.
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.ActiveForeColor">
<summary>
Gets or sets the foreground color for the control in an active state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the active foreground color of the control. The default is SystemColors.Control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.BorderColor">
<summary>
Gets or sets the color of the border for the control in an enabled state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the border color of the control. The default is Color.Black.</value>
<remarks>
This property is only valid when the BorderStyle property is set to FixedSingle.
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.BorderStyle">
<summary>
Gets or sets the style of the border for the control.
</summary>
<value>One of the <see cref="T:System.Windows.Forms.BorderStyle"/> values. The default is FixedSingle.</value>
<remarks>
It is recommended that applications targeting the broad Windows platform use the Fixed3D value, and applications targeting either the Pocket PC or Smartphone platform use the default, FixedSingle.
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.DialogResult">
<summary>
Gets or sets a value that is returned to the parent form when the button is activated.
</summary>
<value>One of the <see cref="T:System.Windows.Forms.DialogResult"/> values. The default value is None.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.DisabledBackColor">
<summary>
Gets or sets the background color for the control in a disabled state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the disabled background color of the control. The default is SystemColors.Control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.DisabledBackgroundImage">
<summary>
Gets or sets the background image displayed for the control in a disabled state.
</summary>
<value>A <see cref="T:System.Drawing.Image"/> that represents the disabled image to display in the background of the control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.DisabledBorderColor">
<summary>
Gets or sets the color of the border for the control in a disabled state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the disabled border color of the control.</value>
<remarks>
This property is only valid when the BorderStyle property is set to FixedSingle.
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.DisabledForeColor">
<summary>
Gets or sets the foreground color for the control in a disabled state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the disabled foreground color of the control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Button2.TransparentImage">
<summary>
Gets or sets a value indicating whether the foreground image for the control contains transparency.
</summary>
<value>A <see cref="T:System.Boolean"/> that is set to <b>true</b> if the foreground image of the control contains transparency; otherwise, <b>false</b>. The default is <b>true</b>.</value>
<remarks>
The color of the top-left pixel in the foreground image is used as the transparency key.
</remarks>
</member>
<member name="T:OpenNETCF.Windows.Forms.CharacterCasing">
<summary>
Specifies the case of characters in a <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> control.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.CharacterCasing.Normal">
<summary>
The case of characters is left unchanged.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.CharacterCasing.Upper">
<summary>
Converts all characters to uppercase.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.CharacterCasing.Lower">
<summary>
Converts all characters to lowercase.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.CheckBox2">
<summary>
Represents an enhanced CheckBox with similar functionality that's available in the .NET Framework.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.#ctor">
<summary>
Initializes a new instance of the CheckBox2 class
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnCheckStateChanged(System.EventArgs)">
<summary>
Raises the System.Windows.Forms.CheckBox.CheckStateChanged event.
</summary>
<param name="e">A System.EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.ScaleControl(System.Drawing.SizeF,System.Windows.Forms.BoundsSpecified)">
<summary>
Scales a controls location, size, padding and margin.
</summary>
<param name="factor"></param>
<param name="specified"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the PaintEvent.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnGotFocus(System.EventArgs)">
<summary>
Raises the GotFocus event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnLostFocus(System.EventArgs)">
<summary>
Raises the LostFocus event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnParentChanged(System.EventArgs)">
<summary>
Raises the ParentChanged event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnResize(System.EventArgs)">
<summary>
Raises the Resize event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseUp event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseDown event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnTextChanged(System.EventArgs)">
<summary>
Raises the TextChanged event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnEnabledChanged(System.EventArgs)">
<summary>
Raises the EnabledChanged event
</summary>
<param name="e"></param>
</member>
<member name="F:OpenNETCF.Windows.Forms.CheckBox2.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnKeyPress(System.Windows.Forms.KeyPressEventArgs)">
<summary>
Raises the OnKeyPress event
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
<summary>
Raises the OnKeyUp event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.DrawFocusRectangle(System.Drawing.Rectangle,System.Drawing.Rectangle)">
<summary>
New for v2.1. Draws a focus rectangle similar to WM5 functionality.
</summary>
<param name="checkRect"></param>
<param name="textRect"></param>
<version>2.1</version>
</member>
<member name="M:OpenNETCF.Windows.Forms.CheckBox2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Represents an enhanced CheckBox with similar functionality that's available in the .NET Framework.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.CheckBox2.CheckStateChanged">
<summary>
Occurs when the value of the CheckBox.CheckState property changes.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.CheckAlign">
<summary>
Gets or sets the alignment of the checkBox.
</summary>
<exception cref="T:System.NotSupportedException">CheckBox2 does not support ContentAlignment.TopCenter.</exception>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.CheckState">
<summary>
Gets or sets the state of the check box.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.BorderStyle">
<summary>
Gets or sets the border style color of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.Text">
<summary>
Gets or sets the text associated with this control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.Checked">
<summary>
Gets or set a value indicating whether the check box is in the checked state.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.AutoCheck">
<summary>
Gets or set a value indicating whether the Checked or CheckState values and the check box's appearance are automatically changed when the check box is clicked.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.ForeColor">
<summary>
Gets or sets the color of the text of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.CheckBoxColor">
<summary>
Gets or sets the color of the checkbox itself in the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.BackColor">
<summary>
Gets or sets the background color for the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CheckBox2.DrawFocusedRectangle">
<summary>
New in v2.1. Gets or Sets the value indicating if the focused rectangle should be drawn.
</summary>
<version>2.1</version>
</member>
<member name="T:OpenNETCF.Windows.Forms.Clipboard2">
<summary>
Provides methods to place data on and retrieve data from the system clipboard.
</summary>
<remarks>For a list of predefined formats to use with the Clipboard class, see the <see cref="T:System.Windows.Forms.DataFormats"/> class.
<para>Call <see cref="M:OpenNETCF.Windows.Forms.Clipboard2.SetDataObject(System.Object)"/> to put data on the clipboard.</para>
<para>Place data on the clipboard in multiple formats to maximize the possibility that a target application, whose format requirements you might not know, can successfully retrieve the data.</para>
<para>Call <see cref="M:OpenNETCF.Windows.Forms.Clipboard2.GetDataObject"/> to retrieve data from the clipboard.
The data is returned as an object that implements the <see cref="T:System.Windows.Forms.IDataObject"/> interface.
Use the methods specified by <see cref="T:System.Windows.Forms.IDataObject"/> and fields in <see cref="T:System.Windows.Forms.DataFormats"/> to extract the data from the object.
If you do not know the format of the data you retrieved, call the <see cref="M:System.Windows.Forms.IDataObject.GetFormats(System.Boolean)"/> method of the <see cref="T:System.Windows.Forms.IDataObject"/> interface to get a list of all formats that data is stored in.
Then call the <see cref="M:System.Windows.Forms.IDataObject.GetData(System.String,System.Boolean)"/> method of the <see cref="T:System.Windows.Forms.IDataObject"/> interface, and specify a format that your application can use.</para>
<para>All Windows applications share the system clipboard, so the contents are subject to change when you switch to another application.</para>.
Supports only Unicode text and Image (Bitmap) formats.</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.Clear">
<summary>
Clears the contents of the Clipboard.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.ContainsData(System.String)">
<summary>
Determines if clipboard contains data in the specified format
</summary>
<param name="format">A clipboard format, see <see cref="T:System.Windows.Forms.DataFormats"/> for possible values.</param>
<returns>True if clipboard contains specified format; otherwise False.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.ContainsImage">
<summary>
Determines if clipboard contains an Image.
</summary>
<returns>True if clipboard contains Image; otherwise False.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.ContainsText">
<summary>
Determines if clipboard contains Text.
</summary>
<returns>True if clipboard contains Text; otherwise False.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.GetData(System.String)">
<summary>
Retrieves data from the Clipboard in the specified format.
</summary>
<param name="format">Clipboard format, see <see cref="T:System.Windows.Forms.DataFormats"/> for possible values.</param>
<returns>Returns the specified data or null if not present.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.SetImage(System.Drawing.Image)">
<summary>
Adds an <see cref="T:System.Drawing.Image"/> to the Clipboard in the <see cref="F:System.Windows.Forms.DataFormats.Bitmap"/> format.
</summary>
<param name="image">An Image that must be placed on clipboard.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.GetImage">
<summary>
Retrieves an image from the Clipboard.
</summary>
<returns>An Image from clipboard or null if doesn't contain Image.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.SetText(System.String)">
<summary>
Places specified text onto the clipboard.
</summary>
<param name="text">Text to be added to the clipboard</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.GetText">
<summary>
Retrieves data from the clipboard as text.
</summary>
<returns>Text representation of clipboard contents</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.SetDataObject(System.Object)">
<summary>
Places nonpersistent data on the system clipboard.
</summary>
<param name="data">The data to place on the clipboard.</param>
<exception cref="T:System.ArgumentNullException">The value of data is null.</exception>
</member>
<member name="M:OpenNETCF.Windows.Forms.Clipboard2.GetDataObject">
<summary>
Retrieves the data that is currently on the system clipboard.
</summary>
<returns>An <see cref="T:System.Windows.Forms.IDataObject"/> that represents the data currently on the clipboard, or null if there is no data on the clipboard.</returns>
</member>
<member name="T:OpenNETCF.Windows.Forms.DataFormats2">
<summary>
Provides static, predefined <see cref="T:System.Windows.Forms.Clipboard"/> format names.
Use them to identify the format of data that you store in an <see cref="T:System.Windows.Forms.IDataObject"/>.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DataFormats2.Bitmap">
<summary>
Specifies a Windows bitmap format.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DataFormats2.Text">
<summary>
Specifies the standard ANSI text format.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DataFormats2.UnicodeText">
<summary>
Specifies the standard Windows Unicode text format.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DataFormats2.WaveAudio">
<summary>
Specifies the wave audio format, which Windows Forms does not directly use.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DataFormats2.GetFormat(System.Int32)">
<summary>
Returns a <see cref="T:OpenNETCF.Windows.Forms.DataFormats2.Format"/> with the Windows Clipboard numeric ID and name for the specified ID.
</summary>
<param name="id">The format ID.</param>
<returns>A <see cref="T:OpenNETCF.Windows.Forms.DataFormats2.Format"/> that has the Windows Clipboard numeric ID and the name of the format.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.DataFormats2.GetFormat(System.String)">
<summary>
Returns a <see cref="T:OpenNETCF.Windows.Forms.DataFormats2.Format"/> with the Windows Clipboard numeric ID and name for the specified format.
</summary>
<param name="format">The format name.</param>
<returns>A <see cref="T:OpenNETCF.Windows.Forms.DataFormats2.Format"/> that has the Windows Clipboard numeric ID and the name of the format.</returns>
</member>
<member name="T:OpenNETCF.Windows.Forms.DataFormats2.Format">
<summary>
Represents a clipboard format type.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DataFormats2.Format.#ctor(System.String,System.Int32)">
<summary>
Create a new instance of Format.
</summary>
<param name="name">Name of the format.</param>
<param name="id">ID number of the format.</param>
</member>
<member name="P:OpenNETCF.Windows.Forms.DataFormats2.Format.Name">
<summary>
Gets the name of this format.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DataFormats2.Format.Id">
<summary>
Gets the ID number for this format.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.ColorDialog">
<summary>
Represents a common dialog box that displays available colors along with controls that allow the user to define custom colors.
</summary>
<remarks>The method <see cref="M:OpenNETCF.Windows.Forms.ColorDialog.ShowDialog"/> must be invoked to create this specific common dialog box.
Use <see cref="P:OpenNETCF.Windows.Forms.ColorDialog.Color"/> to retrieve the color selected by the user.
<para>When you create an instance of ColorDialog, some of the read/write properties are set to initial values.
For a list of these values, see the ColorDialog constructor.</para></remarks>
<platform><frameworks><compact>true</compact></frameworks></platform>
</member>
<member name="M:OpenNETCF.Windows.Forms.ColorDialog.#ctor">
<summary>
Initializes a new instance of the <b>ColorDialog</b> class.
</summary>
<remarks>When you create an instance of ColorDialog, the following read/write properties are set to initial values.
<list type="table"><listheader><term>Property</term><term>Initial Value</term></listheader>
<item><term>AllowFullOpen</term><term>true</term></item>
<item><term>Color</term><term>Color.Black</term></item>
<item><term>CustomColors</term><term>A null reference (Nothing in Visual Basic)</term></item>
<item><term>FullOpen</term><term>false</term></item></list>
<para>You can change the value for any of these properties through a separate call to the property.</para></remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ColorDialog.Dispose">
<summary>
Free up resources used by the <see cref="T:OpenNETCF.Windows.Forms.ColorDialog"/>
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ColorDialog.ShowDialog(OpenNETCF.Windows.Forms.IWin32Window)">
<summary>
Runs a common dialog box with the specified owner.
</summary>
<param name="owner">Any object that implements <see cref="T:OpenNETCF.Windows.Forms.IWin32Window"/> that represents the top-level window that will own the modal dialog box.</param>
<returns><see cref="T:System.Windows.Forms.DialogResult">DialogResult.OK</see> if the user clicks <b>OK</b> in the dialog box; otherwise, <see cref="T:System.Windows.Forms.DialogResult">DialogResult.Cancel</see>.</returns>
<remarks>This version of the ShowDialog method allows you to specify a specific form or control that will own the dialog box that is shown.</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ColorDialog.ShowDialog">
<summary>
Runs a common dialog box.
</summary>
<returns>DialogResult.OK if the user clicks <b>OK</b> in the dialog box; otherwise, DialogResult.Cancel.</returns>
<example>The following example uses the ColorDialog and illustrates creating and showing a dialog box.
This example assumes that the method is called from within an existing form, that has a TextBox and Button placed on it.
<para>Note: This example shows how to use one of the overloaded versions of ShowDialog.
For other examples that might be available, see the individual overload topics.</para>
<code>[VB]
Protected Sub button1_Click(sender As Object, e As System.EventArgs)
Dim MyDialog As New ColorDialog()
' Keeps the user from selecting a custom color.
MyDialog.AllowFullOpen = False
' Sets the initial color select to the current text color,
MyDialog.Color = textBox1.ForeColor
' Update the text box color if the user clicks OK
If (MyDialog.ShowDialog() = DialogResult.OK) Then
textBox1.ForeColor = MyDialog.Color
End Sub</code>
<code>[C#]
protected void button1_Click(object sender, System.EventArgs e)
{
ColorDialog MyDialog = new ColorDialog();
// Keeps the user from selecting a custom color.
MyDialog.AllowFullOpen = false ;
// Sets the initial color select to the current text color.
MyDialog.Color = textBox1.ForeColor ;
// Update the text box color if the user clicks OK
if (MyDialog.ShowDialog() == DialogResult.OK)
textBox1.ForeColor = MyDialog.Color;
}
</code></example>
</member>
<member name="M:OpenNETCF.Windows.Forms.ColorDialog.RunDialog(System.IntPtr)">
<summary>
Specifies a common dialog box.
</summary>
<param name="hwndOwner">A value that represents the window handle of the owner window for the common dialog box.</param>
<returns>true if the dialog box was successfully run; otherwise, false.</returns>
<remarks>This method is invoked when the user of a common dialog box calls <see cref="M:OpenNETCF.Windows.Forms.ColorDialog.ShowDialog"/>.</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.ColorDialog.AllowFullOpen">
<summary>
Gets or sets a value indicating whether the user can use the dialog box to define custom colors.
</summary>
<value>true if the user can define custom colors; otherwise, false. The default is true</value>
<remarks>When set to false, the associated button in the dialog box is disabled and the user cannot access the custom colors control in the dialog box.
Windows CE supports the button, Pocket PC does not and this property has no effect.</remarks>
<example>[Visual Basic, C#] The following example illustrates the creation of new ColorDialog.
This example assumes that the method is called from within an existing form, that has a TextBox and Button placed on it.
<code>[Visual Basic]
Protected Sub button1_Click(sender As Object, e As System.EventArgs)
Dim MyDialog As New ColorDialog()
' Keeps the user from selecting a custom color.
MyDialog.AllowFullOpen = False
' Sets the initial color select to the current text color,
MyDialog.Color = textBox1.ForeColor
' Update the text box color if the user clicks OK
If (MyDialog.ShowDialog() = DialogResult.OK) Then
textBox1.ForeColor = MyDialog.Color
End If
End Sub 'button1_Click</code>
<code>[C#]
protected void button1_Click(object sender, System.EventArgs e)
{
ColorDialog MyDialog = new ColorDialog();
// Keeps the user from selecting a custom color.
MyDialog.AllowFullOpen = false ;
// Sets the initial color select to the current text color.
MyDialog.Color = textBox1.ForeColor ;
// Update the text box color if the user clicks OK
if (MyDialog.ShowDialog() == DialogResult.OK)
textBox1.ForeColor = MyDialog.Color;
}</code>
</example>
</member>
<member name="P:OpenNETCF.Windows.Forms.ColorDialog.AnyColor">
<summary>
Gets or sets a value indicating whether the dialog box displays all available colors in the set of basic colors.
</summary>
<value>true if the dialog box displays all available colors in the set of basic colors; otherwise, false.
The default value is false.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ColorDialog.Color">
<summary>
Gets or sets the color selected by the user.
</summary>
<value>The color selected by the user.
If a color is not selected, the default value is black.</value>
<remarks>The color selected by the user in the dialog box at run time, as defined in <see cref="T:System.Drawing.Color"/> structure</remarks>
<example>[Visual Basic, C#] The following example illustrates the creation of new ColorDialog.
This example assumes that the method is called from within an existing form, that has a TextBox and Button placed on it.
<code>[Visual Basic]
Protected Sub button1_Click(sender As Object, e As System.EventArgs)
Dim MyDialog As New ColorDialog()
' Keeps the user from selecting a custom color.
MyDialog.AllowFullOpen = False
' Sets the initial color select to the current text color,
MyDialog.Color = textBox1.ForeColor
' Update the text box color if the user clicks OK
If (MyDialog.ShowDialog() = DialogResult.OK) Then
textBox1.ForeColor = MyDialog.Color
End If
End Sub 'button1_Click</code>
<code>[C#]
protected void button1_Click(object sender, System.EventArgs e)
{
ColorDialog MyDialog = new ColorDialog();
// Keeps the user from selecting a custom color.
MyDialog.AllowFullOpen = false ;
// Sets the initial color select to the current text color.
MyDialog.Color = textBox1.ForeColor ;
// Update the text box color if the user clicks OK
if (MyDialog.ShowDialog() == DialogResult.OK)
textBox1.ForeColor = MyDialog.Color;
}</code>
</example>
</member>
<member name="P:OpenNETCF.Windows.Forms.ColorDialog.CustomColors">
<summary>
Gets or sets the set of custom colors shown in the dialog box.
</summary>
<value>A set of custom colors shown by the dialog box.
The default value is a null reference (Nothing in Visual Basic).</value>
<remarks>Users can create their own set of custom colors.
These colors are contained in an Int32 composed of the ARGB component (alpha, red, green, and blue) values necessary to create the color.
For more information on the structure of this data, see <see cref="P:OpenNETCF.Windows.Forms.ColorDialog.Color"/>.
Custom colors can only be defined if <see cref="P:OpenNETCF.Windows.Forms.ColorDialog.AllowFullOpen"/> is set to true (Not supported on Pocket PC).</remarks>
<example>[Visual Basic, C#] The following example shows how to add an array of type Int32 representing custom colors to CustomColors.
This example assumes that the code is run from within a Form.
<code>[Visual Basic]
Dim MyDialog = New ColorDialog()
'Allows the user to select or edit a custom color.
MyDialog.AllowFullOpen = True
'Assigns an array of custom colors to the CustomColors property.
MyDialog.CustomColors = New Integer() {6916092, 15195440, 16107657, 1836924, _
3758726, 12566463, 7526079, 7405793, 6945974, 241502, 2296476, 5130294, _
3102017, 7324121, 14993507, 11730944}
'Sets the initial color select to the current text color,
'so that if the user cancels out, the original color is restored.
MyDialog.Color = Me.BackColor
MyDialog.ShowDialog()
Me.BackColor = MyDialog.Color</code>
<code>[C#]
System.Windows.Forms.ColorDialog MyDialog = new ColorDialog();
// Allows the user to select or edit a custom color.
MyDialog.AllowFullOpen = true ;
// Assigns an array of custom colors to the CustomColors property
MyDialog.CustomColors = new int[] {6916092, 15195440, 16107657, 1836924,
3758726, 12566463, 7526079, 7405793, 6945974, 241502, 2296476, 5130294,
3102017, 7324121, 14993507, 11730944,};
// Sets the initial color select to the current text color,
// so that if the user cancels out, the original color is restored.
MyDialog.Color = this.BackColor;
MyDialog.ShowDialog();
this.BackColor = MyDialog.Color;</code>
</example>
</member>
<member name="P:OpenNETCF.Windows.Forms.ColorDialog.FullOpen">
<summary>
Gets or sets a value indicating whether the controls used to create custom colors are visible when the dialog box is opened.
</summary>
<value>true if the custom color controls are available when the dialog box is opened; otherwise, false.
The default value is false.</value>
<remarks>By default, the custom color controls are not visible when the dialog box is first opened.
You must click the Custom Colors button to display them.
<para>Note: If <see cref="P:OpenNETCF.Windows.Forms.ColorDialog.AllowFullOpen"/> is false, then <b>FullOpen</b> has no effect.</para></remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.ColorDialog.SolidColorOnly">
<summary>
Gets or sets a value indicating whether the dialog box will restrict users to selecting solid colors only.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.OnParentChanged(System.EventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.FindString(System.String)">
<summary>
Finds the first item in the combo box that starts with the specified string.
</summary>
<param name="s">The <see cref="T:System.String"/> to search for.</param>
<returns>The zero-based index of the first item found; returns -1 if no match is found.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.FindString(System.String,System.Int32)">
<summary>
Finds the first item in the combo box that starts with the specified string.
</summary>
<param name="s">The <see cref="T:System.String"/> to search for.</param>
<param name="startIndex">The zero-based index of the item before the first item to be searched. Set to -1 to search from the beginning of the control.</param>
<returns>The zero-based index of the first item found; returns -1 if no match is found.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.FindStringExact(System.String)">
<summary>
Finds the first item in the combo box that matches the specified string.
</summary>
<param name="s">The <see cref="T:System.String"/> to search for.</param>
<returns>The zero-based index of the first item found; returns -1 if no match is found.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.FindStringExact(System.String,System.Int32)">
<summary>
Finds the first item after the specified index that matches the specified string.
</summary>
<param name="s">The <see cref="T:System.String"/> to search for.</param>
<param name="startIndex">The zero-based index of the item before the first item to be searched. Set to -1 to search from the beginning of the control.</param>
<returns>The zero-based index of the first item found; returns -1 if no match is found.</returns>
</member>
<member name="F:OpenNETCF.Windows.Forms.ComboBox2.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ComboBox2.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ComboBox2.DropDownWidth">
<summary>
Gets or sets the width of the of the drop-down portion of a combo box.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ComboBox2.DroppedDown">
<summary>
Gets a value indicating whether the combo box is displaying its drop-down portion.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ComboBox2.DropDown">
<summary>
Show or hides the list of the combobox that has the DropDown or DropDownList
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.Control2">
<summary>
Extends the standard <see cref="T:System.Windows.Forms.Control"/> class.
</summary>
<seealso cref="T:System.Windows.Forms.Control"/>
</member>
<member name="F:OpenNETCF.Windows.Forms.Control2.childHandle">
<summary>
The child handle of the control
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.#ctor">
<summary>
Creates a new <see cref="T:OpenNETCF.Windows.Forms.Control2"/> object.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.InitCommonControls(System.Int32)">
<summary>
Calls InitCommonControlsEx for the specified classes.
</summary>
<param name="controlClasses">Mask of control class groups.</param>
<remarks>Not desktop compatible</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.CreateControl">
<summary>
Forces the creation of the control, including the creation of the handle and any child controls.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the System.Windows.Forms.Control.Paint event.
</summary>
<param name="e">A System.Windows.Forms.PaintEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.OnParentChanged(System.EventArgs)">
<summary>
Occurs when the control is associated with a new Parent.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.SetBounds(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Sets the bounds of the control to the specified location and size.
</summary>
<param name="x">The new <see cref="P:System.Windows.Forms.Control.Left"/> property value of the control.</param>
<param name="y">The new <see cref="P:System.Windows.Forms.Control.Top"/> property value of the control.</param>
<param name="width">The new <see cref="P:System.Windows.Forms.Control.Width"/> property value of the control.</param>
<param name="height"> The new <see cref="P:System.Windows.Forms.Control.Height"/> property value of the control.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.DefWndProc(Microsoft.WindowsCE.Forms.Message@)">
<summary>
Invokes the default window procedure associated with this window.
It is an error to call this method when the <see cref="P:System.Windows.Forms.Control.Handle"/> property is 0.
</summary>
<param name="m">A <see cref="T:Microsoft.WindowsCE.Forms.Message"/> that is associated with the current Windows message.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the <see cref="T:OpenNETCF.Windows.Forms.Control2"/> and its child controls and optionally releases the managed resources.
</summary>
<param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.InvokeRequiredForControl(System.Windows.Forms.Control)">
<summary>
Gets a value indicating whether the caller must call an invoke method when making method calls to the control because the caller is on a different thread than the one the control was created on.
</summary>
<param name="c">Control which must be checked that it's created on a different thread than the calling thread.</param>
<returns>true if the control was created on a different thread than the calling thread (indicating that you must make calls to the control through an invoke method); otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Control2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Extends the standard <see cref="T:System.Windows.Forms.Control"/> class.
</summary>
<seealso cref="T:System.Windows.Forms.Control"/>
</member>
<member name="P:OpenNETCF.Windows.Forms.Control2.BorderStyle">
<summary>
Gets or sets the border style for the control.
</summary>
<value>One of the <see cref="P:OpenNETCF.Windows.Forms.Control2.BorderStyle"/> values.
Fixed3D is interpreted the same as FixedSingle.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.Control2.Created">
<summary>
Gets a value indicating whether the control has been created.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Control2.CreateParams">
<summary>
Gets the required creation parameters when the control handle is created.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Control2.DesignMode">
<summary>
Gets a value indicating whether a control is being used on a design surface.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Control2.RecreatingHandle">
<summary>
Gets a value indicating whether the control is currently re-creating its handle.
</summary>
<remarks>true if the control is currently re-creating its handle; otherwise, false.</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.Control2.Text">
<summary>
Gets or sets the text associated with this control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Control2.ModifierKeys">
<summary>
Gets a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state.
</summary>
<value>A bitwise combination of the <see cref="T:System.Windows.Forms.Keys"/> values.
The default is <see cref="F:System.Windows.Forms.Keys.None"/>.</value>
<example>The following code example hides a button when the CTRL key is pressed while the button is clicked. This example requires that you have a Button named button1 on a Form.
<code>[VB]
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
' If the CTRL key is pressed when the
' control is clicked, hide the control.
If Control.ModifierKeys = Keys.Control Then
CType(sender, Control).Hide()
End If
End Sub
</code>
<code>[C#]
private void button1_Click(object sender, System.EventArgs e)
{
/* If the CTRL key is pressed when the
* control is clicked, hide the control. */
if(Control.ModifierKeys == Keys.Control)
{
((Control)sender).Hide();
}
}
</code></example>
</member>
<member name="T:OpenNETCF.Windows.Forms.CreateParams">
<summary>
Encapsulates the information needed when creating a control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.CreateParams.#ctor">
<summary>
Initializes a new instance of the CreateParams class.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.Caption">
<summary>
Gets or sets the control's initial text.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.ClassName">
<summary>
Gets or sets the name of the Windows class to derive the control from.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.ClassStyle">
<summary>
Gets or sets a bitwise combination of class style values.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.Style">
<summary>
Gets or sets a bitwise combination of window style values.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.Param">
<summary>
Gets or sets additional parameter information needed to create the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.ExStyle">
<summary>
Gets or sets a bitwise combination of extended window style values.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.Height">
<summary>
Gets or sets the initial height of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.Parent">
<summary>
Gets or sets the control's parent.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.Width">
<summary>
Gets or sets the initial width of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.X">
<summary>
Gets or sets the initial left position of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.CreateParams.Y">
<summary>
Gets or sets the initial top position of the control.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.IMessageFilter">
<summary>
Defines a message filter interface.
</summary>
<remarks>This interface allows an application to capture a message before it is dispatched to a control or form.
<para>A class that implements the IMessageFilter interface can be added to the application's message pump to filter out a message or perform other operations before the message is dispatched to a form or control. To add the message filter to an application's message pump, use the <see cref="M:OpenNETCF.Windows.Forms.ApplicationEx.AddMessageFilter(OpenNETCF.Windows.Forms.IMessageFilter)"/> method in the <see cref="T:OpenNETCF.Windows.Forms.ApplicationEx"/> class.</para></remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.IMessageFilter.PreFilterMessage(Microsoft.WindowsCE.Forms.Message@)">
<summary>
Filters out a message before it is dispatched.
</summary>
<param name="m">The message to be dispatched. You cannot modify this message.</param>
<returns>true to filter the message and stop it from being dispatched; false to allow the message to continue to the next filter or control.</returns>
</member>
<member name="T:OpenNETCF.Windows.Forms.Cursor2">
<summary>
Implements showing and hiding the cursor.
<example>
using(new Cursor2())
{
//Do your long procudure
}//cursor will automatically be hidden
</example>
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.Cursor2._refCount">
<summary>
Reference count to see if the cursor should be hidden or not
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Cursor2.#ctor">
<summary>
Default Contructor
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Cursor2.Dispose">
<summary>
Hides the cursor if there are no more references
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.DateTimePicker2">
<summary>
Extends the <see cref="T:System.Windows.Forms.DateTimePicker"/> control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DateTimePicker2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Windows.Forms.DateTimePicker2"/> class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DateTimePicker2.OnCloseUp(System.EventArgs)">
<summary>
Raises the <see cref="E:OpenNETCF.Windows.Forms.DateTimePicker2.CloseUp"/> event.
</summary>
<param name="eventargs">An <see cref="T:System.EventArgs"/> that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.DateTimePicker2.OnDropDown(System.EventArgs)">
<summary>
Raises the <see cref="E:OpenNETCF.Windows.Forms.DateTimePicker2.DropDown"/> event.
</summary>
<param name="eventargs">An <see cref="T:System.EventArgs"/> that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.DateTimePicker2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Extends the <see cref="T:System.Windows.Forms.DateTimePicker"/> control.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.DateTimePicker2.CloseUp">
<summary>
Occurs when the drop-down calendar is dismissed and disappears.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.DateTimePicker2.DropDown">
<summary>
Occurs when the drop-down calendar is shown.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.NativeWindow">
<summary>
Provides a low-level encapsulation of a window handle and a window procedure.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeWindow.AssignHandle(System.IntPtr)">
<summary>
Assigns a handle to this window.
</summary>
<param name="handle">The handle to assign to this window.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeWindow.CreateHandle(OpenNETCF.Windows.Forms.CreateParams)">
<summary>
Creates a window and its handle with the specified creation parameters.
</summary>
<param name="cp">CreateParams that specifies the creation parameters for this window.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeWindow.ReleaseHandle">
<summary>
Releases the handle associated with this window.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeWindow.WndProc(Microsoft.WindowsCE.Forms.Message@)">
<summary>
Invokes the default window procedure associated with this window.
</summary>
<param name="m">A System.Windows.Forms.Message that is associated with the current Windows message.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeWindow.DefWndProc(Microsoft.WindowsCE.Forms.Message@)">
<summary>
Invokes the default window procedure associated with this window. It is an error to call this method when the System.Windows.Forms.NativeWindow.Handle property is 0.
</summary>
<param name="m">A System.Windows.Forms.Message that is associated with the current Windows message.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeWindow.DestroyHandle">
<summary>
Destroys the window and its handle.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeWindow.FromHandle(System.IntPtr)">
<summary>
Retrieves the window associated with the specified handle.
</summary>
<param name="handle">A handle to a window.</param>
<returns>The System.Windows.Forms.NativeWindow associated with the specified handle. This method returns null when the handle does not have an associated window.</returns>
</member>
<member name="T:OpenNETCF.Windows.Forms.DEVMODE">
<summary>
DEVMODE struct used with ChangeDisplaySettingsEx
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.DrawDirection">
<summary>
The direction of the animiation in the AnimateCtl.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawDirection.Horizontal">
<summary>
The layout of the animation is horizontal
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawDirection.Vertical">
<summary>
The layout of the animation is vertical
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.DrawItemEventArgs">
<summary>
Provides data for the DrawItem event.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DrawItemEventArgs.#ctor(System.Drawing.Graphics,System.Drawing.Font,System.Drawing.Rectangle,System.Int32,OpenNETCF.Windows.Forms.DrawItemState,System.Drawing.Color,System.Drawing.Color)">
<summary>
Initializes a new instance
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DrawItemEventArgs.#ctor(System.Drawing.Graphics,System.Drawing.Font,System.Drawing.Rectangle,System.Int32,OpenNETCF.Windows.Forms.DrawItemState)">
<summary>
Initializes a new instance
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DrawItemEventArgs.DrawBackground">
<summary>
Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DrawItemEventArgs.DrawBackground(System.Drawing.Color)">
<summary>
Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.DrawItemEventArgs.DrawFocusRectangle">
<summary>
Draws a focus rectangle.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DrawItemEventArgs.Bounds">
<summary>
Gets the rectangle that represents the bounds of the item that is being drawn.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DrawItemEventArgs.State">
<summary>
Gets the state of the item being drawn.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DrawItemEventArgs.Graphics">
<summary>
Gets the graphics surface to draw the item on.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DrawItemEventArgs.Index">
<summary>
Gets the index value of the item that is being drawn.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DrawItemEventArgs.Font">
<summary>
Gets the font assigned to the item being drawn.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DrawItemEventArgs.BackColor">
<summary>
Gets the background color of the item that is being drawn.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.DrawItemEventArgs.ForeColor">
<summary>
Gets the foreground color of the of the item being drawn.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.DrawItemState">
<summary>
Specifies the state of an item that is being drawn.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawItemState.None">
<summary>
The item currently has no state.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawItemState.Selected">
<summary>
The item is selected.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawItemState.Disabled">
<summary>
The item is disabled.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawItemState.Focus">
<summary>
The item has focus.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.DrawMode">
<summary>
Specifies how the elements of a control are drawn.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawMode.Normal">
<summary>
All the elements in a control are drawn by the operating system and are of the same size.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawMode.OwnerDrawFixed">
<summary>
All the elements in the control are drawn manually and are of the same size.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.DrawStyle">
<summary>
Represents the form in which to render the bar portion of the ProgressBar2 control.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawStyle.Solid">
<summary>
Use a solid color for the progress bar
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.DrawStyle.Gradient">
<summary>
Use a gradient color for the progress bar. <seealso cref="P:OpenNETCF.Windows.Forms.ProgressBar2.BarGradientColor"/>
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.KeyStateFlags">
<summary>
KeyStateFlags for Keyboard methods
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.Toggled">
<summary>
Key is toggled.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.AsyncDown">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.PrevDown">
<summary>
Key was previously down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.Down">
<summary>
Key is currently down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.AnyCtrl">
<summary>
Left or right CTRL key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.AnyShift">
<summary>
Left or right SHIFT key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.AnyAlt">
<summary>
Left or right ALT key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.Capital">
<summary>
VK_CAPITAL is toggled.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.LeftCtrl">
<summary>
Left CTRL key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.LeftShift">
<summary>
Left SHIFT key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.LeftAlt">
<summary>
Left ALT key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.LeftWin">
<summary>
Left Windows logo key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.RightCtrl">
<summary>
Right CTRL key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.RightShift">
<summary>
Right SHIFT key is down
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.RightAlt">
<summary>
Right ALT key is down
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.RightWin">
<summary>
Right Windows logo key is down.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.Dead">
<summary>
Corresponding character is dead character.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.NoCharacter">
<summary>
No characters in pCharacterBuffer to translate.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.Language1">
<summary>
Use for language specific shifts.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.KeyStateFlags.NumLock">
<summary>
NumLock toggled state.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.GradientStyle">
<summary>
Represents the style in which to render the gradient progress bar.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.GradientStyle.Normal">
<summary>
Renders the gradient progress bar from top to bottom
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.GradientStyle.Middle">
<summary>
Renders the gradient progress bar from middle outwards
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.GroupBox">
<summary>
Represents a container control used to group other controls.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.GroupBox.#ctor">
<summary>
Initializes a new instance of the GroupBox class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.GroupBox.OnEnabledChanged(System.EventArgs)">
<summary>
Raises the EnabledChanged event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.GroupBox.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the Paint event.
</summary>
<param name="e">A PaintEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.GroupBox.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
Paints the background of the control.
</summary>
<param name="e">A PaintEventArgs that contains information about the control to paint.</param>
<remarks>
<b>Notes to Inheritors:</b> With the the hope of preventing noticeable flicker, this method has be overridden to do nothing. Therefore, all painting should be done in the OnPaint method.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.GroupBox.OnResize(System.EventArgs)">
<summary>
Raises the Resize event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.GroupBox.OnTextChanged(System.EventArgs)">
<summary>
Raises the TextChanged event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.GroupBox.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Represents a container control used to group other controls.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.GroupBox.BorderStyle">
<summary>
Gets or sets the style of the border for the control.
</summary>
<value>One of the <see cref="T:System.Windows.Forms.BorderStyle"/> values. The default is FixedSingle.</value>
<remarks>
It is recommended that applications targeting the broad Windows platform use the Fixed3D value, and applications targeting either the Pocket PC or Smartphone platform use the default, FixedSingle.
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.GroupBox.Font">
<summary>
Gets or sets the font of the text displayed by the control.
</summary>
<value>The <see cref="T:System.Drawing.Font"/> of the text displayed by the control. The default is "Tahoma, 9pt, Bold".</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.GroupBox.ForeColor">
<summary>
Gets or sets the foreground color of the control.
</summary>
<value>The <see cref="T:System.Drawing.Color"/> used as the foreground color for the control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.GroupBox.Text">
<summary>
Gets or sets the text associated with the control.
</summary>
<value>The <see cref="T:System.String"/> containing the text associated with the control.</value>
</member>
<member name="T:OpenNETCF.Windows.Forms.Help2">
<summary>
Encapsulates the PegHelp HTML Help engine.
</summary>
<remarks>You cannot create a new instance of the Help class.
To provide Help to an application, call the static ShowHelp method.</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.Help2.ShowHelp(System.Windows.Forms.Control,System.String)">
<summary>
Displays the contents of the Help file at the specified URL.
</summary>
<param name="parent">A <see cref="T:System.Windows.Forms.Control"/> that identifies the parent of the Help dialog box.</param>
<param name="url">The path and name of the Help file.</param>
<example>The following code example demonstrates the ShowHelp method.
To run this example paste the following code in a form that contains a button named Button1.
Ensure the button's click event is connected to the event-handling method in this example.
<code>[Visual Basic]
' Open the Help file for the application.
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Help.ShowHelp(TextBox1, "\windows\myapp.htm")
End Sub</code>
<code>[C#]
// Open the Help file for the application.
private void Button1_Click(System.Object sender, System.EventArgs e)
{
Help.ShowHelp(TextBox1, "\\windows\\myapp.htm");
}</code></example>
</member>
<member name="M:OpenNETCF.Windows.Forms.Help2.ShowHelp(System.Windows.Forms.Control,System.String,OpenNETCF.Windows.Forms.HelpNavigator)">
<summary>
Displays the contents of the Help file found at the specified URL for a specific topic.
</summary>
<param name="parent">A <see cref="T:System.Windows.Forms.Control"/> that identifies the parent of the Help dialog box.</param>
<param name="url">The path and name of the Help file.</param>
<param name="navigator">One of the <see cref="T:OpenNETCF.Windows.Forms.HelpNavigator"/> values.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Help2.ShowHelp(System.Windows.Forms.Control,System.String,System.String)">
<summary>
Displays the contents of the Help file found at the specified URL for a specific topic.
</summary>
<param name="parent">A <see cref="T:System.Windows.Forms.Control"/> that identifies the parent of the Help dialog box.</param>
<param name="url">The path and name of the Help file.</param>
<param name="topic">The topic to display Help for.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Help2.ShowHelp(System.Windows.Forms.Control,System.String,OpenNETCF.Windows.Forms.HelpNavigator,System.String)">
<summary>
Displays the contents of the Help file located at the URL supplied.
</summary>
<param name="parent">A <see cref="T:System.Windows.Forms.Control"/> that identifies the parent of the Help dialog box.</param>
<param name="url">The path and name of the Help file.</param>
<param name="command">One of the <see cref="T:OpenNETCF.Windows.Forms.HelpNavigator"/> values.</param>
<param name="param">The anchor name of the topic to display</param>
</member>
<member name="T:OpenNETCF.Windows.Forms.HelpNavigator">
<summary>
Specifies constants indicating which elements of the Help file to display.
</summary>
<seealso cref="T:System.Windows.Forms.HelpNavigator">System.Windows.Forms.HelpNavigator Enum</seealso>
</member>
<member name="F:OpenNETCF.Windows.Forms.HelpNavigator.Find">
<summary>
Specifies that the search page of a specified URL is displayed.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.HelpNavigator.TableOfContents">
<summary>
Specifies that the table of contents of the specfied URL is displayed.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.HelpNavigator.Topic">
<summary>
Specifies that the topic referenced by the specified URL is displayed.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.ImageViewer">
<summary>
Image viewer control to display various image formats.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ImageViewer.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ImageViewer.ZoomOut">
<summary>
Zooms in the image by the default 0.2 factor.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ImageViewer.Zoom(System.Int32)">
<summary>
Zooms the image.
</summary>
<param name="zoomFactor">Zoom factor.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ImageViewer.ZoomIn">
<summary>
Zooms out the image by the default 0.2 factor.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ImageViewer.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ImageViewer.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ImageViewer.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ImageViewer.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Image viewer control to display various image formats.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ImageViewer.Image">
<summary>
Gets or sets the image that the ImageViewer displays.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ImageViewer.Center">
<summary>
Gets or sets the value to specify if the image should be centered.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.ItemCollection">
<summary>
Represents the collection of items in a ListBox2.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ItemCollection.Add(OpenNETCF.Windows.Forms.ListItem)">
<summary>
Adds an item to the list of items for a ListBox2.
</summary>
<param name="value">ListItem to add</param>
<returns>Newly created ListItem</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ItemCollection.Add(System.String)">
<summary>
Adds an item to the list of items for a ListBox2
</summary>
<param name="value">string for text property</param>
<returns>Newly created ListItem</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ItemCollection.Remove(OpenNETCF.Windows.Forms.ListItem)">
<summary>
Removes the specified object from the collection.
</summary>
<param name="value">ListItem to remove</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ItemCollection.Insert(System.Int32,OpenNETCF.Windows.Forms.ListItem)">
<summary>
Inserts an item into the list box at the specified index.
</summary>
<param name="index">The zero-based index location where the item is inserted.</param>
<param name="value">An object representing the item to insert.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ItemCollection.Contains(OpenNETCF.Windows.Forms.ListItem)">
<summary>
Determines whether the specified item is located within the collection.
</summary>
<param name="value">An object representing the item to locate in the collection.</param>
<returns>true if the item is located within the collection; otherwise, false .</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.ItemCollection.Clear">
<summary>
Removes all elements from the System.Collections.ArrayList.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ItemCollection.IndexOf(OpenNETCF.Windows.Forms.ListItem)">
<summary>
Returns the index within the collection of the specified item
</summary>
<param name="value">An object representing the item to locate in the collection.</param>
<returns>The zero-based index where the item is located within the collection; otherwise, negative one (-1). </returns>
</member>
<member name="P:OpenNETCF.Windows.Forms.ItemCollection.Item(System.Int32)">
<summary>
Gets or sets the item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ItemCollection.Item(System.String)">
<summary>
Gets the item.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.KeyData">
<summary>
Data passed on by the KeyboardHook
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.KeyData.KeyCode">
<summary>
The key code
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.KeyData.ScanCode">
<summary>
The hardware scan code
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.KeyData.TimeStamp">
<summary>
The Environement.Tickcount time at which the key was intercepted
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.KeyHookEventHandler">
<summary>
Handler for KeyboardHook key events
</summary>
<param name="keyMessage">The key message (up, down, sysup or sysdown)</param>
<param name="keyData">The key data associated with the event</param>
<returns>Return <b>true</b> to pass the key data on to the next hook, <b>false</b> to prevent further system processing</returns>
</member>
<member name="T:OpenNETCF.Windows.Forms.KeyboardHook">
<summary>
Used for system-wide hooking of keyboard events
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.KeyboardHook.#ctor">
<summary>
Creates an instance of a KeyboardHook
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.KeyboardHook.Dispose">
<summary>
Disposes the KeyboardHook
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.KeyboardHook.Finalize">
<summary>
Finalizes the KeyboardHook
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.KeyboardHook.KeyDetected">
<summary>
Fired when keyboard data is present in the system
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.KeyboardHook.Enabled">
<summary>
Gets or sets the state of the hook
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.KeyboardHook.PassOnKeys">
<summary>
Set to <b>false</b> to prevent the system from forwarding the key data to further hooks or the target control. Defaults to <b>true</b>
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.LinkLabel2">
<summary>
Represents a label control that displays as a hyperlink.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.#ctor">
<summary>
Initializes a new instance of the LinkLabel2 class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.AdjustControlSize">
<summary>
Adjusts the size of the control based on the AutoSize property.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.NotifyDefault(System.Boolean)">
<summary>
Notifies the link whether it is the default link so that it can adjust its appearance accordingly.
</summary>
<param name="value"><b>true</b> if the link is to have the appearance of the default link; otherwise, <b>false</b>.</param>
<remarks>
A LinkLabel2 control appears the same regardless of whether it is the default, so
calling this method will not change the appearance or behavior of the LinkLabel2.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnClick(System.EventArgs)">
<summary>
Raises the Click event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnEnabledChanged(System.EventArgs)">
<summary>
Raises the EnabledChanged event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnGotFocus(System.EventArgs)">
<summary>
Raises the GotFocus event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
<summary>
Raises the KeyDown event.
</summary>
<param name="e">A KeyEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnKeyPress(System.Windows.Forms.KeyPressEventArgs)">
<summary>
Raises the KeyPress event.
</summary>
<param name="e">A KeyPressEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnLinkClicked(OpenNETCF.Windows.Forms.LinkLabel2LinkClickedEventArgs)">
<summary>
Raises the LinkClicked event.
</summary>
<param name="e">A LinkLabel2LinkClickedEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnLostFocus(System.EventArgs)">
<summary>
Raises the LostFocus event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseDown event.
</summary>
<param name="e">A MouseEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseUp event.
</summary>
<param name="e">A MouseEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the Paint event.
</summary>
<param name="e">A PaintEventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
Paints the background of the control.
</summary>
<param name="e">A PaintEventArgs that contains information about the control to paint.</param>
<remarks>
<b>Notes to Inheritors:</b> With the the hope of preventing noticeable flicker, this method has be overridden to do nothing. Therefore, all painting should be done in the OnPaint method.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnResize(System.EventArgs)">
<summary>
Raises the Resize event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OnTextChanged(System.EventArgs)">
<summary>
Raises the TextChanged event.
</summary>
<param name="e">An EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.PerformClick">
<summary>
Generates a Click event for the link.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.ResetLinkBehavior">
<summary>
Resets the LinkBehavior property to its default value.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.ShouldSerializeLinkBehavior">
<summary>
Indicates whether the LinkBehavior property should be persisted.
</summary>
<returns><b>true</b> if the property value has changed from its default; otherwise, <b>false</b>.</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Represents a label control that displays as a hyperlink.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.ActiveLinkColor">
<summary>
Gets or sets the color of the text in an active state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the color of the text in an active state. The default is Color.Red.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.AutoSize">
<summary>
Gets or sets a value indicating whether the control is automatically resized to display its contents.
</summary>
<value>A <see cref="T:System.Boolean"/> that is set to <b>true</b> if the control is automatically resized; otherwise, <b>false</b>. The default is <b>false</b>.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.DialogResult">
<summary>
Gets or sets a value that is returned to the parent form when the link is activated.
</summary>
<value>One of the <see cref="T:System.Windows.Forms.DialogResult"/> values. The default value is DialogResult.None.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.DisabledLinkColor">
<summary>
Gets or sets the color of the text in a disabled state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the color of the text in a disabled state. The default is SystemColors.GrayText.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.Font">
<summary>
Gets or sets the font of the text displayed by the control.
</summary>
<value>The <see cref="T:System.Drawing.Font"/> of the text displayed by the control.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.LinkBehavior">
<summary>
Gets or sets a value that represents the behavior of the link.
</summary>
<value>A <see cref="T:OpenNETCF.Windows.Forms.LinkBehavior"/> value that represents the behavior of the link. The default is LinkBehavior.AlwaysUnderline.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.LinkColor">
<summary>
Gets or sets the color of the text in a normal state.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the color of the text in a normal state. The default is Color.Blue.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.LinkData">
<summary>
Gets or sets the data associated with the link.
</summary>
<value>A <see cref="T:System.Object"/> that represents the data associated with the link. The default is a null reference (Nothing in Visual Basic).</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.LinkVisited">
<summary>
Gets or sets a value indicating whether the link should be displayed as though it were visited.
</summary>
<value>A <see cref="T:System.Boolean"/> that is set to <b>true</b> if the link should be displayed as though it were visited; otherwise, <b>false</b>. The default is <b>false</b>.</value>
<remarks>
This control does not automatically denote that a link is a visited link.
To display the link as a visited link, you can set the value of this property to <b>true</b>
in an event handler for the LinkClicked event.
</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2.VisitedLinkColor">
<summary>
Gets or sets the color used to indicate that the link has been previously visited.
</summary>
<value>A <see cref="T:System.Drawing.Color"/> that represents the color used to indicate that the link has been previously visited. The default is Color.Purple.</value>
</member>
<member name="E:OpenNETCF.Windows.Forms.LinkLabel2.LinkClicked">
<summary>
Occurs when the link is clicked.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.LinkBehavior">
<summary>
Specifies the behavior of a link in a <see cref="T:OpenNETCF.Windows.Forms.LinkLabel2"/>.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.LinkBehavior.AlwaysUnderline">
<summary>
The link always displays with underlined text.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.LinkBehavior.NeverUnderline">
<summary>
The link text is never underlined. The link can still be distinguished from other text by use of the LinkColor property of the <see cref="T:OpenNETCF.Windows.Forms.LinkLabel2"/> control.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.LinkLabel2LinkClickedEventArgs">
<summary>
Provides data for the LinkClicked event of the <see cref="T:OpenNETCF.Windows.Forms.LinkLabel2"/> control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.LinkLabel2LinkClickedEventArgs.#ctor(System.Object)">
<summary>
Initializes a new instance of the LinkLabel2LinkClickedEventArgs class, given the link data.
</summary>
<param name="data">The LinkData of the <see cref="T:OpenNETCF.Windows.Forms.LinkLabel2"/> instance.</param>
</member>
<member name="P:OpenNETCF.Windows.Forms.LinkLabel2LinkClickedEventArgs.LinkData">
<summary>
Gets the data associated with the link.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.LinkLabel2LinkClickedEventHandler">
<summary>
Represents the method that will handle the LinkClicked event of a <see cref="T:OpenNETCF.Windows.Forms.LinkLabel2"/>.
</summary>
<param name="sender">The source of the event.</param>
<param name="e">A <see cref="T:OpenNETCF.Windows.Forms.LinkLabel2LinkClickedEventArgs"/> that contains the event data.</param>
</member>
<member name="T:OpenNETCF.Windows.Forms.ListBox2">
<summary>
Represents a Owner-drawn list control, which displays a collection of items.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.OwnerDrawnList">
<summary>
Summary description for OwnerDrawnList.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.#ctor">
<summary>
Initializes a new instance of the OwnerDrawnList class with default values.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.OnSelectedIndexChanged(System.EventArgs)">
<summary>
Raises the SelectedIndexChanged event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.OnDrawItem(System.Object,OpenNETCF.Windows.Forms.DrawItemEventArgs)">
<summary>
Raises the DrawItem event.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.Refresh">
<summary>
Forces the control to invalidate its client area and immediately redraw itself and any items in the list.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.EnsureVisible(System.Int32)">
<summary>
Ensures that the specified item is visible within the control, scrolling the contents of the control if necessary.
</summary>
<param name="index">The zero-based index of the item to scroll into view.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.BeginUpdate">
<summary>
Prevents the control from drawing until the EndUpdate method is called.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.EndUpdate">
<summary>
Resumes drawing of the list view control after drawing is suspended by the BeginUpdate method.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.OnDataSourceChanged(System.EventArgs)">
<summary>
Raises the ListBox2.DataSourceChanged event.
</summary>
<param name="e">The EventArgs that will be passed to any handlers
of the DataSourceChanged event.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.OnDisplayMemberChanged(System.EventArgs)">
<summary>
Raises the DataMemberChanged event.
</summary>
<param name="e">The EventArgs that will be passed to any handlers
of the DataMemberChanged event.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.OnBindingContextChanged(System.EventArgs)">
<summary>
Handles binding context changes
</summary>
<param name="e">The EventArgs that will be passed to any handlers
of the BindingContextChanged event.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.BuildItemForRow(System.Object)">
<summary>
Adds item to the items collection.
</summary>
<param name="row"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.OwnerDrawnList.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Summary description for OwnerDrawnList.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.OwnerDrawnList.DataSourceChanged">
<summary>
Raised when the DataSource property changes.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.OwnerDrawnList.DisplayMemberChanged">
<summary>
Raised when the DataMember property changes.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.OwnerDrawnList.DrawItem">
<summary>
Occurs when the DrawItem has changed
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.OwnerDrawnList.SelectedIndexChanged">
<summary>
Occurs when the SelectedIndex property has changed.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.ShowScrollbar">
<summary>
Get/set the ShowScrollbar property.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.TopIndex">
<summary>
Gets or sets the index of the first visible item in the OwnerDrawnList.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.BaseItems">
<summary>
Gets the items of the List.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.ItemHeight">
<summary>
Gets or sets a ItemHeight
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.SelectedIndex">
<summary>
Gets or sets the zero-based index of the currently selected item in a OwnerDrawnList.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.BackgroundImage">
<summary>
Gets or sets the background image for the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.Height">
<summary>
Gets or sets the height of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.DrawMode">
<summary>
Gets or sets the drawing mode for the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.DataSource">
<summary>
Gets or sets the data source for this ListBox2 control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.OwnerDrawnList.DisplayMember">
<summary>
Gets or sets a string that specifies the property of the data source whose contents you want to display.
</summary>
<value>A <see cref="T:System.String"/> specifying the name of a property of the object specified by the <see cref="P:OpenNETCF.Windows.Forms.OwnerDrawnList.DataSource"/> property.
The default is an empty string ("").</value>
</member>
<member name="M:OpenNETCF.Windows.Forms.ListBox2.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.Items">
<summary>
Gets the items of the ListBox2.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.BaseItems">
<summary>
Gets a items collection.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.EvenItemColor">
<summary>
Gets or sets the background color of the even item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.LineColor">
<summary>
Gets or sets the color of the lines.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.ShowLines">
<summary>
Gets or sets text wrapping in the list items
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.WrapText">
<summary>
Gets or sets text wrapping in the list items
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.ImageList">
<summary>
Gets or sets the System.Windows.Forms.ImageList to use when displaying item's icons in the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListBox2.ItemHeight">
<summary>
Gets or sets the item height
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ListItem.#ctor">
<summary>
Initializes a new instance of the ListItem class with default values.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ListItem.#ctor(System.String)">
<summary>
Initializes a new instance of the ListItem class with specified item text.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ListItem.#ctor(System.String,System.Int32)">
<summary>
Initializes a new instance of the ListItem class with specified item text and ImageIndex.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListItem.Text">
<summary>
Gets or sets the text associated with this item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListItem.Font">
<summary>
Gets or sets the font associated with this item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListItem.ForeColor">
<summary>
Gets or sets the foreground color of the item's text.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListItem.ImageList">
<summary>
Gets the <see cref="P:OpenNETCF.Windows.Forms.ListItem.ImageList"/> that contains the image displayed with the item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListItem.ImageIndex">
<summary>
Gets or sets the ImageIndex associated with this item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ListItem.Tag">
<summary>
Gets or sets an object that contains data to associate with the item.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.MethodInvoker">
<summary>
Represents a delegate that can execute any method in managed code that is
declared void and takes no parameters.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.MonthCalendar2">
<summary>
Extends the <see cref="T:System.Windows.Forms.MonthCalendar"/> control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.MonthCalendar2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Windows.Forms.MonthCalendar2"/> class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.MonthCalendar2.OnDateSelected(System.Windows.Forms.DateRangeEventArgs)">
<summary>
Raises the <see cref="E:OpenNETCF.Windows.Forms.MonthCalendar2.DateSelected"/> event.
</summary>
<param name="drevent">A <see cref="T:System.Windows.Forms.DateRangeEventArgs"/> that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.MonthCalendar2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Extends the <see cref="T:System.Windows.Forms.MonthCalendar"/> control.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.MonthCalendar2.DateSelected">
<summary>
Occurs when the user makes an explicit date selection using the mouse.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeMethods.SendKeyboardString(System.String)">
<summary>
Send a string to the keyboard
</summary>
<param name="Keys"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeMethods.SendKeyboardString(System.String,OpenNETCF.Windows.Forms.KeyStateFlags)">
<summary>
Send a string to the keyboard
</summary>
<param name="Keys"></param>
<param name="Flags"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeMethods.SendKeyboardString(System.String,OpenNETCF.Windows.Forms.KeyStateFlags,System.IntPtr)">
<summary>
Send a string to the keyboard
</summary>
<param name="Keys"></param>
<param name="Flags"></param>
<param name="hWnd"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeMethods.SendKeyboardKey(System.Byte)">
<summary>
Send a key to the keyboard
</summary>
<param name="VirtualKey"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeMethods.SendKeyboardKey(System.Byte,System.Boolean)">
<summary>
Send a key to the keyboard
</summary>
<param name="VirtualKey"></param>
<param name="Silent"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.NativeMethods.SendKeyboardKey(System.Byte,System.Boolean,OpenNETCF.Windows.Forms.NativeMethods.KeyActionState)">
<summary>
Simulates a keystroke that the system can use to generate a WM_KEYUP or WM_KEYDOWN message.
</summary>
<param name="VirtualKey">A System.Byte structure that contains a virtual-key code representing the key with which to perform an action.</param>
<param name="Silent">A System.Boolean structure specifying true if a sound should be generated when the keystroke is simulated; otherwise, false.</param>
<param name="State">A KeyActionState enumeration value indicating the action that should be performed with the specified virtual-key code.</param>
</member>
<member name="T:OpenNETCF.Windows.Forms.NativeMethods.KeyActionState">
<summary>
Specifies an action, or state, that may occur, or should
occur, in relation to a keyboard key.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.NativeMethods.KeyActionState.Down">
<summary>
The key is in the down state.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.NativeMethods.KeyActionState.Up">
<summary>
The key is in the up state.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.NativeMethods.KeyActionState.Press">
<summary>
The key has been pressed down and then released.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.NotifyIcon">
<summary>
Specifies a component that creates an icon in the status area
</summary>
<remarks>Icons in the status area are short cuts to processes that are running in the background of a computer, such as a virus protection program or a volume control.
These processes do not come with their own user interfaces.
The <see cref="T:OpenNETCF.Windows.Forms.NotifyIcon"/> class provides a way to program in this functionality.
The Icon property defines the icon that appears in the status area.
Pop-up menus for an icon are addressed with the ContextMenu property.
The <see cref="P:OpenNETCF.Windows.Forms.NotifyIcon.Text"/> property assigns ToolTip text (Tooltips are not supported by the Pocket PC interface).
In order for the icon to show up in the status area, the <see cref="P:OpenNETCF.Windows.Forms.NotifyIcon.Visible"/> property must be set to true.</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.NotifyIcon.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Windows.Forms.NotifyIcon"/> class.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.NotifyIcon.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the <see cref="T:OpenNETCF.Windows.Forms.NotifyIcon"/> and optionally releases the managed resources.
</summary>
<param name="disposing">true to release both managed and unmanaged resources;
false to release only unmanaged resources.</param>
</member>
<member name="P:OpenNETCF.Windows.Forms.NotifyIcon.Icon">
<summary>
The <see cref="P:OpenNETCF.Windows.Forms.NotifyIcon.Icon"/> displayed by the NotifyIcon component.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.NotifyIcon.Text">
<summary>
Gets or sets the ToolTip text displayed when the mouse hovers over a status area icon.
</summary>
<remarks>The Pocket PC interface does not display tooptips.</remarks>
<value>The ToolTip text displayed when the mouse hovers over a status area icon.</value>
<exception cref="T:System.ArgumentException">ToolTip text must be less than 64 characters long.</exception>
</member>
<member name="P:OpenNETCF.Windows.Forms.NotifyIcon.Visible">
<summary>
Gets or sets a value indicating whether the icon is visible in the status notification area of the taskbar.
</summary>
<value>true if the icon is visible in the status area; otherwise, false. The default value is false.</value>
<remarks>Since the default value is false, in order for the icon to show up in the status area, you must set the Visible property to true.</remarks>
</member>
<member name="E:OpenNETCF.Windows.Forms.NotifyIcon.Click">
<summary>
Occurs when the user clicks the icon in the status area.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.NotifyIcon.DoubleClick">
<summary>
Occurs when the user double-clicks the icon in the status notification area of the taskbar.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.NotifyIcon.MouseUp">
<summary>
Occurs when the user releases the mouse button while the pointer is over the icon in the status notification area of the taskbar.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.NotifyIcon.MouseDown">
<summary>
Occurs when the user presses the mouse button while the pointer is over the icon in the status notification area of the taskbar.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.DrawItemEventHandler">
<summary>
Represents the method that will handle the DrawItem.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.PictureBox2.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.PictureBox2.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.PictureBox2.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.PictureBox2.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PictureBox2.TransparentColor">
<summary>
Sets or gets transparent color for an Image. The default color is 255, 0, 255.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.PowerLineStatus">
<summary>
Power line status.
</summary>
<remarks>Used by <see cref="T:OpenNETCF.Windows.Forms.PowerStatus"/> class.</remarks>
</member>
<member name="F:OpenNETCF.Windows.Forms.PowerLineStatus.Offline">
<summary>
AC power is offline.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.PowerLineStatus.Online">
<summary>
AC power is online.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.PowerLineStatus.BackupPower">
<summary>
Unit is on backup power.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.PowerLineStatus.Unknown">
<summary>
AC line status is unknown.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.PowerStatus">
<summary>
Indicates current system power status information.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.PowerLineStatus">
<summary>
AC power status.
</summary>
<value>One of the <see cref="P:OpenNETCF.Windows.Forms.PowerStatus.PowerLineStatus"/> values indicating the current system power status.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryChargeStatus">
<summary>
Gets the current battery charge status.
</summary>
<value>One of the <see cref="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryChargeStatus"/> values indicating the current battery charge level or charging status.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryLifePercent">
<summary>
Gets the approximate percentage of full battery time remaining.
</summary>
<value>The approximate percentage, from 0 to 100, of full battery time remaining, or 255 if the percentage is unknown.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryLifeRemaining">
<summary>
Gets the approximate number of seconds of battery time remaining.
</summary>
<value>The approximate number of seconds of battery life remaining, or -1 if the approximate remaining battery life is unknown.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryFullLifeTime">
<summary>
Gets the reported full charge lifetime of the primary battery power source in seconds.
</summary>
<value>The reported number of seconds of battery life available when the battery is fullly charged, or -1 if the battery life is unknown.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BackupBatteryChargeStatus">
<summary>
Gets the backup battery charge status.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BackupBatteryLifePercent">
<summary>
Percentage of full backup battery charge remaining. Must be in the range 0 to 100.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BackupBatteryLifeRemaining">
<summary>
Number of seconds of backup battery life remaining.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BackupBatteryFullLifeTime">
<summary>
Number of seconds of backup battery life when at full charge. Or -1 If unknown.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryVoltage">
<summary>
Amount of battery voltage in millivolts (mV).
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryCurrent">
<summary>
Amount of instantaneous current drain in milliamperes (mA).
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryAverageCurrent">
<summary>
Short-term average of device current drain (mA).
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryAverageInterval">
<summary>
Time constant in milliseconds (ms) of integration used in reporting <see cref="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryAverageCurrent"/>.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatterymAHourComsumed">
<summary>
Long-term cumulative average discharge in milliamperes per hour (mAH).
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryTemperature">
<summary>
Battery temperature in degrees Celsius (°C).
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BackupBatteryVoltage">
<summary>
Backup battery voltage in mV.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.PowerStatus.BatteryChemistry">
<summary>
Chemistry of the devices main battery.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.ProgressBar2">
<summary>
Represents a progress bar control similar to the windows progress bar control.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.defaultSize">
<summary>
The default size of the control
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.orientation">
<summary>
The orientation of the control
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.gradientStyle">
<summary>
The Gradient mode that should be used
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.drawStyle">
<summary>
The draw style for the progress bar
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.borderStyle">
<summary>
Border style of the control
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.maximum">
<summary>
The maximum value of the progress bar
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.minimum">
<summary>
The minimum value of the progress bar
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.currentValue">
<summary>
The current value of the progress bar
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.step">
<summary>
Step to use when incrementing the value
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.barColor">
<summary>
The color of the bar
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.barGradientColor">
<summary>
The gradient color to use
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.borderColor">
<summary>
The border color of the control
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.showValueText">
<summary>
Whether to show the text or not
</summary>
<remarks>Shows the text in the control.</remarks>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.showPercentValueText">
<summary>
Whether to show the percentage or not
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.onePixBar">
<summary>
The on pixel bitmap that is cached with the gradient so it doesn't have to be regenerated all the time. The image will be streched depending on the value.
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.borderPadding">
<summary>
The padding from the border of the control to the progress bar
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.offscreenBM">
<summary>
The offscreen bitmap to draw on
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.offscreenGX">
<summary>
The offscreen graphics component
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.PerformStep">
<summary>
Advances the current position of the progress bar by the amount of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Step">Step</see> property.
</summary>
<remarks>
The PerformStep method increments the value of the progress bar by the amount specified by the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Step">Step</see> property. You can use the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Step">Step</see> property to specify the amount that each completed task in an operation changes the value of the progress bar. For example, if you are copying a group of files, you might want to set the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Step">Step</see> property to 1 and the value of the Maximum property to the total number of files to copy. When each file is copied, you can call the PerformStep method to increment the progress bar by the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Step">Step</see> property. If you want to have more flexible control of the value of the progress bar, you can use the <see cref="M:OpenNETCF.Windows.Forms.ProgressBar2.Increment(System.Int32)">Increment</see> method or set the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property directly.
The <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property specifies the current position of the ProgressBar. If, after calling the PerformStep method, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property is greater than the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Maximum">Maximum</see> property, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property remains at the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Maximum">Maximum</see> property. If, after calling the PerformStep method with a negative value specified in the value parameter, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property is less than the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Minimum">Value</see> property, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property remains at the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Minimum">Minimum</see> property.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.Increment(System.Int32)">
<summary>
Advances the current position of the progress bar by the specified amount.
</summary>
<remarks>The Increment method enables you to increment the value of the progress bar by a specific amount. This method of incrementing the progress bar is similar to using the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Step">Step</see> property with the <see cref="M:OpenNETCF.Windows.Forms.ProgressBar2.PerformStep">PerformStep</see> method. The <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property specifies the current position of the ProgressBar. If, after calling the Increment method, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property is greater than the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Maximum">Maximum</see> property, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property remains at the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Maximum">Maximum</see> property. If, after calling the Increment method with a negative value specified in the value parameter, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property is less than the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Minimum">Minimum</see> property, the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property remains at the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Minimum">Minimum</see> property.</remarks>
<param name="value">The amount by which to increment the progress bar's current position.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the PaintBackground event. (Inherited from <see cref="T:System.Windows.Forms.Control">Control</see>.)
</summary>
<param name="e">A PaintEventArgs that contains the event data. </param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the Paint event. (Inherited from <see cref="T:System.Windows.Forms.Control">Control</see>.)
</summary>
<param name="e">A PaintEventArgs that contains the event data. </param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.OnResize(System.EventArgs)">
<summary>
Raises the Resize event. (Inherited from <see cref="T:System.Windows.Forms.Control">Control</see>.)
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.OnParentChanged(System.EventArgs)">
<summary>
Raises the ParentChanged event. (Inherited from <see cref="T:System.Windows.Forms.Control">Control</see>.)
</summary>
<param name="e"></param>
</member>
<member name="F:OpenNETCF.Windows.Forms.ProgressBar2.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.Dispose(System.Boolean)">
<summary>
Clean up any resources being used.
</summary>
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.InitializeComponent">
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ProgressBar2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Represents a progress bar control similar to the windows progress bar control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.ShowPercentValueText">
<summary>
Gets or sets whether the current percentage of the progress bar should be shown.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.ShowValueText">
<summary>
Gets or sets whether the current value of the progress bar should be shown.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.BarGradientColor">
<summary>
Gets or sets the gradient color of the progress bar
</summary>
<remarks>Only effective when DrawStyle is set to Gradient</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.BarColor">
<summary>
Gets or sets the color of the progress bar
</summary>
<value>The <see cref="T:System.Drawing.Color">Color</see> to set the bar of the ProgressBar2.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.DrawStyle">
<summary>
Gets or sets the style of the progress bar.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.GradientStyle">
<summary>
Gets or sets the gradient draw mode. Two values are either Normal which is gradient from left to right
and Middle which starts from the middle out
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.BorderStyle">
<summary>
Gets or sets the border style of the control
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.BorderColor">
<summary>
Gets or sets the color of the control border
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.BorderPadding">
<summary>
Gets or sets the space between the progress bar and the control border.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.Step">
<summary>
Gets or sets the amount by which a call to the <see cref="M:OpenNETCF.Windows.Forms.ProgressBar2.PerformStep">PerformStep</see> method increases the current position of the progress bar.
</summary>
<remarks>You can use the Step property to specify the amount that each completed task in an operation changes the value of the progress bar. For example, if you are copying a group of files, you might want to set the value of the Step property to 1 and the value of the Maximum property to the total number of files to copy. When each file is copied, you can call the <see cref="M:OpenNETCF.Windows.Forms.ProgressBar2.PerformStep">PerformStep</see> method to increment the progress bar by the value of the Step property. If you want to have more flexible control of the value of the progress bar, you can use the <see cref="M:OpenNETCF.Windows.Forms.ProgressBar2.Increment(System.Int32)">Increment</see> method or set the value of the <see cref="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">Value</see> property directly.</remarks>
<value>The amount by which to increment the progress bar with each call to the <see cref="M:OpenNETCF.Windows.Forms.ProgressBar2.PerformStep">PerformStep</see> method. The default is 10.</value>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.Value">
<summary>
Gets or sets the current position of the progress bar.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.Minimum">
<summary>
Gets or sets the minimum value of the range of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.Maximum">
<summary>
Gets or sets the maximum value of the range of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.BackColor">
<summary>
Overridden. See <see cref="P:System.Windows.Forms.Control.BackColor">Control.BackColor</see>.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.Text">
<summary>
Overridden. See <see cref="P:System.Windows.Forms.Control.Text">Control.Text</see>.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.ForeColor">
<summary>
Overridden. See <see cref="P:System.Windows.Forms.Control.ForeColor">Control.ForeColor</see>.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.Font">
<summary>
Overridden. See <see cref="P:System.Windows.Forms.Control.Font">Control.Font</see>.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.ProgressBar2.DesignMode">
<summary>
Gets whether the control is in design mode
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.HighWarnHandler">
<summary>
Used when a gauge value exceeds its high warn level.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.LowWarnHandler">
<summary>
Used when a gauge value falls below its low warn level.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.MaxValueHandler">
<summary>
Used when a gauge value exceeds its max value.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.MinValueHandler">
<summary>
Used when a gauge value falls below its low value.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.RoundGauge">
<summary>
A representation of a dial gauge with indicator lamps
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.#ctor">
<summary>
Create a RoundGauge object
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.Refresh">
<summary>
Refreshes the control
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.BeginUpdate">
<summary>
Suspends control painting
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.EndUpdate">
<summary>
Resumes control painting
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
OnPaintBackground
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
OnPaint
</summary>
<param name="e">PaintEventArgs</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.OnResize(System.EventArgs)">
<summary>
Fired when the RoundGauge is resized
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.Dispose(System.Boolean)">
<summary>
Dispose of the current object instance
</summary>
<param name="disposing"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.RoundGauge.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
A representation of a dial gauge with indicator lamps
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.RoundGauge.HighWarn">
<summary>
Fires when the RoundGauge Value exceeds the HighWarnValue
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.Value"/>
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.HighWarnValue"/>
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.RoundGauge.LowWarn">
<summary>
Fires when the RoundGauge Value falls below the LowWarnValue
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.Value"/>
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.LowWarnValue"/>
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.RoundGauge.GaugeMax">
<summary>
Fires when the RoundGauge Value exceeds the MaxValue
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.Value"/>
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.MaxValue"/>
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.RoundGauge.GaugeMin">
<summary>
Fires when the RoundGauge Value falls below the MinValue
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.Value"/>
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.MinValue"/>
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.Lamps">
<summary>
The RoundGauge's collection of Lamps
<seealso cref="P:OpenNETCF.Windows.Forms.RoundGauge.Lamps"/>
<seealso cref="T:OpenNETCF.Windows.Forms.Lamp"/>
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.NeedleWidth">
<summary>
Specifies the width of the gauge needle base.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.NeedleColor">
<summary>
The color of the Guage's needle
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.Diameter">
<summary>
Dimaeter of the RoundGauge face
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.Value">
<summary>
Value that the RoundGauge needle points to
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.ValueArc">
<summary>
The arc over which value ticks are drawn (in degrees)
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.TickLabelInterval">
<summary>
Specifies the number of ticks between TickLabels.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.ShowTickLabels">
<summary>
Specifies whether or not TickLabels will be displayed.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.LineBezelSpacing">
<summary>
Specifies the gap between the ValueArc and the gauge bezel.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.ArcWidth">
<summary>
Specifies the thickness of the ValueArc line.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.TickInterval">
<summary>
Specifies the interval, based on Value, between individual Tick lines.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.TickLabelPadding">
<summary>
Specifies the gap between the Tick lines and the TickLabels.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.TickLength">
<summary>
Specifies the length of standard Tick lines. Tick lines with a label are twice this value.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.MinValue">
<summary>
Specifies the minimum value displayed on the gauge.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.HighWarnValue">
<summary>
Specifies the lower limit of the HighWarn region.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.LowWarnValue">
<summary>
Specifies the upper limit of the LowWarn region.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.MaxValue">
<summary>
Specifies the maximum value displayed on the gauge.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.ValueDigits">
<summary>
Specifies the number of digits to display in the value label. 0 will hide the value label. -1 sets it to autosize.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.BezelWidth">
<summary>
Specifies the thickness of the gauge bezel.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.BezelColor">
<summary>
Specifies the Color of the gauge bezel.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.LineColor">
<summary>
Specifies the Color of Ticks and the ValueArc between the LowWarn and HighWarn regions.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.LowWarnColor">
<summary>
Specifies the Color of the ValueArc in the LowWarn region.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.RoundGauge.HighWarnColor">
<summary>
Specifies the Color of the ValueArc in the HighWarn region.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.LampPosition">
<summary>
Position of Lamp relative to RoundGauge.
<seealso cref="T:OpenNETCF.Windows.Forms.Lamp"/>
<seealso cref="T:OpenNETCF.Windows.Forms.RoundGauge"/>
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.LampPosition.UpperLeft">
<summary>
Upper Left
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.LampPosition.UpperRight">
<summary>
Upper Right
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.LampPosition.LowerLeft">
<summary>
Lower Left
</summary>
</member>
<member name="F:OpenNETCF.Windows.Forms.LampPosition.LowerRight">
<summary>
Lower Right
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.Lamp">
<summary>
Indicator Lamp class
</summary>
<seealso cref="T:OpenNETCF.Windows.Forms.RoundGauge"/>
</member>
<member name="M:OpenNETCF.Windows.Forms.Lamp.#ctor">
<summary>
Lamp constructor
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamp.Visible">
<summary>
Sets whether the lamp is Visible or not
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamp.Position">
<summary>
The position of the lamp relative to its parent RoundGauge
<seealso cref="T:OpenNETCF.Windows.Forms.RoundGauge"/>
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamp.State">
<summary>
The state (on or off) of the Lamp
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamp.OnColor">
<summary>
The lamp's color when its State is <b>true</b>
<seealso cref="P:OpenNETCF.Windows.Forms.Lamp.State"/>
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamp.OffColor">
<summary>
The lamp's color when its State is <b>false</b>
<seealso cref="P:OpenNETCF.Windows.Forms.Lamp.State"/>
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamp.BezelColor">
<summary>
The border (bezel) color of the lamp
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamp.BezelWidth">
<summary>
The border (bezel) width of the lamp
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.Lamps">
<summary>
A Collection of Lamp classes
</summary>
<seealso cref="T:OpenNETCF.Windows.Forms.Lamp"/>
</member>
<member name="M:OpenNETCF.Windows.Forms.Lamps.Add(OpenNETCF.Windows.Forms.Lamp)">
<summary>
Adds a Lamp to the collection
<seealso cref="T:OpenNETCF.Windows.Forms.Lamp"/>
</summary>
<param name="newLamp"></param>
</member>
<member name="P:OpenNETCF.Windows.Forms.Lamps.Item(System.Int32)">
<summary>
Retrieves the Lamp at a specific <b>index</b>
<seealso cref="T:OpenNETCF.Windows.Forms.Lamp"/>
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.SendKeys">
<summary>
Provides methods for sending keystrokes to an application.
</summary>
<remarks>
A quote from "http://msdn2.microsoft.com/library/k3w7761b.aspx":
Each key is represented by one or more characters. To specify a single keyboard character,
use the character itself. For example, to represent the letter A, pass in the string "A" to
the method. To represent more than one character, append each additional character to the
one preceding it. To represent the letters A, B, and C, specify the parameter as "ABC".
The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses () have special
meanings to SendKeys. To specify one of these characters, enclose it within braces ({}).
For example, to specify the plus sign, use "{+}". To specify brace characters, use "{{}"
and "{}}". Brackets ([ ]) have no special meaning to SendKeys, but you must enclose them
in braces.
To specify that any combination of SHIFT (+), CTRL (^), and ALT (%) should be held down while several
other keys are pressed, enclose the code for those keys in parentheses. For example, to
specify to hold down SHIFT while E and C are pressed, use "+(EC)". To specify to hold down
SHIFT while E is pressed, followed by C without SHIFT, use "+EC".
To specify repeating keys, use the form {key number}. You must put a space between key
and number. For example, {LEFT 42} means press the LEFT ARROW key 42 times; {h 10}
means press H 10 times.
</remarks>
</member>
<member name="M:OpenNETCF.Windows.Forms.SendKeys.Send(System.String)">
<summary>
Sends keystrokes to the active application.
</summary>
<param name="keys">The string of keystrokes to send.</param>
</member>
<member name="T:OpenNETCF.Windows.Forms.Signature">
<summary>
Captures a signature from the user.
Can be saved to a control specific byte array or a Bitmap.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.#ctor">
<summary>
Constructor, creates the graphics object
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.ToBitmap">
<summary>
Converts the signature to a bitmap.
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.GetSignatureEx">
<summary>
Returns the signature data consisting of points (x,y) coordinates
</summary>
<returns>Signature data</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.LoadSignatureEx(System.Byte[])">
<summary>
Loads a signature from the given bytes consisting of points (x,y) coordinates
</summary>
<param name="b">Signature data previously serialized with e.g. GetSignatureEx</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.Clear">
<summary>
Clears the signature area.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the System.Windows.Forms.Control
and its child controls and optionally releases the managed resources.
</summary>
<param name="disposing">
true to release both managed and unmanaged resources; false to release only
unmanaged resources.
</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.DrawBorder(System.Drawing.Graphics)">
<summary>
Draw the border of the signature box if it is required.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseDown event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseMove event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
<summary>
Raises the MouseUp event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
<summary>
Raises the PaintBackground event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.OnPaint(System.Windows.Forms.PaintEventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.Signature.OnResize(System.EventArgs)">
<summary>
Raises the Resize event.
</summary>
<param name="e"></param>
</member>
<member name="P:OpenNETCF.Windows.Forms.Signature.BorderColor">
<summary>
Gets or sets the color for the border.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Signature.BackgroundImage">
<summary>
Gets or sets the background image to use when painting
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Signature.BorderStyle">
<summary>
Gets or sets the <see cref="T:System.Windows.Forms.BorderStyle"/> of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Signature.ForeColor">
<summary>
Gets or sets the <see cref="P:OpenNETCF.Windows.Forms.Signature.ForeColor"/> of the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Signature.PenWidth">
<summary>
Gets or sets the width of the signature draw pen
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.Signature.DesignMode">
<summary>
Gets a value indicating whether a control is being used on a design surface.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.Point2">
<summary>
Internal class to facilitate pen width control
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.SmartList">
<summary>
Represents a Owner-drawn list control, which displays a collection of items which can be filtered using key press.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.OnFilteringStarted(System.EventArgs)">
<summary>
Raises the FilteringStarted event.
</summary>
<param name="e"> An System.EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.OnFilteringComplete(System.EventArgs)">
<summary>
Raises the FilteringStarted event.
</summary>
<param name="e">An System.EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Represents a Owner-drawn list control, which displays a collection of items which can be filtered using key press.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.SmartList.FilteringStarted">
<summary>
Occurs when the filtering is started.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.SmartList.FilteringComplete">
<summary>
Occurs when the filtering is completed.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.Items">
<summary>
Gets the items of the SmartList .
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.BaseItems">
<summary>
Gets a items collection.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.FullKeyboard">
<summary>
Sets or gets the value indicating usage of QWERTY keyboard
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.AutoNumbering">
<summary>
Sets or gets AutoNumbering.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.KeyMappings">
<summary>
Gets or sets key mappings for filtering.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.EvenItemColor">
<summary>
Gets or sets the background color of the even item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.LineColor">
<summary>
Gets or sets the color of the lines.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.ShowLines">
<summary>
Gets or sets text wrapping in the list items
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.WrapText">
<summary>
Gets or sets text wrapping in the list items
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.ImageList">
<summary>
Gets or sets the System.Windows.Forms.ImageList to use when displaying item's icons in the control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.ItemsMatchedCount">
<summary>
Gets a number of items found as a result of filtering.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.ItemHeight">
<summary>
Gets or sets the item height
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.SmartList.ItemCollection">
<summary>
Represents the collection of items in a SmartList .
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Add(OpenNETCF.Windows.Forms.SmartListItem)">
<summary>
Adds an item to the list of items for a SmartList .
</summary>
<param name="value">SmartListItem to add</param>
<returns>Newly created SmartListItem</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Add(System.String)">
<summary>
Adds an item to the list of items for a SmartList .
</summary>
<param name="value">string for text property</param>
<returns>Newly created SmartListItem</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Clear">
<summary>
Removes all elements from the System.Collections.ArrayList.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Remove(OpenNETCF.Windows.Forms.SmartListItem)">
<summary>
Removes the specified object from the collection.
</summary>
<param name="value">SmartListItem to remove</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Insert(System.Int32,OpenNETCF.Windows.Forms.SmartListItem)">
<summary>
Inserts an item into the list box at the specified index.
</summary>
<param name="index">The zero-based index location where the item is inserted.</param>
<param name="value">An object representing the item to insert.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Contains(OpenNETCF.Windows.Forms.SmartListItem)">
<summary>
Determines whether the specified item is located within the collection.
</summary>
<param name="value">An object representing the item to locate in the collection.</param>
<returns>true if the item is located within the collection; otherwise, false .</returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartList.ItemCollection.IndexOf(OpenNETCF.Windows.Forms.SmartListItem)">
<summary>
Returns the index within the collection of the specified item
</summary>
<param name="value">An object representing the item to locate in the collection.</param>
<returns>The zero-based index where the item is located within the collection; otherwise, negative one (-1). </returns>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Item(System.Int32)">
<summary>
Gets or sets the item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartList.ItemCollection.Item(System.String)">
<summary>
Gets the item.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.SmartListItem">
<summary>
Represents an item in a <see cref="T:OpenNETCF.Windows.Forms.SmartList"/> control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartListItem.#ctor">
<summary>
Initializes a new instance of the SmartListItem class with default values.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartListItem.#ctor(System.String)">
<summary>
Initializes a new instance of the SmartListItem class with specified item text.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.SmartListItem.#ctor(System.String,System.Int32)">
<summary>
Initializes a new instance of the SmartListItem class with specified item text and ImageIndex.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartListItem.Text">
<summary>
Gets or sets the text associated with this item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartListItem.Font">
<summary>
Gets or sets the font associated with this item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartListItem.ForeColor">
<summary>
Gets or sets the foreground color of the item's text.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartListItem.ImageList">
<summary>
Gets the <see cref="P:OpenNETCF.Windows.Forms.SmartListItem.ImageList"/> that contains the image displayed with the item.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SmartListItem.ImageIndex">
<summary>
Gets or sets the ImageIndex associated with this item.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.StaticMethods.IsDesignMode(System.Windows.Forms.Control)">
<summary>
Determins whether the control is in design mode or not
</summary>
<param name="control"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Windows.Forms.StaticMethods.Scale(System.Drawing.Graphics)">
<summary>
Produces a number to use for scaling graphics
</summary>
<param name="g">Graphics object to use</param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Windows.Forms.StaticMethods.IsDesignTime">
<summary>
Determine if this instance is running against .NET Framework
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.StaticMethods.IsRunTime">
<summary>
Determine if this instance is running against .NET Compact Framework
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.SystemInformation2">
<summary>
Provides information about the current system environment.
</summary>
<remarks>Enhances functionality available in <see cref="T:System.Windows.Forms.SystemInformation"/>.</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.BorderSize">
<summary>
Gets the thickness, in pixels, of a flat-style window or system control border.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.CaptionHeight">
<summary>
Gets the height, in pixels, of the standard title bar area of a window.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.CursorSize">
<summary>
Gets the maximum size, in pixels, that a cursor can occupy.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.DebugOS">
<summary>
Gets a value indicating whether the debug version of Windows CE is installed.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.DoubleClickSize">
<summary>
Gets the dimensions, in pixels, of the area within which the user must click twice for the operating system to consider the two clicks a double-click.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.DoubleClickTime">
<summary>
Gets the maximum number of milliseconds allowed between mouse clicks for a double-click to be valid.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.FixedFrameBorderSize">
<summary>
Gets the thickness, in pixels, of the frame border of a window that has a caption and is not resizable.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.HorizontalScrollBarArrowWidth">
<summary>
Gets the width, in pixels, of the arrow bitmap on the horizontal scroll bar.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.HorizontalScrollBarHeight">
<summary>
Gets the default height, in pixels, of the horizontal scroll bar.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.IconSize">
<summary>
Gets the dimensions, in pixels, of the Windows default program icon size.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.IconSpacingSize">
<summary>
Gets the size, in pixels, of the grid square used to arrange icons in a large-icon view.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.MenuHeight">
<summary>
Gets the height, in pixels, of one line of a menu.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.MonitorCount">
<summary>
Gets the number of display monitors.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.MonitorsSameDisplayFormat">
<summary>
Gets a value indicating whether all the display monitors are using the same pixel color format.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.MousePresent">
<summary>
Gets a value indicating whether a mouse is installed.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.PowerStatus">
<summary>
Gets the current system power status.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.PrimaryMonitorSize">
<summary>
Gets the dimensions, in pixels, of the current video mode of the primary display.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.ScreenOrientation">
<summary>
Gets the orientation of the screen.
</summary>
<value>The orientation of the screen, in degrees.</value>
<seealso cref="T:Microsoft.WindowsCE.Forms.SystemSettings"/>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.SmallIconSize">
<summary>
Gets the dimensions, in pixels, of a small icon.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.VerticalScrollBarArrowHeight">
<summary>
Gets the height, in pixels, of the arrow bitmap on the vertical scroll bar.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.VerticalScrollBarWidth">
<summary>
Gets the default width, in pixels, of the vertical scroll bar.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.VirtualScreen">
<summary>
Gets the bounds of the virtual screen.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.SystemInformation2.WorkingArea">
<summary>
Gets the size, in pixels, of the working area of the screen.
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.TextBox2">
<summary>
Enhances the <see cref="T:System.Windows.Forms.TextBox"/> control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.AppendText(System.String)">
<summary>
Appends text to the current text of a text box.
</summary>
<param name="text">The text to append to the current contents of the text box.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.Cut">
<summary>
Moves the current selection in the <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> to the Clipboard.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.Copy">
<summary>
Copies the current selection in the <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> to the Clipboard.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.Paste">
<summary>
Replaces the current selection in the <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> with the contents of the Clipboard.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.Clear">
<summary>
Clears all text from the <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> control.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.OnParentChanged(System.EventArgs)">
<summary>
Raises the System.Windows.Forms.Control.ParentChanged event.
</summary>
<param name="e">An System.EventArgs that contains the event data.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.DefWndProc(Microsoft.WindowsCE.Forms.Message@)">
<summary>
Invokes the default window procedure associated with this window.
It is an error to call this method when the <see cref="P:System.Windows.Forms.Control.Handle"/> property is 0.
</summary>
<param name="m">A <see cref="T:Microsoft.WindowsCE.Forms.Message"/> that is associated with the current Windows message.</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.WndProc(Microsoft.WindowsCE.Forms.Message@)">
<summary>
The wndproc for the control.
</summary>
<param name="m">message sent by the system</param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.OnCopy(System.ComponentModel.CancelEventArgs)">
<summary>
Raises the Copy event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.OnCut(System.ComponentModel.CancelEventArgs)">
<summary>
Raises the Copy event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.OnPaste(System.ComponentModel.CancelEventArgs)">
<summary>
Raises the Copy event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.OnClear(System.ComponentModel.CancelEventArgs)">
<summary>
Raises the Copy event.
</summary>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.SelectInternal(System.Int32,System.Int32,System.Int32)">
<summary>
Selects the text in the textBox control
</summary>
<param name="start"></param>
<param name="length"></param>
<param name="textLength"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.AdjustSelectionStartAndEnd(System.Int32,System.Int32,System.Int32@,System.Int32@,System.Int32)">
<summary>
Adjusts the selection
</summary>
<param name="selStart"></param>
<param name="selLength"></param>
<param name="start"></param>
<param name="end"></param>
<param name="textLen"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.ClearUndo">
<summary>
Clears the Undo buffer
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.GetSelectionStartAndLength(System.Int32@,System.Int32@)">
<summary>
Gets the selection start and length
</summary>
<param name="start"></param>
<param name="length"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.SetSelectedTextInternal(System.String,System.Boolean)">
<summary>
Sets the selected text while clearing the Undo if desired.
</summary>
<param name="text"></param>
<param name="clearUndo"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.TextBox2.OpenNETCF#Windows#Forms#IWin32Window#get_Handle">
<summary>
Enhances the <see cref="T:System.Windows.Forms.TextBox"/> control.
</summary>
</member>
<member name="P:OpenNETCF.Windows.Forms.TextBox2.CharacterCasing">
<summary>
Gets or sets whether the <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> control modifies the case of characters as they are typed.
</summary>
<value>One of the <see cref="P:OpenNETCF.Windows.Forms.TextBox2.CharacterCasing"/> enumeration values that specifies whether the <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> control modifies the case of characters.
The default is <see cref="P:OpenNETCF.Windows.Forms.TextBox2.CharacterCasing">CharacterCasing.Normal</see>.</value>
<remarks>You can use the <see cref="P:OpenNETCF.Windows.Forms.TextBox2.CharacterCasing"/> property to change the case of characters as required by your application.
For example, you could change the case of all characters entered in a <see cref="T:OpenNETCF.Windows.Forms.TextBox2"/> control used for password entry to uppercase or lowercase to enforce a policy for passwords.</remarks>
</member>
<member name="P:OpenNETCF.Windows.Forms.TextBox2.Lines">
<summary>
Gets or sets the lines of text in a text box control.
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.TextBox2.Copying">
<summary>
Occurs when a WM_COPY message is sent to the textbox
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.TextBox2.Cutting">
<summary>
Occurs when a WM_CUT message is sent to the textbox
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.TextBox2.Clearing">
<summary>
Occures when a WM_CLEAR message is sent to the textbox
</summary>
</member>
<member name="E:OpenNETCF.Windows.Forms.TextBox2.Pasting">
<summary>
Occurs when a WM_PASTE message is sent to the textbox
</summary>
</member>
<member name="T:OpenNETCF.Windows.Forms.ThreadWindows">
<summary>
Enumerates all windows associated with a thread. In the future (for CF2.0), it should be based on the EnumThreadWindows function.
</summary>
</member>
<member name="M:OpenNETCF.Windows.Forms.ThreadWindows.#ctor(System.IntPtr)">
<summary>
Creates a new <see cref="T:OpenNETCF.Windows.Forms.ThreadWindows"/> object for a specific window handle.
</summary>
<param name="parent"></param>
</member>
<member name="M:OpenNETCF.Windows.Forms.ThreadWindows.Enable(System.Boolean)">
<summary>
Enables/Disables thread windows except parent window.
</summary>
<param name="state"></param>
</member>
<member name="T:OpenNETCF.Win32.CB">
<summary>
ComboBox Messages.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETEDITSEL">
<summary>
An application sends a CB_GETEDITSEL message to get the starting and ending character positions of the current selection in the edit control of a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.LIMITTEXT">
<summary>
An application sends a CB_LIMITTEXT message to limit the length of the text the user may type into the edit control of a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETEDITSEL">
<summary>
An application sends a CB_SETEDITSEL message to select characters in the edit control of a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.ADDSTRING">
<summary>
An application sends a CB_ADDSTRING message to add a string to the list box of a combo box. If the combo box does not have the CBS_SORT style, the string is added to the end of the list. Otherwise, the string is inserted into the list, and the list is sorted
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.DELETESTRING">
<summary>
An application sends a CB_DELETESTRING message to delete a string in the list box of a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETCOUNT">
<summary>
An application sends a CB_GETCOUNT message to retrieve the number of items in the list box of a combo box.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETCURSEL">
<summary>
An application sends a CB_GETCURSEL message to retrieve the index of the currently selected item, if any, in the list box of a combo box.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETLBTEXT">
<summary>
An application sends a CB_GETLBTEXT message to retrieve a string from the list of a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETLBTEXTLEN">
<summary>
An application sends a CB_GETLBTEXTLEN message to retrieve the length, in characters, of a string in the list of a combo box.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.INSERTSTRING">
<summary>
An application sends a CB_INSERTSTRING message to insert a string into the list box of a combo box. Unlike the CB_ADDSTRING message, the CB_INSERTSTRING message does not cause a list with the CBS_SORT style to be sorted
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.RESETCONTENT">
<summary>
An application sends a CB_RESETCONTENT message to remove all items from the list box and edit control of a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.FINDSTRING">
<summary>
An application sends a CB_FINDSTRING message to search the list box of a combo box for an item beginning with the characters in a specified string
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SELECTSTRING">
<summary>
An application sends a CB_SELECTSTRING message to search the list of a combo box for an item that begins with the characters in a specified string. If a matching item is found, it is selected and copied to the edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETCURSEL">
<summary>
An application sends a CB_SETCURSEL message to select a string in the list of a combo box. If necessary, the list scrolls the string into view. The text in the edit control of the combo box changes to reflect the new selection, and any previous selection in the list is removed
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SHOWDROPDOWN">
<summary>
An application sends a CB_SHOWDROPDOWN message to show or hide the list box of a combo box that has the CBS_DROPDOWN or CBS_DROPDOWNLIST style
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETITEMDATA">
<summary>
An application sends a CB_GETITEMDATA message to a combo box to retrieve the application-supplied value associated with the specified item in the combo box.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETITEMDATA">
<summary>
An application sends a CB_SETITEMDATA message to set the value associated with the specified item in a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETDROPPEDCONTROLRECT">
<summary>
An application sends a CB_GETDROPPEDCONTROLRECT message to retrieve the screen coordinates of a combo box in its dropped-down state
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETITEMHEIGHT">
<summary>
An application sends a CB_SETITEMHEIGHT message to set the height of list items or the selection field in a combo box.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETITEMHEIGHT">
<summary>
An application sends a CB_GETITEMHEIGHT message to determine the height of list items or the selection field in a combo box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETEXTENDEDUI">
<summary>
An application sends a CB_SETEXTENDEDUI message to select either the default user interface or the extended user interface for a combo box that has the CBS_DROPDOWN or CBS_DROPDOWNLIST style
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETEXTENDEDUI">
<summary>
An application sends a CB_GETEXTENDEDUI message to determine whether a combo box has the default user interface or the extended user interface
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETDROPPEDSTATE">
<summary>
An application sends a CB_GETDROPPEDSTATE message to determine whether the list box of a combo box is dropped down.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.FINDSTRINGEXACT">
<summary>
An application sends a CB_FINDSTRINGEXACT message to find the first list box string in a combo box that matches the string specified in the lParam parameter.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETLOCALE">
<summary>
An application sends a CB_SETLOCALE message to set the current locale of the combo box. If the combo box has the CBS_SORT style and strings are added using CB_ADDSTRING, the locale of a combo box affects how list items are sorted.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETLOCALE">
<summary>
An application sends a CB_GETLOCALE message to retrieve the current locale of the combo box. The locale is used to determine the correct sorting order of displayed text for combo boxes with the CBS_SORT style and text added by using the CB_ADDSTRING message.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETTOPINDEX">
<summary>
An application sends the CB_GETTOPINDEX message to retrieve the zero-based index of the first visible item in the list box portion of a combo box. Initially, the item with index 0 is at the top of the list box, but if the list box contents have been scrolled, another item may be at the top.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETTOPINDEX">
<summary>
An application sends the CB_SETTOPINDEX message to ensure that a particular item is visible in the list box of a combo box. The system scrolls the list box contents so that either the specified item appears at the top of the list box or the maximum scroll range has been reached.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETHORIZONTALEXTENT">
<summary>
An application sends the CB_GETHORIZONTALEXTENT message to retrieve from a combo box the width, in pixels, by which the list box can be scrolled horizontally (the scrollable width). This is applicable only if the list box has a horizontal scroll bar.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETHORIZONTALEXTENT">
<summary>
An application sends the CB_SETHORIZONTALEXTENT message to set the width, in pixels, by which a list box can be scrolled horizontally (the scrollable width). If the width of the list box is smaller than this value, the horizontal scroll bar horizontally scrolls items in the list box. If the width of the list box is equal to or greater than this value, the horizontal scroll bar is hidden or, if the combo box has the CBS_DISABLENOSCROLL style, disabled.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.GETDROPPEDWIDTH">
<summary>
An application sends the CB_GETDROPPEDWIDTH message to retrieve the minimum allowable width, in pixels, of the list box of a combo box with the CBS_DROPDOWN or CBS_DROPDOWNLIST style
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.SETDROPPEDWIDTH">
<summary>
An application sends the CB_SETDROPPEDWIDTH message to set the maximum allowable width, in pixels, of the list box of a combo box with the CBS_DROPDOWN or CBS_DROPDOWNLIST style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CB.INITSTORAGE">
<summary>
An application sends the CB_INITSTORAGE message before adding a large number of items to the list box portion of a combo box. This message allocates memory for storing list box items.
</summary>
</member>
<member name="T:OpenNETCF.Win32.CBS">
<summary>
Combobox control styles.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.DROPDOWN">
<summary>
Similar to CBS_SIMPLE, except that the list box is not displayed unless the user selects an icon next to the edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.DROPDOWNLIST">
<summary>
Similar to CBS_DROPDOWN, except that the edit control is replaced by a static text item that displays the current selection in the list box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.AUTOHSCROLL">
<summary>
Automatically scrolls the text in an edit control to the right when the user types a character at the end of the line. If this style is not set, only text that fits within the rectangular boundary is allowed.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.OEMCONVERT">
<summary>
character set and then back to the Windows character set. This ensures proper character conversion when the application calls the CharToOem function to convert a Windows string in the combo box to OEM characters. This style is most useful for combo boxes that contain file names and applies only to combo boxes created with the CBS_SIMPLE or CBS_DROPDOWN style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.SORT">
<summary>
Automatically sorts strings added to the list box
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.HASSTRINGS">
<summary>
Specifies that an owner-drawn combo box contains items consisting of strings. The combo box maintains the memory and address for the strings so the application can use the CB_GETLBTEXT message to retrieve the text for a particular item.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.NOINTEGRALHEIGHT">
<summary>
Specifies that the size of the combo box is exactly the size specified by the application when it created the combo box. Normally, the system sizes a combo box so that it does not display partial items
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.DISABLENOSCROLL">
<summary>
Shows a disabled vertical scroll bar in the list box when the box does not contain enough items to scroll. Without this style, the scroll bar is hidden when the list box does not contain enough items.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.UPPERCASE">
<summary>
Converts to uppercase all text in both the selection field and the list.
</summary>
</member>
<member name="F:OpenNETCF.Win32.CBS.LOWERCASE">
<summary>
Converts to lowercase all text in both the selection field and the list.
</summary>
</member>
<member name="T:OpenNETCF.Win32.DTM">
<summary>
DateTimePicker Messages.
</summary>
</member>
<member name="T:OpenNETCF.Win32.DTN">
<summary>
DateTimePicker Notifications.
</summary>
</member>
<member name="T:OpenNETCF.Win32.DTS">
<summary>
DateTimePicker Styles.
</summary>
</member>
<member name="T:OpenNETCF.Win32.EM">
<summary>
Edit control Messages.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETSEL">
<summary>
This message retrieves the starting and ending character positions of the current selection in an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETSEL">
<summary>
This message selects a range of characters in an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETRECT">
<summary>
This message retrieves the formatting rectangle of an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETRECT">
<summary>
This message sets the formatting rectangle of a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETRECTNP">
<summary>
This message sets the formatting rectangle of a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SCROLL">
<summary>
This message scrolls the text vertically in a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.LINESCROLL">
<summary>
This message scrolls the text vertically or horizontally in a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SCROLLCARET">
<summary>
This message scrolls the caret into view in an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETMODIFY">
<summary>
This message determines whether the contents of an edit control have been modified.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETMODIFY">
<summary>
This message sets or clears the modification flag for an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETLINECOUNT">
<summary>
This message retrieves the number of lines in a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.LINEINDEX">
<summary>
This message retrieves the character index of a line in a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.LINELENGTH">
<summary>
This message retrieves the length of a line, in characters, in an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.REPLACESEL">
<summary>
This message replaces the current selection in an edit control with the specified text.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETLINE">
<summary>
This message copies a line of text from an edit control and places the text in a specified buffer.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.LIMITTEXT">
<summary>
This message limits the amount of text the user can enter into an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.CANUNDO">
<summary>
This message determines whether an edit-control operation can be undone; that is, whether the control can respond to the EM_UNDO message.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.UNDO">
<summary>
This message reverses the effect of the last edit control operation.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.FMTLINES">
<summary>
This message sets the inclusion flag for soft line-break characters on or off within a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.LINEFROMCHAR">
<summary>
This message retrieves the index of the line that contains the specified character index in a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETTABSTOPS">
<summary>
This message sets the tab stops in a multiline edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETPASSWORDCHAR">
<summary>
This message sets or removes a password character displayed in a single-line edit control when the user types text.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.EMPTYUNDOBUFFER">
<summary>
This message resets the undo flag of an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETFIRSTVISIBLELINE">
<summary>
This message determines the uppermost visible line in an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETREADONLY">
<summary>
This message sets or removes the read-only style (ES_READONLY) of an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETPASSWORDCHAR">
<summary>
This message retrieves the password character displayed in an edit control when the user enters text.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETMARGINS">
<summary>
This message sets the widths of the left and right margins for an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETMARGINS">
<summary>
This message retrieves the widths of the left and right margins for an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.SETLIMITTEXT">
<summary>
This message limits the amount of text the user can enter into an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.GETLIMITTEXT">
<summary>
This message retrieves the current text limit, in characters, for an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.POSFROMCHAR">
<summary>
This message retrieves the coordinates of the specified character in an edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.EM.CHARFROMPOS">
<summary>
This message retrieves the zero-based character index and zero-based line index of the character nearest the specified point in an edit control.
</summary>
</member>
<member name="T:OpenNETCF.Win32.ES">
<summary>
Edit control styles.
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.LEFT">
<summary>
Left aligned
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.CENTER">
<summary>
Center aligned
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.RIGHT">
<summary>
Right aligned
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.MULTILINE">
<summary>
Designates a multiline edit control. The default is single-line edit control.
When the multiline edit control is in a dialog box, the default response to pressing the ENTER key is to activate the default button. To use the ENTER key as a carriage return, use the ES_WANTRETURN style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.UPPERCASE">
<summary>
Force uppercase
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.LOWERCASE">
<summary>
Force lowercase
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.PASSWORD">
<summary>
Displays an asterisk (*) for each character typed into the edit control. This style is valid only for single-line edit controls
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.AUTOVSCROLL">
<summary>
Show vertical scrollbars automatically
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.AUTOHSCROLL">
<summary>
Show horizontal scrollbars automatically
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.NOHIDESEL">
<summary>
Negates the default behavior for an edit control. The default behavior hides the selection when the control loses the input focus and inverts the selection when the control receives the input focus. If you specify ES_NOHIDESEL, the selected text is inverted, even if the control does not have the focus.
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.COMBOBOX">
<summary>
Combobox
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.OEMCONVERT">
<summary>
Converts text entered in the edit control. The text is converted from the Windows character set to the OEM character set and then back to the Windows character set. This ensures proper character conversion when the application calls the CharToOem function to convert a Windows string in the edit control to OEM characters. This style is most useful for edit controls that contain file names that will be used on file systems that do not support Unicode.
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.READONLY">
<summary>
Prevents the user from typing or editing text in the edit control
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.WANTRETURN">
<summary>
Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control.
</summary>
</member>
<member name="F:OpenNETCF.Win32.ES.NUMBER">
<summary>
Allows only digits to be entered into the edit control. Note that, even with this set, it is still possible to paste non-digits into the edit control.
</summary>
</member>
<member name="T:OpenNETCF.Win32.GDTR">
<summary>
GetDateTimeRange.
</summary>
</member>
<member name="T:OpenNETCF.Win32.GW">
<summary>
Window relationships used with GetWindow.
</summary>
</member>
<member name="F:OpenNETCF.Win32.GW.HWNDFIRST">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GW.HWNDLAST">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GW.HWNDNEXT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GW.HWNDPREV">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GW.OWNER">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GW.CHILD">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Win32.GWL">
<summary>
Parameters for GetWindowLong.
</summary>
</member>
<member name="F:OpenNETCF.Win32.GWL.WNDPROC">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GWL.HINSTANCE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GWL.HWNDPARENT">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GWL.STYLE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GWL.EXSTYLE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GWL.USERDATA">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.GWL.ID">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Win32.HS">
<summary>
HTML control styles.
</summary>
</member>
<member name="T:OpenNETCF.Win32.HWND">
<summary>
Preset window handles.
</summary>
</member>
<member name="T:OpenNETCF.Win32.LBS">
<summary>
Listbox control styles.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.NOTIFY">
<summary>
Parent window receives an input message whenever the user clicks or double-clicks a string
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.SORT">
<summary>
Strings in the list box are sorted alphabetically.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.NOREDRAW">
<summary>
List-box display is not updated when changes are made. This style can be changed at any time by sending a WM_SETREDRAW message.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.MULTIPLESEL">
<summary>
String selection is toggled each time the user clicks or double-clicks the string. Any number of strings can be selected.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.HASSTRINGS">
<summary>
Specifies an owner-draw list box that contains items consisting of strings. The list box maintains the memory and pointers for the strings so the application can use the GetText member function to retrieve the text for a particular item.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.USETABSTOPS">
<summary>
Allows a list box to recognize and expand tab characters when drawing its strings. The default tab positions are 32 dialog units. (A dialog unit is a horizontal or vertical distance. One horizontal dialog unit is equal to one-fourth of the current dialog base width unit. The dialog base units are computed based on the height and width of the current system font. The GetDialogBaseUnits Windows function returns the current dialog base units in pixels.) This style should not be used with LBS_OWNERDRAWFIXED.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.NOINTEGRALHEIGHT">
<summary>
The size of the list box is exactly the size specified by the application when it created the list box. Usually, Windows sizes a list box so that the list box does not display partial items.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.MULTICOLUMN">
<summary>
Specifies a multicolumn list box that is scrolled horizontally. The SetColumnWidth member function sets the width of the columns.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.WANTKEYBOARDINPUT">
<summary>
The owner of the list box receives WM_VKEYTOITEM or WM_CHARTOITEM messages whenever the user presses a key while the list box has input focus. This allows an application to perform special processing on the keyboard input.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.EXTENDEDSEL">
<summary>
The user can select multiple items using the SHIFT key and the mouse or special key combinations.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.DISABLENOSCROLL">
<summary>
The list box shows a disabled vertical scroll bar when the list box does not contain enough items to scroll. Without this style, the scroll bar is hidden when the list box does not contain enough items.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.NODATA">
<summary>
Specifies a no-data list box. Specify this style when the count of items in the list box will exceed one thousand. A no-data list box must also have the LBS_OWNERDRAWFIXED style, but must not have the LBS_SORT or LBS_HASSTRINGS style.
A no-data list box resembles an owner-drawn list box except that it contains no string or bitmap data for an item. Commands to add, insert, or delete an item always ignore any given item data; requests to find a string within the list box always fail. The system sends the WM_DRAWITEM message to the owner window when an item must be drawn. The itemID member of the DRAWITEMSTRUCT structure passed with the WM_DRAWITEM message specifies the line number of the item to be drawn. A no-data list box does not send a WM_DELETEITEM message.
</summary>
</member>
<member name="F:OpenNETCF.Win32.LBS.STANDARD">
<summary>
Strings in the list box are sorted alphabetically, and the parent window receives an input message whenever the user clicks or double-clicks a string. The list box contains borders on all sides.
</summary>
</member>
<member name="T:OpenNETCF.Win32.LVM">
<summary>
ListView Messages.
</summary>
</member>
<member name="T:OpenNETCF.Win32.MCM">
<summary>
MonthCalendar Messages.
</summary>
</member>
<member name="T:OpenNETCF.Win32.MCN">
<summary>
MonthCalendar notifications.
</summary>
</member>
<member name="T:OpenNETCF.Win32.MCS">
<summary>
MonthCalendar styles.
</summary>
</member>
<member name="T:OpenNETCF.Win32.MCSC">
<summary>
MonthCalendar Colors.
</summary>
</member>
<member name="T:OpenNETCF.Win32.NMHDR">
<summary>
Notification header returned in WM_NOTIFY lParam
</summary>
</member>
<member name="F:OpenNETCF.Win32.NMHDR.hwndFrom">
<summary>
Window that has sent WM_NOTIFY
</summary>
</member>
<member name="F:OpenNETCF.Win32.NMHDR.idFrom">
<summary>
Control ID of the window that sent the notification
</summary>
</member>
<member name="F:OpenNETCF.Win32.NMHDR.code">
<summary>
Notification code
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.HIDE">
<summary>
Hides the window and activates another window
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.SHOWNORMAL">
<summary>
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.SHOWNOACTIVATE">
<summary>
Displays a window in its most recent size and position. This value is similar to SW_SHOWNORMAL, except the window is not actived.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.SHOW">
<summary>
Activates the window and displays it in its current size and position.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.MINIMIZE">
<summary>
Minimizes the specified window and activates the next top-level window in the Z order.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.SHOWNA">
<summary>
Displays the window in its current size and position. This value is similar to SW_SHOW, except the window is not activated.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.SHOWMAXIMIZED">
<summary>
Activates the window and displays it as a maximized window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.MAXIMIZE">
<summary>
Maximizes the specified window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SW.RESTORE">
<summary>
Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
</summary>
</member>
<member name="T:OpenNETCF.Win32.SWP">
<summary>
Flags used with SetWindowPos.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOSIZE">
<summary>
Retains current size (ignores the cx and cy members).
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOMOVE">
<summary>
Retains current position (ignores the x and y members).
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOZORDER">
<summary>
Retains current ordering (ignores the hwndInsertAfter member).
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOREDRAW">
<summary>
Does not redraw changes.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOACTIVATE">
<summary>
Does not activate the window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.FRAMECHANGED">
<summary>
Sends a WM_NCCALCSIZE message to the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE is sent only when the window's size is being changed.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.SHOWWINDOW">
<summary>
Displays the window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.HIDEWINDOW">
<summary>
Hides the window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOCOPYBITS">
<summary>
Discards the entire contents of the client area. If this flag is not specified, the valid contents of the client area are saved and copied back into the client area after the window is sized or repositioned.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOOWNERZORDER">
<summary>
Does not change the owner window's position in the Z-order.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOSENDCHANGING">
<summary>
Prevents the window from receiving the WM_WINDOWPOSCHANGING message.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.DRAWFRAME">
<summary>
Draws a frame (defined in the class description for the window) around the window. The window receives a WM_NCCALCSIZE message
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.NOREPOSITION">
<summary>
Same as SWP_NOOWNERZORDER
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.DEFERERASE">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Win32.SWP.ASYNCWINDOWPOS">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Win32.TCN">
<summary>
Notification Messages.
</summary>
</member>
<member name="T:OpenNETCF.Win32.WA">
<summary>
wParams for the WM.ACTIVATE message
</summary>
</member>
<member name="F:OpenNETCF.Win32.WA.INACTIVE">
<summary>
Deactivated
</summary>
</member>
<member name="F:OpenNETCF.Win32.WA.ACTIVE">
<summary>
Activated by some method other than a mouse click (for example, by a call to the SetActiveWindow function or by use of the keyboard interface to select the window).
</summary>
</member>
<member name="F:OpenNETCF.Win32.WA.CLICKACTIVE">
<summary>
Activated by a mouse click
</summary>
</member>
<member name="T:OpenNETCF.Win32.Win32Window">
<summary>
A helper class for working with native windows.
</summary>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.ShowWindow(OpenNETCF.Win32.SW)">
<summary>
The ShowWindow function sets the specified window's show state.
</summary>
<param name="showFlags">Specifies how the window is to be shown</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.CreateWindowEx(System.Int32,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)">
<summary>
This function creates an overlapped, pop-up, or child window with an extended style; otherwise, this function is identical to the CreateWindow function.
</summary>
<param name="dwExStyle">Specifies the extended style of the window</param>
<param name="lpClassName"></param>
<param name="lpWindowName"></param>
<param name="dwStyle">Specifies the style of the window being created.</param>
<param name="x"></param>
<param name="y"></param>
<param name="nWidth"></param>
<param name="nHeight"></param>
<param name="hWndParent"></param>
<param name="hMenu"></param>
<param name="hInstance"></param>
<param name="lpParam"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.DestroyWindow(System.IntPtr)">
<summary>
This function destroys the specified window.
</summary>
<param name="hWnd">Handle to the window to be destroyed.</param>
<returns>Nonzero indicates success.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.FindWindow(System.String,System.String)">
<summary>
This function retrieves the handle to the top-level window whose class name and window name match the specified strings.
</summary>
<param name="className">The class name.</param>
<param name="wndName">The window name (the window's title). If this parameter is NULL, all window names match.</param>
<returns>A handle to the window that has the specified class name and window name indicates success. NULL indicates failure.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.GetWindow(System.IntPtr,OpenNETCF.Win32.GW)">
<summary>
Retrieves the handle to a window that has the specified relationship to the Win32Window.
</summary>
<param name="hWnd"></param>
<param name="nCmd">Specifies the relationship between the specified window and the window which is to be retrieved.</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.GetWindowText(System.IntPtr)">
<summary>
Copies the text of the specified window's title bar or controls body.
</summary>
<returns>The window text.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.GetWindowRect(System.IntPtr)">
<summary>
Returns a Rectangle representing the bounds of the window
</summary>
<param name="hWnd">a valid window handle</param>
<returns>A <see cref="T:System.Drawing.Rectangle"/> representing the bounds of the specified window.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.GetActiveWindow">
<summary>
Retrieves the window handle to the active window associated with the thread that calls the function.
</summary>
<returns>The handle to the active window associated with the calling thread's message queue indicates success. NULL indicates failure.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.GetFocus">
<summary>
Retrieves the handle to the keyboard focus window associated with the thread that called the function.
</summary>
<returns>The handle to the window with the keyboard focus indicates success. NULL indicates that the calling thread's message queue does not have an associated window with the keyboard focus.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.GetCapture">
<summary>
Retrieves the handle to the window, if any, that has captured the mouse or stylus input. Only one window at a time can capture the mouse or stylus input.
</summary>
<returns>The handle of the capture window associated with the current thread indicates success. NULL indicates that no window in the current thread has captured the mouse.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.GetWindowLong(System.IntPtr,OpenNETCF.Win32.GWL)">
<summary>
Retrieves information about the specified window.
</summary>
<param name="hWnd">Handle to the window and, indirectly, the class to which the window belongs.</param>
<param name="nItem">Specifies the zero-based offset to the value to be retrieved. Valid values are in the range zero through the number of bytes of extra window memory, minus four; for example, if you specified 12 or more bytes of extra memory, a value of 8 would be an index to the third 32-bit integer.</param>
<returns>The requested 32-bit value indicates success. Zero indicates failure.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.MoveWindow(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
This function changes the position and dimensions of the specified window. For a top-level window, the position and dimensions are relative to the upper-left corner of the screen. For a child window, they are relative to the upper-left corner of the parent window's client area.
</summary>
<param name="hWnd">Handle to the window.</param>
<param name="X">Specifies the new position of the left side of the window.</param>
<param name="Y">Specifies the new position of the top of the window.</param>
<param name="cx">Specifies the new width of the window.</param>
<param name="cy">Specifies the new height of the window.</param>
<returns>Nonzero indicates success. Zero indicates failure.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.PostMessage(System.IntPtr,System.Int32,System.IntPtr,System.IntPtr)">
<summary>
Places a message in the message queue associated with the thread that created the specified window and then returns without waiting for the thread to process the message.
</summary>
<param name="hWnd">Handle to the window whose window procedure is to receive the message.</param>
<param name="msg">Specifies the message to be posted.</param>
<param name="wParam">Specifies additional message-specific information.</param>
<param name="lParam">Specifies additional message-specific information.</param>
<returns>Nonzero indicates success. Zero indicates failure.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.SetWindowLong(System.IntPtr,OpenNETCF.Win32.GWL,System.Int32)">
<summary>
Changes an attribute of the specified window.
</summary>
<param name="hWnd">Handle to the window and, indirectly, the class to which the window belongs.</param>
<param name="GetWindowLongParam">Specifies the zero-based offset to the value to be set.</param>
<param name="nValue">Specifies the replacement value.</param>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.EnableWindow(System.IntPtr,System.Boolean)">
<summary>
enables or disables mouse and keyboard input to the specified window or control. When input is disabled, the window does not receive input such as mouse clicks and key presses. When input is enabled, the window receives all input.
</summary>
<param name="hWnd">Handle to the window to be enabled or disabled.</param>
<param name="bEnable">Boolean that specifies whether to enable or disable the window. If this parameter is TRUE, the window is enabled. If the parameter is FALSE, the window is disabled.</param>
<returns>Nonzero indicates that the window was previously disabled. Zero indicates that the window was not previously disabled.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.RegisterWindowMessage(System.String)">
<summary>
Defines a new window message that is guaranteed to be unique throughout the system. The returned message value can be used when calling the SendMessage or PostMessage function.
</summary>
<param name="lpMsg">String that specifies the message to be registered.</param>
<returns>A message identifier in the range 0xC000 through 0xFFFF indicates that the message is successfully registered. Zero indicates failure.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.SetFocus(System.IntPtr)">
<summary>
Sets the keyboard focus to the specified window. All subsequent keyboard input is directed to this window. The window, if any, that previously had the keyboard focus loses it.
</summary>
<param name="hWnd">Handle to the window that will receive the keyboard input.
If this parameter is NULL, keystrokes are ignored.</param>
<returns>The handle to the window that previously had the keyboard focus indicates success. NULL indicates that the hWnd parameter is invalid or the window is not associated with the calling thread's message queue.</returns>
</member>
<member name="M:OpenNETCF.Win32.Win32Window.SetForegroundWindow(System.IntPtr)">
<summary>
Puts the thread that created the specified window into the foreground and activates the window.
</summary>
<param name="hWnd">Handle to the window that should be activated and brought to the foreground.</param>
<returns>Nonzero indicates that the window was brought to the foreground. Zero indicates that the window was not brought to the foreground.</returns>
</member>
<member name="P:OpenNETCF.Win32.Win32Window.Handle">
<summary>
Returns the native window handle.
</summary>
</member>
<member name="P:OpenNETCF.Win32.Win32Window.Text">
<summary>
Text of the Win32Window
</summary>
</member>
<member name="T:OpenNETCF.Win32.WM">
<summary>
Window Messages.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WM.LBUTTONDOWN">
<summary>
This message is posted when the user presses the touch-screen in the client area of a window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WM.USER">
<summary>
This message is used by applications to help define private messages.
</summary>
</member>
<member name="T:OpenNETCF.Win32.WS">
<summary>
Window style flags.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.BORDER">
<summary>
Creates a window that has a thin-line border.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.CAPTION">
<summary>
Creates a window that has a title bar (includes the BORDER style).
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.CHILD">
<summary>
Creates a child window. This style cannot be used with the POPUP style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.CLIPSIBLINGS">
<summary>
Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.DISABLED">
<summary>
Creates a window that is initially disabled. A disabled window cannot receive input from the user.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.DLGFRAME">
<summary>
Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.GROUP">
<summary>
Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the GROUP style. The first control in each group usually has the TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.HSCROLL">
<summary>
Creates a window that has a horizontal scroll bar.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.MAXIMIZEBOX">
<summary>
Creates a window that has a Maximize button. Cannot be combined with the EX_CONTEXTHELP style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.MINIMIZEBOX">
<summary>
Creates a window that has a Minimize button. Cannot be combined with the EX_CONTEXTHELP style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.OVERLAPPED">
<summary>
Creates an overlapped window. An overlapped window has a title bar and a border. Same as the TILED style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.POPUP">
<summary>
Creates a pop-up window. This style cannot be used with the CHILD style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.SYSMENU">
<summary>
Creates a window that has a Close (X) button in the non-client area.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.TABSTOP">
<summary>
Specifies a control that can receive the keyboard focus when the user presses the TAB key. Pressing the TAB key changes the keyboard focus to the next control with the TABSTOP style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.THICKFRAME">
<summary>
Creates a window that has a sizing border. Same as the SIZEBOX style.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.VISIBLE">
<summary>
Creates a window that is initially visible.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS.VSCROLL">
<summary>
Creates a window that has a vertical scroll bar.
</summary>
</member>
<member name="T:OpenNETCF.Win32.WS_EX">
<summary>
Extended control styles.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.CLIENTEDGE">
<summary>
Specifies that a window has a border with a sunken edge.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.DLGMODALFRAME">
<summary>
Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.NOACTIVATE">
<summary>
A top-level window created with this style cannot be activated. If a child window has this style, tapping it does not cause its top-level parent to be activated. A window that has this style receives stylus events, but neither it nor its child windows can get the focus. Supported in Windows CE versions 2.0 and later.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.OVERLAPPEDWINDOW">
<summary>
Combines the CLIENTEDGE and WINDOWEDGE styles.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.STATICEDGE">
<summary>
Creates a window with a three-dimensional border style intended to be used for items that do not accept user input.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.TOOLWINDOW">
<summary>
Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing ALT+SPACE.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.TOPMOST">
<summary>
Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.WINDOWEDGE">
<summary>
Specifies that a window has a border with a raised edge.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.CONTEXTHELP">
<summary>
Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window.
WS_EX_CONTEXTHELP cannot be used with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX styles.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.CAPTIONOKBUTTON">
<summary>
Window includes an OK button in the title bar
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.NODRAG">
<summary>
A window created with this style cannot be dragged using a mouse or stylus
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.ABOVESTARTUP">
<summary>
Places window above Start bar. When combined with WS_EX.TOPMOST, generates a full-screen, top-most Window
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.INK">
<summary>
Indicates that no default beeping sound is generated on clicking on the window.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.NOANIMATION">
<summary>
A window created with this style does not show animated exploding and imploding rectangles, and does not have a button on the taskbar. Supported in Windows CE 2.0 and later.
</summary>
</member>
<member name="F:OpenNETCF.Win32.WS_EX.NONE">
<summary>
Additional value for Completeness
</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.Windows.Forms.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/CompactFramework/OpenNETCF.xml
0,0 → 1,6359
<?xml version="1.0"?>
<doc>
<assembly>
<name>OpenNETCF</name>
</assembly>
<members>
<member name="T:OpenNETCF.ComponentModel.License">
<summary>
Provides the abstract base class for all licenses. A license is granted to a specific instance of a component.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.License.#ctor">
<summary>
Initializes a new instance of the License class.
</summary>
</member>
<member name="T:OpenNETCF.ComponentModel.LicenseManager">
<summary>
Provides properties and methods to add a license to a component and to manage a LicenseProvider. This class cannot be inherited.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.LicenseManager.IsValid(System.Type,OpenNETCF.ComponentModel.License@)">
<summary>
Determines whether a valid license can be granted for the specified instance of the type. This method creates a valid License.
</summary>
<param name="type">A System.Type that represents the type of object that requests the License.</param>
<param name="license">A License that is a valid license, or null if a valid license cannot be granted.</param>
<returns>true if a valid license can be granted; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.ComponentModel.LicenseManager.Validate(System.Type)">
<summary>
Determines whether a valid license can be granted for the specified type.
</summary>
<param name="type">A System.Type that represents the type of object that requests the License.</param>
<returns>A valid OpenNETCF.ComponentModel.License.</returns>
</member>
<member name="M:OpenNETCF.ComponentModel.LicenseManager.IsValid(System.Type)">
<summary>
Determines whether a valid license can be granted for the specified type.
</summary>
<param name="type">A System.Type that represents the type of object that requests the License.</param>
<returns>true if a valid license can be granted; otherwise, false.</returns>
</member>
<member name="T:OpenNETCF.ComponentModel.LicenseProvider">
<summary>
Provides the abstract base class for implementing a license provider.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.LicenseProvider.#ctor">
<summary>
Initializes a new instance of the OpenNETCF.ComponentModel.LicenseProvider class.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.LicenseProvider.GetLicense(System.Type,System.Reflection.Assembly,OpenNETCF.ComponentModel.LicenseResourceType,System.Boolean)">
<summary>
When overridden in a derived class, gets a license for an instance or type of component, when given a context and whether the denial of a license throws an exception.
</summary>
<param name="type">A System.Type that represents the component requesting the license.</param>
<param name="typeAssembly"></param>
<param name="resourceType">LicenseResourceType that represents the way the client license is supplied.</param>
<param name="allowExceptions">true if a System.ComponentModel.LicenseException should be thrown when the component cannot be granted a license; otherwise, false.</param>
<returns>A valid OpenNETCF.ComponentModel.License.</returns>
</member>
<member name="T:OpenNETCF.ComponentModel.LicenseProviderAttribute">
<summary>
Specifies the OpenNETCF.ComponentModel.LicenseProvider to use with a class. This class cannot be inherited.
</summary>
</member>
<member name="T:OpenNETCF.ComponentModel.PublicKeyLicenseProvider">
<summary>
Provides an implementation of a OpenNETCF.ComponentModel.LicenseProvider.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.PublicKeyLicenseProvider.GetLicense(System.Type,System.Reflection.Assembly,OpenNETCF.ComponentModel.LicenseResourceType,System.Boolean)">
<summary>
Returns a license for the instance of the component, if one is available.
</summary>
<param name="type"></param>
<param name="allowExceptions"></param>
<param name="resourceType"></param>
<param name="typeAssembly"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Diagnostics.TraceLevel">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.TraceLevel.Off">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.TraceLevel.Error">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.TraceLevel.Warning">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.TraceLevel.Info">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.TraceLevel.Verbose">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.IO.DriveInfo">
<summary>
Provides access to information on a drive.
</summary>
<remarks>This class models a drive and provides methods and properties to query for drive information.
Use <see cref="T:OpenNETCF.IO.DriveInfo"/> to determine what drives are available, and the capacity and available free space on the drive.</remarks>
</member>
<member name="M:OpenNETCF.IO.DriveInfo.#ctor(System.String)">
<summary>
Provides access to information on the specified drive.
</summary>
<param name="driveName"></param>
<remarks>Use this class to obtain information on drives.
The drive name must be a valid Windows CE volume path e.g. "\Storage Card".
You cannot use this method to obtain information on drive names that are a null reference (Nothing in Visual Basic) or use UNC (\\server\share) paths.</remarks>
<exception cref="T:System.ArgumentNullException">The drive name cannot be a null reference (Nothing in Visual Basic).</exception>
</member>
<member name="M:OpenNETCF.IO.DriveInfo.ToString">
<summary>
Returns a drive name as a string.
</summary>
<returns>The name of the drive.</returns>
</member>
<member name="M:OpenNETCF.IO.DriveInfo.GetDrives">
<summary>
Retrieves the drive names of all logical drives on a computer.
</summary>
<returns></returns>
</member>
<member name="P:OpenNETCF.IO.DriveInfo.RootDirectory">
<summary>
Gets the root directory of a drive.
</summary>
</member>
<member name="P:OpenNETCF.IO.DriveInfo.ManufacturerID">
<summary>
Gets the manufacturer ID of the volume (if available)
</summary>
</member>
<member name="P:OpenNETCF.IO.DriveInfo.SerialNumber">
<summary>
Gets the serial number of the volume (if available)
</summary>
</member>
<member name="P:OpenNETCF.IO.DriveInfo.AvailableFreeSpace">
<summary>
Indicates the amount of available free space on a drive.
</summary>
</member>
<member name="P:OpenNETCF.IO.DriveInfo.TotalFreeSpace">
<summary>
Gets the total amount of free space available on a drive.
</summary>
</member>
<member name="P:OpenNETCF.IO.DriveInfo.TotalSize">
<summary>
Gets the total size of storage space on a drive.
</summary>
</member>
<member name="T:OpenNETCF.IO.FileAccess2">
<summary>
CreateFile file access flags
</summary>
</member>
<member name="F:OpenNETCF.IO.FileAccess2.Read">
<summary>
Read access to the file. Data can be read from the file.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileAccess2.Write">
<summary>
Write access to the file. Data can be written to the file.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileAccess2.Execute">
<summary>
Execute permission. The file can be executed.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileAccess2.All">
<summary>
All permissions.
</summary>
</member>
<member name="T:OpenNETCF.IO.FileCreateDisposition">
<summary>
Specifies which action to take on files that exist, and which action to take when files do not exist.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileCreateDisposition.CreateNew">
<summary>
Creates a new file.
The function fails if the specified file already exists.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileCreateDisposition.CreateAlways">
<summary>
Creates a new file.
If the file exists, the function overwrites the file and clears the existing attributes.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileCreateDisposition.OpenExisting">
<summary>
Opens the file.
The function fails if the file does not exist.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileCreateDisposition.OpenAlways">
<summary>
Opens the file, if it exists.
If the file does not exist, the function creates the file as if dwCreationDisposition were <b>CreateNew</b>.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileCreateDisposition.TruncateExisting">
<summary>
Opens the file.
Once opened, the file is truncated so that its size is zero bytes. The calling process must open the file with at least Write access.
</summary>
</member>
<member name="T:OpenNETCF.IO.FileFlags">
<summary>
CreateFile file flags
</summary>
</member>
<member name="F:OpenNETCF.IO.FileFlags.WriteThrough">
<summary>
Instructs the system to write through any intermediate cache and go directly to disk.
The system can still cache write operations, but cannot lazily flush them.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileFlags.Overlapped">
<summary>
This flag is not supported; however, multiple read/write operations pending on a device at a time are allowed.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileFlags.RandomAccess">
<summary>
Indicates that the file is accessed randomly.
The system can use this as a hint to optimize file caching.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileFlags.SequentialScan">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.IO.FileFlags.DeleteOnClose">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.IO.FileSystemEventHandler">
<summary>
Represents the method that will handle the <see cref="E:OpenNETCF.IO.FileSystemWatcher.Changed"/>, <see cref="E:OpenNETCF.IO.FileSystemMonitor.Created"/>, or <see cref="E:OpenNETCF.IO.FileSystemWatcher.Deleted"/> event of a <see cref="T:OpenNETCF.IO.FileSystemWatcher"/> class.
</summary>
<param name="sender">The source of the event.</param>
<param name="e">The <see cref="T:OpenNETCF.IO.FileSystemEventArgs"/> that contains the event data.</param>
<seealso cref="T:OpenNETCF.IO.FileSystemEventArgs"/>
<seealso cref="T:OpenNETCF.IO.RenamedEventArgs"/>
</member>
<member name="T:OpenNETCF.IO.FileSystemEventArgs">
<summary>
Provides data for the directory events: <see cref="E:OpenNETCF.IO.FileSystemWatcher.Changed"/>, <see cref="E:OpenNETCF.IO.FileSystemWatcher.Created"/>, <see cref="E:OpenNETCF.IO.FileSystemMonitor.Deleted"/>.
</summary>
<remarks>The <b>FileSystemEventArgs</b> class is passed as a parameter to event handlers for these events:
<para>The <see cref="E:OpenNETCF.IO.FileSystemWatcher.Changed"/> event occurs when changes are made to the size, system attributes, last write time, last access time, or security permissions in a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemMonitor.Path"/> of a <see cref="T:OpenNETCF.IO.FileSystemMonitor"/>.</para>
<para>The <see cref="E:OpenNETCF.IO.FileSystemWatcher.Created"/> event occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemWatcher.Path"/> of a <see cref="T:OpenNETCF.IO.FileSystemMonitor"/> is created.</para>
<para>The <see cref="E:OpenNETCF.IO.FileSystemWatcher.Deleted"/> event occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemWatcher.Path"/> of a <see cref="T:OpenNETCF.IO.FileSystemMonitor"/> is deleted. For more information, see <see cref="T:OpenNETCF.IO.FileSystemMonitor"/>.</para></remarks>
</member>
<member name="M:OpenNETCF.IO.FileSystemEventArgs.#ctor(OpenNETCF.IO.WatcherChangeTypes,System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.IO.FileSystemEventArgs"/> class.
</summary>
<param name="changeType">One of the <see cref="T:OpenNETCF.IO.WatcherChangeTypes"/> values, which represents the kind of change detected in the file system.</param>
<param name="directory">The root directory of the affected file or directory.</param>
<param name="name">The name of the affected file or directory.</param>
</member>
<member name="P:OpenNETCF.IO.FileSystemEventArgs.ChangeType">
<summary>
Gets the type of directory event that occurred.
</summary>
<value>One of the <see cref="T:OpenNETCF.IO.WatcherChangeTypes"/> values that represents the kind of change detected in the file system.</value>
<seealso cref="T:OpenNETCF.IO.FileSystemEventArgs"/>
<seealso cref="T:OpenNETCF.IO.WatcherChangeTypes"/>
</member>
<member name="P:OpenNETCF.IO.FileSystemEventArgs.FullPath">
<summary>
Gets the fully qualifed path of the affected file or directory.
</summary>
<value>The path of the affected file or directory.</value>
</member>
<member name="P:OpenNETCF.IO.FileSystemEventArgs.Name">
<summary>
Gets the name of the affected file or directory.
</summary>
<value>The name of the affected file or directory.</value>
</member>
<member name="T:OpenNETCF.IO.NotifyFilters">
<summary>
Specifies changes to watch for in a file or folder.
</summary>
<remarks>You can combine the members of this enumeration to watch for more than one kind of change. For example, you can watch for changes in the size of a file or folder, and for changes in security settings. This raises an event anytime there is a change in size or security settings of a file or folder.</remarks>
<seealso cref="T:OpenNETCF.IO.FileSystemMonitor"/>
<seealso cref="T:OpenNETCF.IO.FileSystemEventArgs"/>
<seealso cref="T:OpenNETCF.IO.FileSystemEventHandler"/>
<seealso cref="T:OpenNETCF.IO.RenamedEventArgs"/>
<seealso cref="T:OpenNETCF.IO.RenamedEventHandler"/>
<seealso cref="T:OpenNETCF.IO.WatcherChangeTypes"/>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.Attributes">
<summary>
The attributes of the file or folder.
</summary>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.CreationTime">
<summary>
The time the file or folder was created.
</summary>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.DirectoryName">
<summary>
The name of the directory.
</summary>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.FileName">
<summary>
The name of the file.
</summary>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.LastAccess">
<summary>
The date the file or folder was last opened.
</summary>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.LastWrite">
<summary>
The date the file or folder last had anything written to it.
</summary>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.Security">
<summary>
The security settings of the file or folder.
</summary>
</member>
<member name="F:OpenNETCF.IO.NotifyFilters.Size">
<summary>
The size of the file or folder.
</summary>
</member>
<member name="T:OpenNETCF.IO.RenamedEventHandler">
<summary>
Represents the method that will handle the <see cref="E:OpenNETCF.IO.FileSystemMonitor.Renamed"/> event of a <see cref="T:OpenNETCF.IO.FileSystemMonitor"/> class.
</summary>
<param name="sender">The source of the event.</param>
<param name="e">The <see cref="T:OpenNETCF.IO.RenamedEventArgs"/> that contains the event data.</param>
<seealso cref="T:OpenNETCF.IO.RenamedEventArgs"/>
<seealso cref="T:OpenNETCF.IO.FileSystemEventHandler"/>
<seealso cref="T:OpenNETCF.IO.FileSystemEventArgs"/>
</member>
<member name="T:OpenNETCF.IO.RenamedEventArgs">
<summary>
Provides data for the Renamed event.
</summary>
</member>
<member name="P:OpenNETCF.IO.RenamedEventArgs.OldFullPath">
<summary>
Gets the previous fully qualified path of the affected file or directory.
</summary>
</member>
<member name="P:OpenNETCF.IO.RenamedEventArgs.OldName">
<summary>
Gets the old name of the affected file or directory.
</summary>
</member>
<member name="T:OpenNETCF.IO.WatcherChangeTypes">
<summary>
Changes that might occur to a file or directory.
</summary>
<remarks>Each <see cref="T:OpenNETCF.IO.WatcherChangeTypes"/> member is associated with an event in <see cref="T:OpenNETCF.IO.FileSystemMonitor"/>.
For more information on the events, see <see cref="E:OpenNETCF.IO.FileSystemMonitor.Changed"/>, <see cref="E:OpenNETCF.IO.FileSystemMonitor.Created"/>, <see cref="E:OpenNETCF.IO.FileSystemMonitor.Deleted"/> and <see cref="E:OpenNETCF.IO.FileSystemMonitor.Renamed"/>.</remarks>
</member>
<member name="F:OpenNETCF.IO.WatcherChangeTypes.All">
<summary>
The creation, deletion, change, or renaming of a file or folder.
</summary>
</member>
<member name="F:OpenNETCF.IO.WatcherChangeTypes.Changed">
<summary>
The change of a file or folder. The types of changes include: changes to size, attributes, security settings, last write, and last access time.
</summary>
</member>
<member name="F:OpenNETCF.IO.WatcherChangeTypes.Created">
<summary>
The creation of a file or folder.
</summary>
</member>
<member name="F:OpenNETCF.IO.WatcherChangeTypes.Deleted">
<summary>
The deletion of a file or folder.
</summary>
</member>
<member name="F:OpenNETCF.IO.WatcherChangeTypes.Renamed">
<summary>
The renaming of a file or folder.
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.Wave">
<summary>
Native wave in/out methods.
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Wave.SetVolume(System.Int32)">
<summary>
Set the volume for the default waveOut device (device ID = 0)
</summary>
<param name="Volume"></param>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Wave.SetVolume(System.IntPtr,System.Int32)">
<summary>
Set the volume for an already-open waveOut device
</summary>
<param name="hWaveOut"></param>
<param name="Volume"></param>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Wave.GetVolume">
<summary>
Get the current volume setting for the default waveOut device (device ID = 0)
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Wave.GetVolume(System.IntPtr)">
<summary>
Set the current volume setting for an already-open waveOut device
</summary>
<param name="hWaveOut"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.ComponentModel.BackgroundWorker">
<summary>
Executes an operation on a separate thread.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.BackgroundWorker.#ctor(System.Windows.Forms.Control)">
<summary>
Initializes a new instance of the BackgroundWorker class.
Call from the desktop code as the other ctor is not good enough
Call it passing in a created control e.g. the Form
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.BackgroundWorker.#ctor">
<summary>
Initializes a new instance of the BackgroundWorker class.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.BackgroundWorker.ReportProgress(System.Int32)">
<summary>
Raises the BackgroundWorker.ProgressChanged event.
</summary>
<param name="aProgressPercent">The percentage, from 0 to 100, of the background operation that is complete. </param>
</member>
<member name="M:OpenNETCF.ComponentModel.BackgroundWorker.ReportProgress(System.Int32,System.Object)">
<summary>
Raises the BackgroundWorker.ProgressChanged event.
</summary>
<param name="aProgressPercent">The percentage, from 0 to 100, of the background operation that is complete. </param>
<param name="aUserState">The state object passed to BackgroundWorker.RunWorkerAsync(System.Object).</param>
</member>
<member name="M:OpenNETCF.ComponentModel.BackgroundWorker.RunWorkerAsync">
<summary>
Starts execution of a background operation.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.BackgroundWorker.RunWorkerAsync(System.Object)">
<summary>
Starts execution of a background operation.
</summary>
<param name="aArgument"> A parameter for use by the background operation to be executed in the BackgroundWorker.DoWork event handler.</param>
</member>
<member name="M:OpenNETCF.ComponentModel.BackgroundWorker.CancelAsync">
<summary>
Requests cancellation of a pending background operation.
</summary>
</member>
<member name="E:OpenNETCF.ComponentModel.BackgroundWorker.DoWork">
<summary>
Occurs when <see cref="M:OpenNETCF.ComponentModel.BackgroundWorker.RunWorkerAsync"/> is called.
</summary>
</member>
<member name="E:OpenNETCF.ComponentModel.BackgroundWorker.ProgressChanged">
<summary>
Occurs when <see cref="M:OpenNETCF.ComponentModel.BackgroundWorker.ReportProgress(System.Int32)"/> is called.
</summary>
</member>
<member name="E:OpenNETCF.ComponentModel.BackgroundWorker.RunWorkerCompleted">
<summary>
Occurs when the background operation has completed, has been cancelled, or has raised an exception.
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.BackgroundWorker.CancellationPending">
<summary>
Gets a value indicating whether the application has requested cancellation of a background operation.
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.BackgroundWorker.WorkerReportsProgress">
<summary>
Gets or sets a value indicating whether the BackgroundWorker object can report progress updates.
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.BackgroundWorker.WorkerSupportsCancellation">
<summary>
Gets or sets a value indicating whether the BackgroundWorker object supports asynchronous cancellation.
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.BackgroundWorker.IsBusy">
<summary>
Gets a value indicating whether the System.ComponentModel.BackgroundWorker is running an asynchronous operation.
Returns:
true, if the System.ComponentModel.BackgroundWorker is running an
asynchronous operation; otherwise, false.
</summary>
</member>
<member name="T:OpenNETCF.ComponentModel.DoWorkEventHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:OpenNETCF.ComponentModel.ProgressChangedEventHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:OpenNETCF.ComponentModel.RunWorkerCompletedEventHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:OpenNETCF.ComponentModel.DoWorkEventArgs">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.DoWorkEventArgs.#ctor(System.Object)">
<summary>
</summary>
<param name="aArgument"></param>
</member>
<member name="P:OpenNETCF.ComponentModel.DoWorkEventArgs.Argument">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.DoWorkEventArgs.Result">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.ComponentModel.InvalidEnumArgumentException">
<summary>
The exception thrown when using invalid arguments that are enumerators.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.InvalidEnumArgumentException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.ComponentModel.InvalidEnumArgumentException"/> class without a message.
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.InvalidEnumArgumentException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.ComponentModel.InvalidEnumArgumentException"/> class with the specified message.
</summary>
<param name="message">The message to display with this exception.</param>
</member>
<member name="M:OpenNETCF.ComponentModel.InvalidEnumArgumentException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.ComponentModel.InvalidEnumArgumentException"/> class with the specified detailed description and the specified exception.
</summary>
<param name="message">A detailed description of the error.</param>
<param name="innerException">A reference to the inner exception that is the cause of this exception.</param>
</member>
<member name="M:OpenNETCF.ComponentModel.InvalidEnumArgumentException.#ctor(System.String,System.Int32,System.Type)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.ComponentModel.InvalidEnumArgumentException"/> class with a message generated from the argument, the invalid value, and an enumeration class.
</summary>
<param name="argumentName">The name of the argument that caused the exception.</param>
<param name="invalidValue">The value of the argument that failed.</param>
<param name="enumClass">A <see cref="T:System.Type"/> that represents the enumeration class with the valid values.</param>
</member>
<member name="T:OpenNETCF.ComponentModel.ProgressChangedEventArgs">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.ProgressChangedEventArgs.#ctor(System.Int32,System.Object)">
<summary>
</summary>
<param name="aProgressPercent"></param>
<param name="aUserState"></param>
</member>
<member name="P:OpenNETCF.ComponentModel.ProgressChangedEventArgs.ProgressPercentage">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.ProgressChangedEventArgs.UserState">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.ComponentModel.RunWorkerCompletedEventArgs">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.ComponentModel.RunWorkerCompletedEventArgs.#ctor(System.Object,System.Exception,System.Boolean)">
<summary>
</summary>
<param name="aResult"></param>
<param name="aError"></param>
<param name="aCancelled"></param>
</member>
<member name="P:OpenNETCF.ComponentModel.RunWorkerCompletedEventArgs.Result">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.RunWorkerCompletedEventArgs.Cancelled">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.ComponentModel.RunWorkerCompletedEventArgs.Error">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.CRC">
<summary>
Class used for generating Cyclic Redundancy Check (CRC) Hashes
</summary>
</member>
<member name="M:OpenNETCF.CRC.GenerateChecksum(System.Byte[])">
<summary>
Generates a CCITT32 CRC of the data
</summary>
<param name="data">Data to generate a CRC for</param>
<returns>The CRC</returns>
</member>
<member name="M:OpenNETCF.CRC.GenerateChecksum(System.Byte[],System.Int32,System.Int32)">
<summary>
Generates a CRC using a common polynomial for the next closest bitlength above that specified.
For example, a bit length of 13 through 16 will use the CCITT16 polynomial masking off bits necessary to maintain the specified bitlength.
</summary>
<param name="data">Data to generate a CRC for</param>
<param name="offset">The offset into the source data at which to start the CRC</param>
<param name="length">The number of bytes in the source data to analyze</param>
<returns>The CRC</returns>
<returns></returns>
</member>
<member name="M:OpenNETCF.CRC.GenerateChecksum(System.Byte[],System.Int32)">
<summary>
Generates a CRC using a common polynomial for the next closest bitlength above that specified.
For example, a bit length of 13 through 16 will use the CCITT16 polynomial masking off bits necessary to maintain the specified bitlength.
</summary>
<param name="data">Data to generate a CRC for</param>
<param name="crcBitLength">Length, in bits, of the polynomial to use</param>
<returns>The CRC</returns>
</member>
<member name="M:OpenNETCF.CRC.GenerateChecksum(System.Byte[],System.Int32,System.Int32,OpenNETCF.CRCPolynomial,System.UInt64)">
<summary>
Generates a CRC using a common polynomial for the next closest bitlength above that specified.
For example, a bit length of 13 through 16 will use the CCITT16 polynomial masking off bits necessary to maintain the specified bitlength.
</summary>
<param name="data">Data to generate a CRC for</param>
<param name="offset">The offset into the source data at which to start the CRC</param>
<param name="length">The number of bytes in the source data to analyze</param>
<param name="polynomial">Standard polynomial to use for the CRC</param>
<param name="seedCRC">CRC seed value</param>
<returns>The CRC</returns>
<returns></returns>
</member>
<member name="M:OpenNETCF.CRC.GenerateChecksum(System.Byte[],System.Int32,System.Int32,System.Int32,System.UInt64,System.UInt64)">
<summary>
Generates a CRC using a common polynomial for the next closest bitlength above that specified.
For example, a bit length of 13 through 16 will use the CCITT16 polynomial masking off bits necessary to maintain the specified bitlength.
</summary>
<param name="data">Data to generate a CRC for</param>
<param name="offset">The offset into the source data at which to start the CRC</param>
<param name="length">The number of bytes in the source data to analyze</param>
<param name="crcBitLength">Length, in bits, of the polynomial to use</param>
<param name="polynomial">Custom polynomial to use for the CRC</param>
<param name="seedCRC">CRC seed value</param>
<returns>The CRC</returns>
<returns></returns>
</member>
<member name="M:OpenNETCF.CRC.GenerateChecksum(System.IO.Stream,System.Int32,System.UInt64)">
<summary>
Generates a CRC for the data in an open data stream
</summary>
<param name="stream">Stream to use as a source for the data</param>
<param name="crcBitLength"></param>
<param name="polynomial">Custom Polynomial or <c>CRCPolynomial</c> to use in the CRC</param>
<returns>The data's CRC</returns>
</member>
<member name="T:OpenNETCF.Diagnostics.DebugMessage">
<summary>
Use the static methods of this class to output data to a device's debug port. Messages will be sent only in Debug builds, allowing developers to easily compile out messaging.
</summary>
<remarks>
This is the equivalent of the unmanaged DEBUGMSG macro and applies only to generic CE devices.
Most commercial Pocket PC and SmartPhone devices do not expose a debug port.
</remarks>
</member>
<member name="M:OpenNETCF.Diagnostics.DebugMessage.Write(System.Boolean,System.String)">
<summary>
If <i>condition</i> evaluates to <b>true</b> and the current assembly is a Debug build, <i>message</i> will be output on the device's debug port.
</summary>
<param name="condition">When <b>true</b> output will be sent to the debug port</param>
<param name="message">Text to output</param>
</member>
<member name="M:OpenNETCF.Diagnostics.DebugMessage.Write(System.Boolean,System.Object)">
<summary>
If <i>condition</i> evaluates to <b>true</b> and the current assembly is a Debug build, the result from <i>obj.ToString</i> will be output on the device's debug port.
</summary>
<param name="condition">When <b>true</b> output will be sent to the debug port</param>
<param name="obj">Object to call ToString() on</param>
</member>
<member name="M:OpenNETCF.Diagnostics.DebugMessage.WriteLine(System.Boolean,System.String)">
<summary>
If <i>condition</i> evaluates to <b>true</b> and the current assembly is a Debug build, <i>message</i> will be output on the device's debug port followed by a carriage return and new line.
Lines output with <i>WriteLine</i> are also affected by calls to <c>Indent</c> or <c>Unindent</c>.
</summary>
<param name="condition">When <b>true</b> output will be sent to the debug port</param>
<param name="message">Text to output</param>
</member>
<member name="M:OpenNETCF.Diagnostics.DebugMessage.Indent">
<summary>
Increases the indent level used by <c>WriteLine</c> by two spaces
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.DebugMessage.Unindent">
<summary>
Decreases the indent level used by <c>WriteLine</c> by two spaces
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.DiagnosticsConfigurationHandler">
<summary>
Summary description for DiagnosticsConfigurationHandler.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.DiagnosticsConfigurationHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
<summary>
</summary>
<param name="parent"></param>
<param name="configContext"></param>
<param name="section"></param>
<returns></returns>
</member>
<member name="T:OpenNETCF.Diagnostics.EntryWrittenEventArgs">
<summary>
Event arguments for the last entry written to the log EntryWrittenEventArgs.
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.EntryWrittenEventArgs.eventLogEntry">
<summary>
The entry that was just written to the log
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EntryWrittenEventArgs.#ctor(OpenNETCF.Diagnostics.EventLogEntry)">
<summary>
Default constructor
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EntryWrittenEventArgs.EventLogEntry">
<summary>
The event log entry that was written to the log
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.EntryWrittenEventHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:OpenNETCF.Diagnostics.EventLog">
<summary>
Class is similar to the System.Diagnostics.EventLog in the full framework with a few differences.
1. Since CE.Net and PPC have no event log we write the log to the application root directory as an XML file
2. Every Application will have it's own log. There will not be one log system/device wide
3. Attempted to keep as close as possible to the full framework class but some things are missing
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.#ctor(System.String,System.String,OpenNETCF.Diagnostics.IEventLogWriter)">
<summary>
Overloaded constructor were a custom IEventLogWriter can be specified
</summary>
<param name="log">Indicates the log item</param>
<param name="source">Indicates what logged the event</param>
<param name="customEventLogWriter">Custom event log writter which implements IEventLogWriter</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.#ctor(System.String,System.String,OpenNETCF.Diagnostics.EventLogWriterType)">
<summary>
Default constructor.
</summary>
<param name="log">Indicates the log item</param>
<param name="source">Indicates what logged the event</param>
<param name="type"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.#ctor(System.String,System.String,System.String,System.String,OpenNETCF.Diagnostics.EventLogWriterType)">
<summary>
Overloaded constructor
</summary>
<param name="log">Indicates the log item</param>
<param name="source">Indicates what logged the event</param>
<param name="path"></param>
<param name="fileName"></param>
<param name="type"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.Delete(System.String)">
<summary>
Removes an event log from the local file.
</summary>
<param name="logName">The name of the log to delete.</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.GetEventLogs">
<summary>
Searches for all event logs on the local file and creates an array of EventLog objects that contain the list.
</summary>
<returns>An array of type EventLog that represents the logs on the local computer.</returns>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.Exists(System.String)">
<summary>
Determines whether the log exists on the local file.
</summary>
<param name="logName">The name of the log to search for.</param>
<remarks>The full framework defines this method as static. Since this is not a system wide log but an application specific log this method will only search for a Log Item with the current XML file.</remarks>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.Clear">
<summary>
Removes all entries from the event log.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.Close">
<summary>
Closes the event log and releases read and write handles.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String)">
<summary>
Writes an information type entry, with the given message text, to the event log.
</summary>
<param name="message">The string to write to the event log.</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType)">
<summary>
Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log.
</summary>
<param name="message">The string to write to the event log.</param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values.</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,System.String)">
<summary>
Writes an information type entry with the given message text to the event log, using the specified event source.
</summary>
<param name="source">The source by which the application is registered. </param>
<param name="message">The string to write to the event log.</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32)">
<summary>
Writes an entry with the given message text and application-defined event identifier to the event log.
</summary>
<param name="message">The string to write to the event log. </param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values. </param>
<param name="eventID">The application-specific identifier for the event. </param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType)">
<summary>
Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log, using the specified event source.
</summary>
<param name="source">The source by which the application is registered.</param>
<param name="message">The string to write to the event log.</param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values.</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16)">
<summary>
Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log.
</summary>
<param name="message">The string to write to the event log.</param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values.</param>
<param name="eventID">The application-specific identifier for the event.</param>
<param name="category">The application-specific subcategory associated with the message.</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32)">
<summary>
Writes an entry with the given message text and application-defined event identifier to the event log, using the specified registered event source.
</summary>
<param name="source">The source by which the application is registered on the specified computer. </param>
<param name="message">the string to write to the event log.</param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values.</param>
<param name="eventID">The application-specific identifier for the event.</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16,System.Byte[])">
<summary>
Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, and appends binary data to the message.
</summary>
<param name="message">the string to write to the event log.</param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values.</param>
<param name="eventID">The application-specific identifier for the event.</param>
<param name="category">The application-specific subcategory associated with the message. </param>
<param name="rawData">An array of bytes that holds the binary data associated with the entry. </param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16)">
<summary>
Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, using the specified registered event source. The category can be used to filter events in the log.
</summary>
<param name="source">The source by which the application is registered on the specified computer. </param>
<param name="message">the string to write to the event log.</param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values.</param>
<param name="eventID">The application-specific identifier for the event.</param>
<param name="category">The application-specific subcategory associated with the message. </param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16,System.Byte[])">
<summary>
Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log (using the specified registered event source) and appends binary data to the message.
</summary>
<param name="source">The source by which the application is registered on the specified computer. </param>
<param name="message">the string to write to the event log.</param>
<param name="type">One of the <see cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</see> values.</param>
<param name="eventID">The application-specific identifier for the event.</param>
<param name="category">The application-specific subcategory associated with the message. </param>
<param name="rawData">An array of bytes that holds the binary data associated with the entry. </param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.CheckForValidLog">
<summary>
Checks to see if the source is set
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.CreateEventLogWriter(System.String,System.String,System.String,System.String)">
<summary>
Creates the event log Writer object
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.OnEntryWritten(OpenNETCF.Diagnostics.EventLogEntry)">
<summary>
Notifies any listeners that an entry was written to the log
</summary>
<param name="e">the entry item that was written to the log</param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.OnLogCleared">
<summary>
Notifies any listeners that the log was cleared
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.OnLogDisplayNameChanged">
<summary>
Notifies any listeners that log display name was changed
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.OnLogClosed">
<summary>
Notifies any listeners that log was closed
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.OnLogChanged">
<summary>
Notifies any listeners that log was changed
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.OnSourceChanged">
<summary>
Notifies any listeners that source was changed
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.OnEventLogAdded">
<summary>
Notifies any listeners that a log was added to the event log
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.eventLogWriter_EntryWritten(System.Object,OpenNETCF.Diagnostics.EventLogEntry)">
<summary>
Handler for the entry written event in the eventLogWriter
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLog.eventLogWriter_EventLogCollectionUpdated(System.Object,System.EventArgs)">
<summary>
event listeners when the eventlog collection is updated
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="E:OpenNETCF.Diagnostics.EventLog.LogChanged">
<summary>
Public event to notify listeners that the log has changed
</summary>
</member>
<member name="E:OpenNETCF.Diagnostics.EventLog.LogDisplayNameChanged">
<summary>
Public event to notify listeners that the log display name has changed
</summary>
</member>
<member name="E:OpenNETCF.Diagnostics.EventLog.LogClosed">
<summary>
Public event to notify listeners that the log has been closed
</summary>
</member>
<member name="E:OpenNETCF.Diagnostics.EventLog.LogCleared">
<summary>
Public event to notify listeners that the log has been cleared
</summary>
</member>
<member name="E:OpenNETCF.Diagnostics.EventLog.SourceChanged">
<summary>
Public event to notify listeners that the source has changed
</summary>
</member>
<member name="E:OpenNETCF.Diagnostics.EventLog.EventLogAdded">
<summary>
Notifies listeners if there is a new log in the eventLog
</summary>
</member>
<member name="E:OpenNETCF.Diagnostics.EventLog.EntryWritten">
<summary>
Occurs when an entry is written to an event log on the local computer
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.EnableRaisingEvents">
<summary>
Gets or sets a value indicating whether the EventLog receives EntryWritten event notifications.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.Entries">
<summary>
Gets the contents of the event log.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.Log">
<summary>
Gets or sets the name of the log to read from or write to.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.LogDisplayName">
<summary>
Gets the event log's friendly name.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.Source">
<summary>
Gets or sets the source name to register and use when writing to the event log.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.LogFileName">
<summary>
Gets the file name the log is stored under. Defaults to the calling assembly name with ".Log" appended
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.LogPath">
<summary>
Gets the path of where the log file is stored
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLog.EventLogWriterType">
<summary>
Gets the eventLogWriterType
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.EventLogEntry">
<summary>
Summary description for EventLogEntry.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.ID">
<summary>
Gets the ID value that uniquely identifies the item in the log
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.Category">
<summary>
Gets the text associated with the <see cref="P:OpenNETCF.Diagnostics.EventLogEntry.CategoryNumber">CategoryNumber</see> for this entry.
</summary>
<value>The application-specific category text.</value>
<remarks>
Each application (event source) can define its own numbered categories and the text strings to which they are mapped. The text strings associated with the category are stored in the XML Log.
</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.CategoryNumber">
<summary>
Gets the entry's category number.
</summary>
<value>The application-specific category number for this entry .</value>
<remarks>Each application (event source) can define its own numbered categories and the text strings to which they are mapped.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.Data">
<summary>
Gets the binary data associated with the entry.
</summary>
<value>An array of bytes that holds the binary data associated with the entry.</value>
<remarks>Getting this property creates an array that holds a copy of the entry's event-specific binary data. Event-specific data is sometimes used to store information that the application will process independently of the Event Viewer, for example, to make reports from the log file.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.EntryType">
<summary>
Gets the event type of this entry.
</summary>
<value>The <seealso cref="T:OpenNETCF.Diagnostics.EventLogEntryType">EventLogEntryType</seealso> that indicates the event type associated with the entry in the event log. This is usually used to indicate the severity of the event log entry.</value>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.EventID">
<summary>
Gets the application-specific event identifier of this event entry.
</summary>
<value>The application-specific identifier for the event.</value>
<remarks>Event identifiers, together with the event source, uniquely identify an event.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.Index">
<summary>
Gets the index of this entry in the event log.
</summary>
<value>The index of this entry in the event log.</value>
<remarks>This number is not necessarily zero based.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.MachineName">
<summary>
Gets the name of the computer on which this entry was generated.
</summary>
<value>The name of the computer that contains the event log.</value>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.Message">
<summary>
Gets the localized message associated with this event entry.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.Source">
<summary>
Gets the name of the application that generated this event.
</summary>
<remarks>The event source indicates what logged the event. It is often the name of the application, or the name of a subcomponent of the application if the application is large. Applications and services usually write to (and therefore are sources for) the Application log or a custom log. Device drivers usually write to the System log.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.TimeGenerated">
<summary>
Gets the local time at which this event was generated.
</summary>
<value>A <see cref="T:System.DateTime">DateTime</see> that represents the local time at which this event was generated.</value>
<remarks>This member holds the time that an event was generated. This might not be the same as the time when the event information was written to the event log. For the latter, read the <see cref="P:OpenNETCF.Diagnostics.EventLogEntry.TimeWritten">TimeWritten</see> property.There’s almost always going to be a lag between the time something happens and the time it is logged, if only milliseconds. Usually, it is more important to know when the event was generated, unless you want to see if there is a significant lag in logging. That can happen if your log files are on a different server and you are experiencing a bottleneck.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.TimeWritten">
<summary>
Gets the local time at which this event was written to the log.
</summary>
<value>A <see cref="T:System.DateTime">DateTime</see> that represents the local time at which this event was written to the log.</value>
<remarks>This member holds the time that an event's information is written to the event log. This might not be the same time as when the event was generated. For the latter, read the <see cref="P:OpenNETCF.Diagnostics.EventLogEntry.TimeGenerated">TimeGenerated</see> property.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntry.UserName">
<summary>
Gets the name of the user who's responsible for this event.
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.EventLogEntryCollection">
<summary>
Summary description for EventLogEntryCollection.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLogEntryCollection.Clear">
<summary>
Overloaded method. To clear the event log use EventLog.Clear();
</summary>
<exception cref="T:System.NotSupportedException"/>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLogEntryCollection.RemoveAt(System.Int32)">
<summary>
Overloaded method.
</summary>
<param name="index"></param>
<exception cref="T:System.NotSupportedException"/>
</member>
<member name="M:OpenNETCF.Diagnostics.EventLogEntryCollection.Add(OpenNETCF.Diagnostics.EventLogEntry)">
<summary>
Add an eventlog entry to the collection
</summary>
<param name="eventLogEntry"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntryCollection.Item(System.Int32)">
<summary>
Gets the EventLogEntry by index
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.EventLogEntryCollection.Item(System.String)">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.EventLogEntryType">
<summary>
Specifies the event type of an event log entry.
</summary>
<remarks>
The type of an event log entry is used to indicate the severity of an event log entry.
Each event must be of a single type, which the application indicates when it reports the event.
</remarks>
</member>
<member name="F:OpenNETCF.Diagnostics.EventLogEntryType.Error">
<summary>
An error event. This indicates a significant problem the user should know about; usually a loss of functionality or data.
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.EventLogEntryType.FailureAudit">
<summary>
A failure audit event. This indicates a security event that occurs when an audited access attempt fails; for example, a failed attempt to open a file.
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.EventLogEntryType.Information">
<summary>
An information event. This indicates a significant, successful operation.
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.EventLogEntryType.SuccessAudit">
<summary>
A success audit event. This indicates a security event that occurs when an audited access attempt is successful; for example, logging on successfully.
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.EventLogEntryType.Warning">
<summary>
A warning event. This indicates a problem that is not immediately significant, but that may signify conditions that could cause future problems.
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.EventLogWriterType">
<summary>
Defines the type of Event log writers available
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.EventLogWriterType.XML">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.EventLogWriterType.Custom">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.IEventLogWriter">
<summary>
Defines the interface that will be used by EventLog to write to a log
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.Delete(System.String)">
<summary>
</summary>
<param name="logName"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.Clear">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.Close">
<summary>
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.GetEventLogs">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.Exists(System.String)">
<summary>
</summary>
<param name="logName"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String)">
<summary>
</summary>
<param name="message"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType)">
<summary>
</summary>
<param name="message"></param>
<param name="type"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,System.String)">
<summary>
</summary>
<param name="source"></param>
<param name="message"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32)">
<summary>
</summary>
<param name="message"></param>
<param name="type"></param>
<param name="eventID"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType)">
<summary>
</summary>
<param name="source"></param>
<param name="message"></param>
<param name="type"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16)">
<summary>
</summary>
<param name="message"></param>
<param name="type"></param>
<param name="eventID"></param>
<param name="category"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32)">
<summary>
</summary>
<param name="source"></param>
<param name="message"></param>
<param name="type"></param>
<param name="eventID"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16,System.Byte[])">
<summary>
</summary>
<param name="message"></param>
<param name="type"></param>
<param name="eventID"></param>
<param name="category"></param>
<param name="rawData"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16)">
<summary>
</summary>
<param name="source"></param>
<param name="message"></param>
<param name="type"></param>
<param name="eventID"></param>
<param name="category"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.IEventLogWriter.WriteEntry(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16,System.Byte[])">
<summary>
</summary>
<param name="source"></param>
<param name="message"></param>
<param name="type"></param>
<param name="eventID"></param>
<param name="category"></param>
<param name="rawData"></param>
</member>
<member name="E:OpenNETCF.Diagnostics.IEventLogWriter.EntryWritten">
<summary>
</summary>
</member>
<member name="E:OpenNETCF.Diagnostics.IEventLogWriter.EventLogCollectionUpdated">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.IEventLogWriter.Source">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.IEventLogWriter.Log">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.IEventLogWriter.LogDisplayName">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.IEventLogWriter.LogFileName">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.IEventLogWriter.LogPath">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.IEventLogWriter.Entries">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.XMLEventLogWriter">
<summary>
Implements writing to the event log using XML
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.XMLEventLogWriter.xmlLog">
<summary>
The Xml document representing the log
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.XMLEventLogWriter.nodeEventLog">
<summary>
The current eventlog node which contains all Log nodes
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.XMLEventLogWriter.nodeLog">
<summary>
The current log node that is being written to
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.XMLEventLogWriter.EVENTLOG_ROOT">
<summary>
The default Xml for a new log
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.InitializeLogFile">
<summary>
Creates the XML document to store the event logs
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.LoadEventLogCollection">
<summary>
Loads the eventlog collection
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.CreateLogFile">
<summary>
Creates a log file on the system
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.LoadNodes">
<summary>
Loads the source, log and EventLog nodes
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.LoadEventLogEntryCollection">
<summary>
Loads the eventlog entry collection
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.CreateLogNode(System.String)">
<summary>
Create the log node and adds it to the nodeEventLog
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.EventLogNode(System.String)">
<summary>
Retrieves and event log node by logName
</summary>
<param name="logName">The name of the log node</param>
<returns>The XmlNode containing the log items or null if not found</returns>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.NodeAttributeValue(System.Xml.XmlNode,System.String,System.String)">
<summary>
Changes an attribute in the specified node
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.NodeAttributeValue(System.Xml.XmlNode,System.String)">
<summary>
Retreives the attribute in the specified node
</summary>
<param name="node"></param>
<param name="attributeName"></param>
<returns>The value of the attribute or null if not found</returns>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.SaveLogFile">
<summary>
Saves the logfile
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.WriteEntryToLog(System.String,System.String,OpenNETCF.Diagnostics.EventLogEntryType,System.Int32,System.Int16,System.Byte[])">
<summary>
Writes an entry to the log file
</summary>
<param name="source"></param>
<param name="message"></param>
<param name="type"></param>
<param name="eventID"></param>
<param name="category"></param>
<param name="rawData"></param>
</member>
<member name="M:OpenNETCF.Diagnostics.XMLEventLogWriter.OnEntryWritten(OpenNETCF.Diagnostics.EventLogEntry)">
<summary>
Raises the eventLogEntryWritten event to listeners
</summary>
<param name="e"></param>
</member>
<member name="T:OpenNETCF.Diagnostics.FileVersionInfo">
<summary>
Provides version information for a physical file in storage memory.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.FileVersionInfo.GetVersionInfo(System.String)">
<summary>
Returns a <see cref="T:OpenNETCF.Diagnostics.FileVersionInfo"/> representing the version information associated with the specified file.
</summary>
<param name="fileName">The fully qualified path and name of the file to retrieve the version information for.</param>
<returns>A <see cref="T:OpenNETCF.Diagnostics.FileVersionInfo"/> containing information about the file.
If the file information was not found, the <see cref="T:OpenNETCF.Diagnostics.FileVersionInfo"/> contains only the name of the file requested.</returns>
<exception cref="T:System.IO.FileNotFoundException">The file specified cannot be found.</exception>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.FileName">
<summary>
Gets the name of the file that this instance of <see cref="T:OpenNETCF.Diagnostics.FileVersionInfo"/> describes.
</summary>
<value>The name of the file described by this instance of <see cref="T:OpenNETCF.Diagnostics.FileVersionInfo"/>.</value>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMajorPart">
<summary>
Gets the major part of the version number.
</summary>
<value>A value representing the major part of the version number.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A file version number is a 64-bit number that holds the version number for a file as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FilePrivatePart"/> number.</item></list>
This property gets the first set of 16 bits.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMinorPart">
<summary>
Gets the minor part of the version number.
</summary>
<value>A value representing the minor part of the version number of the file.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A file version number is a 64-bit number that holds the version number for a file as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FilePrivatePart"/> number.</item></list>
This property gets the second set of 16 bits.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.FileBuildPart">
<summary>
Gets the build number of the file.
</summary>
<value>A value representing the build number of the file.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A file version number is a 64-bit number that holds the version number for a file as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FilePrivatePart"/> number.</item></list>
This property gets the third set of 16 bits.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.FilePrivatePart">
<summary>
Gets the file private part number.
</summary>
<value>A value representing the file private part number.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A file version number is a 64-bit number that holds the version number for a file as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FileBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.FilePrivatePart"/> number.</item></list>
This property gets the last set of 16 bits.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMajorPart">
<summary>
Gets the major part of the version number for the product this file is associated with.
</summary>
<value>A value representing the major part of the product version number.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A product version number is a 64-bit number that holds the version number for a product as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductPrivatePart"/> number.</item></list>
This property gets the first set of 16 bits.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMinorPart">
<summary>
Gets the minor part of the version number for the product the file is associated with.
</summary>
<value>A value representing the minor part of the product version number.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A product version number is a 64-bit number that holds the version number for a product as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductPrivatePart"/> number.</item></list>
This property gets the second set of 16 bits.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductBuildPart">
<summary>
Gets the build number of the product this file is associated with.
</summary>
<value>A value representing the build part of the product version number.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A product version number is a 64-bit number that holds the version number for a product as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductPrivatePart"/> number.</item></list>
This property gets the third set of 16 bits.</remarks>
</member>
<member name="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductPrivatePart">
<summary>
Gets the private part number of the product this file is associated with.
</summary>
<value>A value representing the private part of the product version number.</value>
<remarks>Typically, a version number is displayed as "major number.minor number.build number.private part number".
A product version number is a 64-bit number that holds the version number for a product as follows:
<list type="bullet"><item>The first 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMajorPart"/> number.</item>
<item>The next 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductMinorPart"/> number.</item>
<item>The third set of 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductBuildPart"/> number.</item>
<item>The last 16 bits are the <see cref="P:OpenNETCF.Diagnostics.FileVersionInfo.ProductPrivatePart"/> number.</item></list>
This property gets the last set of 16 bits.</remarks>
</member>
<member name="T:OpenNETCF.Diagnostics.Logging">
<summary>
This class enables you to turn on and off the creation of log files with diagnostic information about interoperability, loading the application, and networking
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.LoggingEnabled">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.InteropLoggingEnabled">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.LoaderLoggingEnabled">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.NetworkLoggingEnabled">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.LogFilePath">
<summary>
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.IncludeAppNameInLogFileName">
<summary>
If there are two applications writing log files to the same directory, the older log file will always get overwritten with the newer log file when the second application is run. This key can be used as a differentiator for the log files.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.IncludeProcessIDInLogFileName">
<summary>
This key is useful if you want to run the same application but have separate logs. This adds the process ID to the log file name, so that each run of the same application creates a new log file with a different name.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Logging.FlushLogFileAfterEachEvent">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.ProcessHelper">
<summary>
Provides helper methods for processes.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.ProcessHelper.GetCurrentProcessID">
<summary>
This function returns the process identifier of the calling process.
</summary>
<returns>The return value is the process identifier of the calling process.</returns>
</member>
<member name="M:OpenNETCF.Diagnostics.ProcessHelper.GetCurrentProcessHandle">
<summary>
Gets a new <see cref="T:System.Diagnostics.Process"/> component and associates it with the currently active process.
</summary>
<returns>A new <see cref="T:System.Diagnostics.Process"/> component associated with the process resource that is running the calling application.</returns>
<remarks>Use this method to create a new Process instance and associate it with the process resource on the local computer.</remarks>
</member>
<member name="M:OpenNETCF.Diagnostics.ProcessHelper.GetCurrentThreadID">
<summary>
This function returns the thread identifier, which is used as a handle of the calling thread.
</summary>
<returns>The thread identifier of the calling thread indicates success.</returns>
</member>
<member name="M:OpenNETCF.Diagnostics.ProcessHelper.GetCurrentThreadHandle">
<summary>
This function returns a pseudohandle for the current thread.
</summary>
<returns>The return value is a pseudohandle for the current thread.</returns>
<remarks>
<p>A pseudohandle is a special constant that is interpreted as the current thread handle. </p>
<p>The calling thread can use this handle to specify itself whenever a thread handle is required.This handle has the maximum possible access to the thread object.</p>
<p>The function cannot be used by one thread to create a handle that can be used by other threads to refer to the first thread. The handle is always interpreted as referring to the thread that is using it.</p>
<p>The pseudohandle need not be closed when it is no longer needed. Calling the CloseHandle function with this handle has no effect.</p>
</remarks>
</member>
<member name="T:OpenNETCF.Diagnostics.ReleaseMessage">
<summary>
Use the static methods of this class to output data to a device's debug port. Messages will be sent in Debug or Release builds
</summary>
<remarks>
This is the equivalent of the unmanaged RETAILMSG macro and applies only to generic CE devices.
Most commercial Pocket PC and SmartPhone devices do not expose a debug port.
</remarks>
</member>
<member name="M:OpenNETCF.Diagnostics.ReleaseMessage.Write(System.Boolean,System.String)">
<summary>
If <i>condition</i> evaluates to <b>true</b> then <i>message</i> will be output on the device's debug port.
</summary>
<param name="condition">When <b>true</b> output will be sent to the debug port</param>
<param name="message">Text to output</param>
</member>
<member name="M:OpenNETCF.Diagnostics.ReleaseMessage.Write(System.Boolean,System.Object)">
<summary>
If <i>condition</i> evaluates to <b>true</b> then, the result from <i>obj.ToString</i> will be output on the device's debug port.
</summary>
<param name="condition">When <b>true</b> output will be sent to the debug port</param>
<param name="obj">Object to call ToString() on</param>
</member>
<member name="M:OpenNETCF.Diagnostics.ReleaseMessage.WriteLine(System.Boolean,System.String)">
<summary>
If <i>condition</i> evaluates to <b>true</b> then <i>message</i> will be output on the device's debug port followed by a carriage return and new line.
Lines output with <i>WriteLine</i> are also affected by calls to <c>Indent</c> or <c>Unindent</c>.
</summary>
<param name="condition">When <b>true</b> output will be sent to the debug port</param>
<param name="message">Text to output</param>
</member>
<member name="M:OpenNETCF.Diagnostics.ReleaseMessage.Indent">
<summary>
Increases the indent level used by <c>WriteLine</c> by two spaces
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.ReleaseMessage.Unindent">
<summary>
Decreases the indent level used by <c>WriteLine</c> by two spaces
</summary>
</member>
<member name="T:OpenNETCF.Diagnostics.Stopwatch">
<summary>
Provides a set of methods and properties that you can use to accurately measure elapsed time.
</summary>
</member>
<member name="F:OpenNETCF.Diagnostics.Stopwatch.IsHighResolution">
<summary>
Indicates whether the timer is based on a high-resolution performance counter. This field is read-only.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.Stopwatch.GetTimestamp">
<summary>
Gets the current number of ticks in the timer mechanism.
</summary>
<returns>A long integer representing the tick counter value of the underlying timer mechanism.</returns>
</member>
<member name="M:OpenNETCF.Diagnostics.Stopwatch.StartNew">
<summary>
Initializes a new Stopwatch instance, sets the elapsed time property to zero, and starts measuring elapsed time.
</summary>
<returns>A Stopwatch that has just begun measuring elapsed time.</returns>
</member>
<member name="F:OpenNETCF.Diagnostics.Stopwatch.Frequency">
<summary>
Gets the frequency of the timer as the number of ticks per second. This field is read-only.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.Stopwatch.#ctor">
<summary>
Initializes a new instance of the Stopwatch class.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.Stopwatch.Reset">
<summary>
Stops time interval measurement and resets the elapsed time to zero.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.Stopwatch.Start">
<summary>
Starts, or resumes, measuring elapsed time for an interval.
</summary>
</member>
<member name="M:OpenNETCF.Diagnostics.Stopwatch.Stop">
<summary>
Stops measuring elapsed time for an interval.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Stopwatch.IsRunning">
<summary>
Gets a value indicating whether the Stopwatch timer is running.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Stopwatch.Elapsed">
<summary>
Gets the total elapsed time measured by the current instance.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Stopwatch.ElapsedMilliseconds">
<summary>
Gets the total elapsed time measured by the current instance, in milliseconds.
</summary>
</member>
<member name="P:OpenNETCF.Diagnostics.Stopwatch.ElapsedTicks">
<summary>
Gets the total elapsed time measured by the current instance, in timer ticks.
</summary>
</member>
<member name="T:OpenNETCF.Enum2">
<summary>
Provides helper functions for Enumerations.
</summary>
<remarks>Extends the <see cref="T:System.Enum">System.Enum Class</see>.</remarks>
<seealso cref="T:System.Enum">System.Enum Class</seealso>
</member>
<member name="M:OpenNETCF.Enum2.GetName(System.Type,System.Object)">
<summary>
Retrieves the name of the constant in the specified enumeration that has the specified value.
</summary>
<param name="enumType">An enumeration type.</param>
<param name="value">The value of a particular enumerated constant in terms of its underlying type.</param>
<returns> A string containing the name of the enumerated constant in enumType whose value is value, or null if no such constant is found.</returns>
<exception cref="T:System.ArgumentException"> enumType is not an System.Enum. -or- value is neither of type enumType nor does it have the same underlying type as enumType.</exception>
<example>The following code sample illustrates the use of GetName (Based on the example provided with desktop .NET Framework):
<code>[Visual Basic]
Imports System
Public Class GetNameTest
Enum Colors
Red
Green
Blue
Yellow
End Enum 'Colors
Enum Styles
Plaid
Striped
Tartan
Corduroy
End Enum 'Styles
Public Shared Sub Main()
MessageBox.Show("The 4th value of the Colors Enum is " + [OpenNETCF.Enum].GetName(GetType(Colors), 3))
MessageBox.Show("The 4th value of the Styles Enum is " + [OpenNETCF.Enum].GetName(GetType(Styles), 3))
End Sub 'Main
End Class 'GetNameTest</code>
<code>[C#]
using System;
public class GetNameTest
{
enum Colors { Red, Green, Blue, Yellow };
enum Styles { Plaid, Striped, Tartan, Corduroy };
public static void Main()
{
MessageBox.Show("The 4th value of the Colors Enum is " + OpenNETCF.Enum.GetName(typeof(Colors), 3));
MessageBox.Show("The 4th value of the Styles Enum is " + OpenNETCF.Enum.GetName(typeof(Styles), 3));
}
}</code>
</example>
<seealso cref="M:System.Enum.GetName(System.Type,System.Object)">System.Enum.GetName Method</seealso>
</member>
<member name="M:OpenNETCF.Enum2.GetNames(System.Type)">
<summary>
Retrieves an array of the names of the constants in a specified enumeration.
</summary>
<param name="enumType">An enumeration type.</param>
<returns>A string array of the names of the constants in enumType. The elements of the array are sorted by the values of the enumerated constants.</returns>
<exception cref="T:System.ArgumentException">enumType parameter is not an System.Enum</exception>
<example>The follow example shows how to enumerate the members of the System.DayOfWeek enumeration by adding them to a ComboBox:-
<code>[Visual Basic]
Dim thisDOW As New DayOfWeek
For Each thisDOW In OpenNETCF.Enum.GetValues(Type.GetType("System.DayOfWeek"))
ComboBox1.Items.Add(thisDOW)
Next</code>
<code>[C#]
foreach(DayOfWeek thisdow in OpenNETCF.Enum.GetValues(typeof(DayOfWeek)))
{
comboBox1.Items.Add(thisdow);
}</code></example>
<seealso cref="M:System.Enum.GetNames(System.Type)">System.Enum.GetNames Method</seealso>
</member>
<member name="M:OpenNETCF.Enum2.GetUnderlyingType(System.Type)">
<summary>
Returns the underlying type of the specified enumeration.&gt;
</summary>
<param name="enumType">An enumeration type.</param>
<returns>The underlying <see cref="T:System.Type"/> of <paramref>enumType</paramref>.</returns>
<seealso cref="M:System.Enum.GetUnderlyingType(System.Type)">System.Enum.GetUnderlyingType Method</seealso>
</member>
<member name="M:OpenNETCF.Enum2.GetValues(System.Type)">
<summary>
Retrieves an array of the values of the constants in a specified enumeration.
</summary>
<param name="enumType">An enumeration type.</param>
<returns>An System.Array of the values of the constants in enumType. The elements of the array are sorted by the values of the enumeration constants.</returns>
<exception cref="T:System.ArgumentException">enumType parameter is not an System.Enum</exception>
<seealso cref="M:System.Enum.GetValues(System.Type)">System.Enum.GetValues Method</seealso>
</member>
<member name="M:OpenNETCF.Enum2.IsDefined(System.Type,System.Object)">
<summary>
Returns an indication whether a constant with a specified value exists in a specified enumeration.
</summary>
<param name="enumType">An enumeration type.</param>
<param name="value">The value or name of a constant in enumType.</param>
<returns><b>true</b> if a constant in <paramref>enumType</paramref> has a value equal to value; otherwise, <b>false</b>.</returns>
<seealso cref="M:System.Enum.IsDefined(System.Type,System.Object)">System.Enum.IsDefined Method</seealso>
</member>
<member name="M:OpenNETCF.Enum2.Parse(System.Type,System.String)">
<summary>
Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object.
</summary>
<param name="enumType">The <see cref="T:System.Type"/> of the enumeration.</param>
<param name="value">A string containing the name or value to convert.</param>
<returns>An object of type enumType whose value is represented by value.</returns>
</member>
<member name="M:OpenNETCF.Enum2.Parse(System.Type,System.String,System.Boolean)">
<summary>
Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object.
A parameter specifies whether the operation is case-sensitive.
</summary>
<param name="enumType">The <see cref="T:System.Type"/> of the enumeration.</param>
<param name="value">A string containing the name or value to convert.</param>
<param name="ignoreCase">If true, ignore case; otherwise, regard case.</param>
<returns>An object of type enumType whose value is represented by value.</returns>
<exception cref="T:System.ArgumentException">enumType is not an <see cref="T:System.Enum"/>.
-or- value is either an empty string ("") or only contains white space.
-or- value is a name, but not one of the named constants defined for the enumeration.</exception>
<seealso cref="M:System.Enum.Parse(System.Type,System.String,System.Boolean)">System.Enum.Parse Method</seealso>
</member>
<member name="M:OpenNETCF.Enum2.ToObject(System.Type,System.Object)">
<summary>
Returns an instance of the specified enumeration set to the specified value.
</summary>
<param name="enumType">An enumeration.</param>
<param name="value">The value.</param>
<returns>An enumeration object whose value is <paramref>value</paramref>.</returns>
<seealso cref="M:System.Enum.ToObject(System.Type,System.Object)">System.Enum.ToObject Method</seealso>
</member>
<member name="M:OpenNETCF.Enum2.Format(System.Type,System.Object,System.String)">
<summary>
Converts the specified value of a specified enumerated type to its equivalent string representation according to the specified format.
</summary>
<remarks>
The valid format values are:
"G" or "g" - If value is equal to a named enumerated constant, the name of that constant is returned; otherwise, the decimal equivalent of value is returned.
For example, suppose the only enumerated constant is named, Red, and its value is 1. If value is specified as 1, then this format returns "Red". However, if value is specified as 2, this format returns "2".
"X" or "x" - Represents value in hexadecimal without a leading "0x".
"D" or "d" - Represents value in decimal form.
"F" or "f" - Behaves identically to "G" or "g", except the FlagsAttribute is not required to be present on the Enum declaration.
"V" or "v" - If value is equal to a named enumerated constant, the value of that constant is returned; otherwise, the decimal equivalent of value is returned.
</remarks>
<param name="enumType">The enumeration type of the value to convert.</param>
<param name="value">The value to convert.</param>
<param name="format">The output format to use.</param>
<returns>A string representation of value.</returns>
</member>
<member name="T:OpenNETCF.Environment2">
<summary>
Extends the functionality of <see cref="T:System.Environment"/>
</summary>
<seealso cref="T:System.Environment">System.Environment Class</seealso>
</member>
<member name="M:OpenNETCF.Environment2.GetFolderPath(OpenNETCF.Environment2.SpecialFolder)">
<summary>
Gets the path to the system special folder identified by the specified enumeration.
</summary>
<param name="folder">An enumerated constant that identifies a system special folder.</param>
<returns>The path to the specified system special folder, if that folder physically exists on your computer; otherwise, the empty string ("").
A folder will not physically exist if the operating system did not create it, the existing folder was deleted, or the folder is a virtual directory, such as My Computer, which does not correspond to a physical path.</returns>
<seealso cref="M:System.Environment.GetFolderPath(System.Environment.SpecialFolder)">System.Environment.GetFolderPath Method</seealso>
</member>
<member name="M:OpenNETCF.Environment2.GetLogicalDrives">
<summary>
Returns an array of string containing the names of the logical drives on the current computer.
</summary>
<returns>An array of string where each element contains the name of a logical drive.</returns>
</member>
<member name="P:OpenNETCF.Environment2.NewLine">
<summary>
Gets the newline string defined for this environment.
</summary>
<value>A string containing "\r\n".</value>
<remarks>The property value is a constant customized specifically for the current platform.
This value is automatically appended to text when using WriteLine methods, such as <see cref="M:T:System.Console.WriteLine(System.String)">Console.WriteLine</see>.</remarks>
<seealso cref="P:System.Environment.NewLine">System.Environment.NewLine Property</seealso>
</member>
<member name="P:OpenNETCF.Environment2.SystemDirectory">
<summary>
Gets the fully qualified path of the system directory.
</summary>
<value>A string containing a directory path.</value>
<remarks>An example of the value returned is the string "\Windows".</remarks>
<seealso cref="P:System.Environment.SystemDirectory">System.Environment.SystemDirectory Property</seealso>
</member>
<member name="P:OpenNETCF.Environment2.MachineName">
<summary>
Gets the name of this local device.
</summary>
</member>
<member name="P:OpenNETCF.Environment2.UserName">
<summary>
Gets the user name of the person who started the current thread.
</summary>
<remarks>Supported only on Windows Mobile platforms.</remarks>
</member>
<member name="P:OpenNETCF.Environment2.SdfVersion">
<summary>
Gets a <see cref="T:System.Version"/> object that contains the version of the Smart Device Framework in use.
</summary>
</member>
<member name="P:OpenNETCF.Environment2.WorkingSet">
<summary>
Gets the amount of physical memory mapped to the process context.
</summary>
</member>
<member name="P:OpenNETCF.Environment2.OSVersion">
<summary>
Gets an <see cref="T:System.OperatingSystem"/> object that contains the current platform identifier and version number.
</summary>
</member>
<member name="P:OpenNETCF.Environment2.TickCount">
<summary>
Gets the number of milliseconds elapsed since the system started.
</summary>
</member>
<member name="P:OpenNETCF.Environment2.Version">
<summary>
Gets a <see cref="T:System.Version"/> object that describes the major, minor, build, and revision numbers of the common language runtime.
</summary>
</member>
<member name="T:OpenNETCF.Environment2.SpecialFolder">
<summary>
Specifies enumerated constants used to retrieve directory paths to system special folders.
</summary>
<remarks>Not all platforms support all of these constants.</remarks>
<seealso cref="T:System.Environment.SpecialFolder">System.Environment.SpecialFolder Enumeration</seealso>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.Programs">
<summary>
The directory that contains the user's program groups.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.Personal">
<summary>
The directory that serves as a common repository for documents.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.MyDocuments">
<summary>
The "My Documents" folder.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.Favorites">
<summary>
The directory that serves as a common repository for the user's favorite items.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.Startup">
<summary>
The directory that corresponds to the user's Startup program group.
The system starts these programs whenever a user starts Windows CE.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.Recent">
<summary>
The directory that contains the user's most recently used documents.
<para><b>Not supported in Windows Mobile.</b></para>
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.StartMenu">
<summary>
The directory that contains the Start menu items.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.MyMusic">
<summary>
The "My Music" folder.
<para><b>Supported only on Windows Mobile.</b></para>
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.DesktopDirectory">
<summary>
The directory used to physically store file objects on the desktop.
Do not confuse this directory with the desktop folder itself, which is a virtual folder.
<para><b>Not supported in Windows Mobile.</b></para>
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.Fonts">
<summary>
The Fonts folder.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.ApplicationData">
<summary>
The directory that serves as a common repository for application-specific data for the current user.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.Windows">
<summary>
The Windows folder.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.ProgramFiles">
<summary>
The program files directory.
</summary>
</member>
<member name="F:OpenNETCF.Environment2.SpecialFolder.MyPictures">
<summary>
The "My Pictures" folder.
<para><b>Supported only on Windows Mobile.</b></para>
</summary>
</member>
<member name="T:OpenNETCF.IO.FileHelper">
<summary>
Provides additional file related functionality.
</summary>
</member>
<member name="F:OpenNETCF.IO.FileHelper.MaxPath">
<summary>
Maximum length of Filepath string (in characters)
</summary>
</member>
<member name="F:OpenNETCF.IO.FileHelper.InvalidHandle">
<summary>
Represents an invalid native operating system handle.
</summary>
</member>
<member name="M:OpenNETCF.IO.FileHelper.ReadAllText(System.String)">
<summary>
Opens a text file, reads all text from the file, and then closes the file.
</summary>
<param name="path">The file to open for reading.</param>
<returns>A string containing all of the file.</returns>
</member>
<member name="M:OpenNETCF.IO.FileHelper.ReadAllText(System.String,System.Text.Encoding)">
<summary>
Opens a file, reads all text from the file with the specified encoding, and then closes the file.
</summary>
<param name="path">The file to open for reading.</param>
<param name="encoding">The encoding applied to the contents of the file.</param>
<returns>A string containing all of the file.</returns>
</member>
<member name="M:OpenNETCF.IO.FileHelper.ReadAllLines(System.String)">
<summary>
Opens a text file, reads all lines of the file, and then closes the file.
</summary>
<param name="path">The file to open for reading.</param>
<returns>A string array containing all of the file.</returns>
</member>
<member name="M:OpenNETCF.IO.FileHelper.ReadAllLines(System.String,System.Text.Encoding)">
<summary>
Opens a file, reads all lines of the file with the specified encoding, and then closes the file.
</summary>
<param name="path">The file to open for reading.</param>
<param name="encoding">The encoding applied to the contents of the file.</param>
<returns>A string array containing all of the file.</returns>
</member>
<member name="M:OpenNETCF.IO.FileHelper.WriteAllText(System.String,System.String)">
<summary>
Creates a new file, writes the specified string array to the file, and then closes the file.
If the target file already exists, it is overwritten.
</summary>
<param name="path">The file to write to.</param>
<param name="contents">The string to write to the file.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.WriteAllText(System.String,System.String,System.Text.Encoding)">
<summary>
Creates a new file, writes the specified string array to the file using the specified encoding, and then closes the file.
If the target file already exists, it is overwritten.
</summary>
<param name="path">The file to write to.</param>
<param name="contents">The string to write to the file.</param>
<param name="encoding">An <see cref="T:System.Text.Encoding"/> object that represents the encoding to apply to the string array.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.WriteAllLines(System.String,System.String[])">
<summary>
Creates a new file, write the specified string array to the file, and then closes the file.
If the target file already exists, it is overwritten.
</summary>
<param name="path">The file to write to.</param>
<param name="contents">The string array to write to the file.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.WriteAllLines(System.String,System.String[],System.Text.Encoding)">
<summary>
Creates a new file, writes the specified string array to the file using the specified encoding, and then closes the file.
If the target file already exists, it is overwritten.
</summary>
<param name="path">The file to write to.</param>
<param name="contents">The string array to write to the file.</param>
<param name="encoding">An <see cref="T:System.Text.Encoding"/> object that represents the character encoding applied to the string array.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.GetAttributes(System.String)">
<summary>
Gets the FileAttributes of the file on the path.
<seealso cref="T:System.IO.FileAttributes"/>
</summary>
<param name="path">The path to the file.</param>
<returns>The FileAttributes of the file on the path, or -1 if the path or file is not found.</returns>
<exception cref="T:System.ArgumentException">path is empty, contains only white spaces, or contains invalid characters.</exception>
<exception cref="T:System.IO.PathTooLongException">The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.</exception>
<exception cref="T:System.NotSupportedException">path is in an invalid format.</exception>
<exception cref="T:System.IO.DirectoryNotFoundException">The specified path is invalid, such as being on an unmapped drive.</exception>
</member>
<member name="M:OpenNETCF.IO.FileHelper.SetAttributes(System.String,System.IO.FileAttributes)">
<summary>
Sets the specified FileAttributes of the file on the specified path.
</summary>
<param name="path">The path to the file.</param>
<param name="fileAttributes"><seealso cref="T:System.IO.FileAttributes"/>The desired FileAttributes, such as Hidden, ReadOnly, Normal, and Archive.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.SetCreationTimeUtc(System.String,System.DateTime)">
<summary>
Sets the date and time, in coordinated universal time (UTC), that the file was created.</summary>
<param name="path">The file for which to set the creation date and time information.</param>
<param name="creationTimeUtc">A DateTime containing the value to set for the creation date and time of path. This value is expressed in UTC time.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.SetCreationTime(System.String,System.DateTime)">
<summary>
Sets the date and time, in local time, that the file was created.</summary>
<param name="path">The file for which to set the creation date and time information.</param>
<param name="creationTime">A DateTime containing the value to set for the creation date and time of path. This value is expressed in local time.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.SetLastAccessTimeUtc(System.String,System.DateTime)">
<summary>
Sets the date and time, in coordinated universal time (UTC), that the file was last accessed.</summary>
<param name="path">The file for which to set the creation date and time information.</param>
<param name="lastAccessTimeUtc">A DateTime containing the value to set for the last access date and time of path. This value is expressed in UTC time.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.SetLastAccessTime(System.String,System.DateTime)">
<summary>
Sets the date and time, in local time, that the file was last accessed.</summary>
<param name="path">The file for which to set the creation date and time information.</param>
<param name="lastAccessTime">A DateTime containing the value to set for the last access date and time of path. This value is expressed in local time.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.SetLastWriteTimeUtc(System.String,System.DateTime)">
<summary>
Sets the date and time, in coordinated universal time (UTC), that the file was last updated or written to.</summary>
<param name="path">The file for which to set the creation date and time information.</param>
<param name="lastWriteTimeUtc">A DateTime containing the value to set for the last write date and time of path. This value is expressed in UTC time.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.SetLastWriteTime(System.String,System.DateTime)">
<summary>
Sets the date and time, in local time, that the file was last updated or written to.</summary>
<param name="path">The file for which to set the creation date and time information.</param>
<param name="lastWriteTime">A DateTime containing the value to set for the last write date and time of path. This value is expressed in local time.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.CreateFile(System.String,System.IO.FileAccess,System.IO.FileShare,OpenNETCF.IO.FileCreateDisposition,System.Int32)">
<summary>
Wrapper around the CreateFile API
</summary>
<param name="fileName">Path to the file or CE port name</param>
<param name="desiredFileAccess">Specifies the type of access to the object. An application can obtain read access, write access, read-write (All) access.</param>
<param name="shareMode">Specifies how the object can be shared.</param>
<param name="creationDisposition">Specifies which action to take on files that exist, and which action to take when files do not exist.</param>
<param name="flagsAndAttributes">Specifies the file attributes and flags for the file.</param>
<returns>Handle to the created file</returns>
</member>
<member name="M:OpenNETCF.IO.FileHelper.WriteFile(System.IntPtr,System.Byte[],System.Int32,System.Int32@)">
<summary>
This function writes data to a file.
</summary>
<remarks> WriteFile starts writing data to the file at the position indicated by the file pointer. After the write operation has been completed, the file pointer is adjusted by the number of bytes actually written.</remarks>
<param name="hFile">Handle to the file to be written to. The file handle must have been created with GENERIC_WRITE access to the file.</param>
<param name="lpBuffer">Buffer containing the data to be written to the file.</param>
<param name="nNumberOfBytesToWrite">Number of bytes to write to the file.</param>
<param name="lpNumberOfBytesWritten">Number of bytes written by this function call. WriteFile sets this value to zero before doing any work or error checking.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.ReadFile(System.IntPtr,System.Byte[],System.Int32,System.Int32@)">
<summary>
This function reads data from a file, starting at the position indicated by the file pointer. After the read operation has been completed, the file pointer is adjusted by the number of bytes actually read.
</summary>
<param name="hFile">Handle to the file to be read. The file handle must have been created with GENERIC_READ access to the file. This parameter cannot be a socket handle.</param>
<param name="lpBuffer">Buffer that receives the data read from the file.</param>
<param name="nNumberOfBytesToRead">Number of bytes to be read from the file.</param>
<param name="lpNumberOfBytesRead">number of bytes read. ReadFile sets this value to zero before doing any work or error checking.</param>
</member>
<member name="M:OpenNETCF.IO.FileHelper.CloseHandle(System.IntPtr)">
<summary>
This function closes an open object handle
</summary>
<param name="hObject">Object Handle, Could be any of the following Objects:- Communications device, Mutex, Database, Process, Event, Socket, File or Thread</param>
</member>
<member name="T:OpenNETCF.IO.FileSystemWatcher">
<summary>
Listens to the file system change notifications and raises events when a directory, or file in a directory, changes.
</summary>
<remarks>
The FileSystemWatcher requires the system to have aygshell.dll. Also, this class is not thread-safe.
</remarks>
</member>
<member name="M:OpenNETCF.IO.FileSystemWatcher.#ctor">
<summary>
Initializes a new instance of the <b>FileSystemWatcher</b> class.
</summary>
</member>
<member name="M:OpenNETCF.IO.FileSystemWatcher.#ctor(System.String)">
<summary>
Initializes a new instance of the <b>FileSystemWatcher</b> class, given the specified directory to monitor.
</summary>
<param name="path">The directory to monitor, in standard or Universal Naming Convention (UNC) notation.</param>
</member>
<member name="M:OpenNETCF.IO.FileSystemWatcher.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <b>FileSystemWatcher</b> class, given the specified directory and type of files to monitor.
</summary>
<param name="path">The directory to monitor, in standard or Universal Naming Convention (UNC) notation.</param>
<param name="filter">The type of files to watch. For example, "*.txt" watches for changes to all text files.</param>
</member>
<member name="M:OpenNETCF.IO.FileSystemWatcher.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the <see cref="T:OpenNETCF.IO.FileSystemWatcher"/> and optionally releases the managed resources.
</summary>
<param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:OpenNETCF.IO.FileSystemWatcher.Created">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemWatcher.Path"/> is created.
</summary>
</member>
<member name="E:OpenNETCF.IO.FileSystemWatcher.Changed">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemWatcher.Path"/> is changed.
</summary>
</member>
<member name="E:OpenNETCF.IO.FileSystemWatcher.Deleted">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemWatcher.Path"/> is deleted.
</summary>
</member>
<member name="E:OpenNETCF.IO.FileSystemWatcher.Renamed">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemWatcher.Path"/> is renamed.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemWatcher.EnableRaisingEvents">
<summary>
Gets or sets a value indicating whether the component is enabled.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemWatcher.IncludeSubdirectories">
<summary>
Gets or sets a value indicating whether subdirectories within the specified path should be monitored.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemWatcher.NotifyFilter">
<summary>
Gets or sets the type of changes to watch for.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemWatcher.Path">
<summary>
Gets or sets the path of the directory to watch.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemWatcher.Filter">
<summary>
Gets or sets the filter string, used to determine what files are monitored in a directory.
</summary>
</member>
<member name="T:OpenNETCF.IO.PhysicalAddressPointer">
<summary>
This class is used to access memory mapped addresses
You can cause serious problems using this class without knowing what you're doing!
We reiterate the statement in our license that OpenNETCF provides absolutely no warranty on this code and you use it at your own risk
</summary>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.#ctor(System.UInt32,System.UInt32)">
<summary>
An accessor class to a physical memory address.
</summary>
<param name="physicalAddress">Physical Address to map</param>
<param name="size">Minimum size of the desired allocation</param>
<remarks>The physical address does not need to be aligned as the PhysicalAddressPointer will handle alignment
The size value will aligned to the next multiple of 4k internally, so the actual allocation may be larger than the requested value</remarks>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.#ctor(System.UInt32,System.Int32)">
<summary>
An accessor class to a physical memory address.
</summary>
<param name="physicalAddress">Physical Address to map</param>
<param name="size">Minimum size of the desired allocation</param>
<remarks>The physical address does not need to be aligned as the PhysicalAddressPointer will handle alignment
The size value will aligned to the next multiple of 4k internally, so the actual allocation may be larger than the requested value</remarks>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.WriteBytes(System.Byte[])">
<summary>
Write an array of bytes to the mapped physical address
</summary>
<param name="bytes">data to write</param>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.WriteInt32(System.Int32)">
<summary>
Write a 32-bit value to the mapped address
</summary>
<param name="data">data to write</param>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.WriteInt32(System.Int32,System.Int32)">
<summary>
Write a 32-bit value to the mapped address
</summary>
<param name="data">data to write</param>
<param name="offset">offset to start writing the data</param>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.WriteInt16(System.Int16)">
<summary>
Write a 16-bit value to the mapped address
</summary>
<param name="data">data to write</param>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.WriteByte(System.Byte)">
<summary>
Write an 8-bit value to the mapped address
</summary>
<param name="data">data to write</param>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.ReadBytes(System.Int32)">
<summary>
Read a series of bytes from the mapped address
</summary>
<param name="length">number of bytes to read</param>
<returns>read data</returns>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.ReadInt32">
<summary>
Read a 32-bit value from the mapped address
</summary>
<returns>read value</returns>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.ReadInt32(System.Int32)">
<summary>
Read a 32-bit value from the mapped address
</summary>
<returns>read value</returns>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.ReadInt16">
<summary>
Read a 16-bit value from the mapped address
</summary>
<returns>read value</returns>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.ReadByte">
<summary>
Read an 8-bit value from the mapped address
</summary>
<returns>read value</returns>
</member>
<member name="M:OpenNETCF.IO.PhysicalAddressPointer.op_Explicit(OpenNETCF.IO.PhysicalAddressPointer)~System.IntPtr">
<summary>
Gets an IntPtr for the base of the PhysicalAddressPointer
</summary>
<param name="pap">PhysicalAddressPointer to get the address of</param>
<returns>IntPtr of the base virtual address</returns>
</member>
<member name="T:OpenNETCF.IO.StreamInterfaceDriver">
<summary>
Use this abstract base class to create wrappers around Stream Interface
Drivers that are not supported by the CF
</summary>
</member>
<member name="F:OpenNETCF.IO.StreamInterfaceDriver.m_hPort">
<summary>
Internal native handle to the open port
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.#ctor(System.String)">
<summary>
Create an instance of the StreamInterfaceDriver class
</summary>
<param name="portName">Name of port (prefix and index) to open</param>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.#ctor">
<summary>
Create an instance of the StreamInterfaceDriver class
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Finalize">
<summary>
Destructor
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Open(System.IO.FileAccess,System.IO.FileShare)">
<summary>
Open the driver
</summary>
<param name="access">File Access (Read, Write or Both)</param>
<param name="share">Share Mode (Read, Write or both)</param>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Read(System.Int32)">
<summary>
Read data from the driver
</summary>
<param name="bytesToRead">The number of bytes requested.</param>
<returns>A byte array returned by the driver</returns>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Write(System.Byte[])">
<summary>
Write data to the driver
</summary>
<param name="data">Data to write</param>
<returns>Number of bytes actually written</returns>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Write(System.Byte[],System.Int32)">
<summary>
Write data to the driver
</summary>
<param name="data">Data to write</param>
<param name="bytesToWrite">Number of bytes from passed in buffer to write</param>
<returns>Number of bytes actually written</returns>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl(System.UInt32,System.Byte[],System.Byte[],System.Int32@)">
<summary>
Call a device specific IOControl
</summary>
<param name="controlCode">The IOCTL code</param>
<param name="inData">Data to pass into the IOCTL</param>
<param name="outData">Data returned by the IOCTL</param>
<param name="bytesReturned">Data returned by the call</param>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Seek(System.Int32,System.IO.SeekOrigin)">
<summary>
This function moves the file pointer of an open file
<seealso cref="M:System.IO.File.Move(System.String,System.String)"/>
</summary>
<param name="distance">Bytes to move - a positive number moves forward, a negative moves backward</param>
<param name="seekFrom">Starting position from where distance is measured</param>
<returns>New file position</returns>
<remarks>The current file position can be queried using seekFrom(0, MoveMethod.CurrentPosition)</remarks>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Close">
<summary>
Close the driver
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.Dispose">
<summary>
Dispose
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl(System.UInt32,System.Byte[])">
<summary>
Call a device specific IOControl
</summary>
<param name="controlCode">The IOCTL code</param>
<param name="inData">Data to pass into the IOCTL</param>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl(System.UInt32,System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.Int32@)">
<summary>
Call a device specific IOControl
</summary>
<param name="controlCode">The IOCTL code</param>
<param name="inData">Data to pass into the IOCTL</param>
<param name="inSize"></param>
<param name="bytesReturned"></param>
<param name="outData"></param>
<param name="outSize"></param>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl(System.UInt32,System.Void*,System.Int32,System.Void*,System.Int32,System.Int32@)">
<summary>
Call a device specific IOControl
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl``2(System.UInt32,``0,``1@,System.Int32@)">
<summary>
Call a device specific IOControl
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl``1(System.UInt32,``0)">
<summary>
Call a device specific IOControl
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl``1(System.UInt32,``0@,System.Int32@)">
<summary>
Call a device specific IOControl
</summary>
</member>
<member name="M:OpenNETCF.IO.StreamInterfaceDriver.DeviceIoControl(System.UInt32)">
<summary>
Call a device specific IOControl
</summary>
<param name="controlCode">The IOCTL code</param>
</member>
<member name="P:OpenNETCF.IO.StreamInterfaceDriver.PortName">
<summary>
Gets or Sets the Port Name
</summary>
</member>
<member name="P:OpenNETCF.IO.StreamInterfaceDriver.Handle">
<summary>
Gets the underlying native port Handle
</summary>
</member>
<member name="P:OpenNETCF.IO.StreamInterfaceDriver.IsOpen">
<summary>
Returns true if the port is open, otherwise returns false
</summary>
</member>
<member name="T:OpenNETCF.Complex">
<summary>
Represents a complex number of the format real + (imaginary * sqrt(-1))
</summary>
</member>
<member name="F:OpenNETCF.Complex.real">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.Complex.imaginary">
<summary>
</summary>
</member>
<member name="T:OpenNETCF.Math2">
<summary>
Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.
</summary>
<seealso cref="T:System.Math"/>
</member>
<member name="M:OpenNETCF.Math2.Sinh(System.Double)">
<summary>
Returns the hyperbolic sine of the specified angle.
</summary>
<param name="angle"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Math2.Cosh(System.Double)">
<summary>
Returns the hyperbolic cosine of the specified angle.
</summary>
<param name="angle"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Math2.Tanh(System.Double)">
<summary>
Returns the hyperbolic tangent of the specified angle.
</summary>
<param name="angle"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Math2.BigMul(System.Int32,System.Int32)">
<summary>
Produces the full product of two 32-bit numbers.
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Math2.PI">
<summary>
Represents the ratio of the circumference of a circle to its diameter, specified by the constant, p.
</summary>
</member>
<member name="P:OpenNETCF.Math2.E">
<summary>
Represents the natural logarithmic base, specified by the constant, e.
</summary>
</member>
<member name="T:OpenNETCF.Math2.Constants">
<summary>
Mathematical constants.
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.h">
<summary>
Planck's Constant (Js)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.L">
<summary>
Avogadro's Constant (1/mol)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.k">
<summary>
Boltzmann's Constant (J/K)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.m">
<summary>
Atomic Mass Constant (kg)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.G">
<summary>
Newtonian Constant of Gravitation (m3 kg^-1 s^-2)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.mSube">
<summary>
Electron mass (kg)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.mSubp">
<summary>
Proton mass (kg)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.eV">
<summary>
Electron Volt (J)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.F">
<summary>
Faraday Constant (C/mol)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.R">
<summary>
Molar Gas Constant (J /(mol*K))
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.Rinf">
<summary>
Rydberg Constant (1 / m)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.sigma">
<summary>
Stefan-Boltzman Constant (W m^-2 K^-4)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.c">
<summary>
Speed of Light in vacuum (m/s)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.mu0">
<summary>
Magnetic constant (N A^-2)
</summary>
</member>
<member name="P:OpenNETCF.Math2.Constants.e">
<summary>
Elementaty Charge (C)
</summary>
</member>
<member name="T:OpenNETCF.Media.SoundPlayer">
<summary>
Controls playback of a sound from a .wav file.
</summary>
</member>
<member name="M:OpenNETCF.Media.SoundPlayer.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Media.SoundPlayer"/> class.
</summary>
</member>
<member name="M:OpenNETCF.Media.SoundPlayer.#ctor(System.IO.Stream)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Media.SoundPlayer"/> class, attaches the .wav file within the specified <see cref="P:OpenNETCF.Media.SoundPlayer.Stream"/>.
</summary>
<param name="stream"></param>
</member>
<member name="M:OpenNETCF.Media.SoundPlayer.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Media.SoundPlayer"/> class and attaches the specified .wav file.
</summary>
<param name="soundLocation">The location of a .wav file to load.</param>
<remarks>The string passed to the soundLocation parameter must be a path to a .wav file.
If the path is invalid, the <see cref="T:OpenNETCF.Media.SoundPlayer"/> object will still be constructed, but subsequent calls to a load or play method will fail.</remarks>
</member>
<member name="M:OpenNETCF.Media.SoundPlayer.Play">
<summary>
Plays the .wav file using a new thread.
</summary>
<remarks>The Play method plays the sound using a new thread.
If the .wav file has not been specified or it fails to load, the Play method will play the default beep sound.</remarks>
</member>
<member name="M:OpenNETCF.Media.SoundPlayer.PlaySync">
<summary>
Plays the .wav file using the UI thread.
</summary>
<remarks>The PlaySync method uses the current thread to play a .wav file, preventing the thread from handling other messages until the load is complete.
After a .wav file is successfully loaded from a Stream or URL path, future calls to playback methods for the SoundPlayer object will not need to reload the .wav file until the path for the sound changes.
If the .wav file has not been specified or it fails to load, the PlaySync method will play the default beep sound.</remarks>
</member>
<member name="M:OpenNETCF.Media.SoundPlayer.PlayLooping">
<summary>
Plays and loops the .wav file using a new thread and loads the .wav file first if it has not been loaded.
</summary>
<remarks>The PlayLooping method plays and loops the sound using a new thread.
If the .wav file has not been specified or it fails to load, the PlayLooping method will play the default beep sound.</remarks>
</member>
<member name="M:OpenNETCF.Media.SoundPlayer.Stop">
<summary>
Stops playback of the sound if playback is occurring.
</summary>
</member>
<member name="P:OpenNETCF.Media.SoundPlayer.SoundLocation">
<summary>
Gets or sets the file path of the .wav file to load.
</summary>
<value>The file path from which to load a .wav file, or <see cref="F:System.String.Empty"/> if no file path is present.
The default is <see cref="F:System.String.Empty"/>.</value>
</member>
<member name="P:OpenNETCF.Media.SoundPlayer.Stream">
<summary>
Gets or sets the <see cref="P:OpenNETCF.Media.SoundPlayer.Stream"/> from which to load the .wav file.
</summary>
<remarks>This property is set to null when the <see cref="P:OpenNETCF.Media.SoundPlayer.SoundLocation"/> property is set to a new and valid sound location.</remarks>
</member>
<member name="P:OpenNETCF.Media.SoundPlayer.Tag">
<summary>
Stores additional data.
</summary>
</member>
<member name="T:OpenNETCF.Media.SystemSound">
<summary>
Represents a standard system sound.
</summary>
</member>
<member name="M:OpenNETCF.Media.SystemSound.Play">
<summary>
Play this sound.
</summary>
</member>
<member name="M:OpenNETCF.Media.SystemSound.SetVolume(System.Int32)">
<summary>
Set the volume for the default waveOut device (device ID = 0)
</summary>
<param name="Volume"></param>
</member>
<member name="M:OpenNETCF.Media.SystemSound.GetVolume">
<summary>
Get the current volume setting for the default waveOut device (device ID = 0)
</summary>
<returns></returns>
</member>
<member name="T:OpenNETCF.Media.SystemSounds">
<summary>
Retrieves sounds associated with a set of Windows system sound event types.
</summary>
</member>
<member name="P:OpenNETCF.Media.SystemSounds.Beep">
<summary>
Gets the sound associated with the Beep program event.
</summary>
</member>
<member name="P:OpenNETCF.Media.SystemSounds.Asterisk">
<summary>
Gets the sound associated with the Asterisk program event.
</summary>
</member>
<member name="P:OpenNETCF.Media.SystemSounds.Exclamation">
<summary>
Gets the sound associated with the Exclamation program event.
</summary>
</member>
<member name="P:OpenNETCF.Media.SystemSounds.Question">
<summary>
Gets the sound associated with the Question program event.
</summary>
</member>
<member name="P:OpenNETCF.Media.SystemSounds.Hand">
<summary>
Gets the sound associated with the Hand program event.
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.WaveOpenHandler">
<summary>
Handles generic wave device Open event
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.WaveCloseHandler">
<summary>
Handles generic wave device Close event
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.WaveDoneHandler">
<summary>
Handles generic wave device Operation Complete event (Record/Play)
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.WaveFinishedHandler">
<summary>
Handles wave device Recording Complete event
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.SoundFormats">
<summary>
Flags for the supported audio formats for recording and playback devices
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.InvalidFormat">
<summary>
Format is not valid
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Mono8bit11kHz">
<summary>
Mono, 8 bit, 11025 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Stereo8bit11kHz">
<summary>
Stereo, 8 bit, 11025 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Mono16bit11kHz">
<summary>
Mono, 16 bit, 11025 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Stereo16bit11kHz">
<summary>
Stereo, 16 bit, 11025 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Mono8bit22kHz">
<summary>
Mono, 8 bit, 22050 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Stereo8bit22kHz">
<summary>
Stereo, 8 bit, 22050 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Mono16bit22kHz">
<summary>
Mono, 16 bit, 22050 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Stereo16bit22kHz">
<summary>
Stereo, 16 bit, 22050 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Mono8bit44kHz">
<summary>
Mono, 8 bit, 44100 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Stereo8bit44kHz">
<summary>
Stereo, 8 bit, 44100 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Mono16bit44kHz">
<summary>
Mono, 16 bit, 44100 Hz
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.SoundFormats.Stereo16bit44kHz">
<summary>
Stereo, 16 bit, 44100 Hz
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.Audio">
<summary>
Base class for Player/Recorder
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.Player">
<summary>
Wave Audio player class. Supports PCM waveform playback from the stream
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Player.#ctor">
<summary>
Constructs Player object on the default wave device
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Player.#ctor(System.Int32)">
<summary>
Constructs Player object on the given wave device
</summary>
<param name="AudioDeviceID">Wave device ID</param>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Player.Restart">
<summary>
Restart a paused wave file
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Player.Pause">
<summary>
Pause Play
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Player.Stop">
<summary>
Stop Play
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Player.Play(System.IO.Stream)">
<summary>
Plays waveform contained in the given stream. Stream is exepcted to contain full riff header
</summary>
<param name="playStream">Stream with the waveform</param>
</member>
<member name="E:OpenNETCF.Media.WaveAudio.Player.WaveOpen">
<summary>
Raised when the wave device is opened
</summary>
</member>
<member name="E:OpenNETCF.Media.WaveAudio.Player.WaveClose">
<summary>
Raised when the wave device is closed
</summary>
</member>
<member name="E:OpenNETCF.Media.WaveAudio.Player.DonePlaying">
<summary>
Raised when the wave device has finished playback
</summary>
</member>
<member name="P:OpenNETCF.Media.WaveAudio.Player.NumDevices">
<summary>
Number of the output wave devices in the system
</summary>
</member>
<member name="P:OpenNETCF.Media.WaveAudio.Player.Volume">
<summary>
Gets or sets playback volume on the current wave device
</summary>
</member>
<member name="P:OpenNETCF.Media.WaveAudio.Player.Playing">
<summary>
True, if the player is currently playing. False otherwise
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.Recorder">
<summary>
Recorder class. Wraps low-level WAVE API for recording purposes
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.#ctor">
<summary>
Creates Recorder object and attaches it to the default wave device
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.#ctor(System.Int32)">
<summary>
Creates Recorder object and attaches it to the given wave device
</summary>
<param name="AudioDeviceID">Wave device ID</param>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.SupportedRecordingFormats">
<summary>
A list of PCM wave formats supported by the default device
</summary>
<returns>SoundFormats collection</returns>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.SupportedRecordingFormats(System.Int32)">
<summary>
A list of PCM wave formats supported by the given device
</summary>
<param name="DeviceID">Wave device</param>
<returns>SoundFormats collection</returns>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.Stop">
<summary>
Stop recording operation currently in progress.
Throws an error if no recording operation is in progress
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.RecordFor(System.IO.Stream,System.Int16)">
<summary>
Record sound data for specified number of seconds at 11025 sps and 1 channel
The stream will be a properly formatted RIFF file
</summary>
<param name="st">Stream into which recorded samples are written</param>
<param name="Seconds">Seconds of data to record</param>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.RecordFor(System.IO.Stream,System.Int16,OpenNETCF.Media.WaveAudio.WaveFormat2)">
<summary>
Record sound data for specified number of seconds using given wave format
The stream will be a properly formatted RIFF file
</summary>
<param name="st">Stream into which recorded samples are written</param>
<param name="Seconds">Seconds of data to record</param>
<param name="format">Sound format to record in.</param>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.Recorder.GetNewRecordBuffer(System.Int32)">
<summary>
Creates a recording buffer
</summary>
<param name="dwBufferSize"></param>
<returns>new buffer as WaveHeader</returns>
</member>
<member name="E:OpenNETCF.Media.WaveAudio.Recorder.WaveOpen">
<summary>
Handles the event that is fired when wave device is successfully opened
</summary>
</member>
<member name="E:OpenNETCF.Media.WaveAudio.Recorder.WaveClose">
<summary>
Handles the event that is fired when wave device is successfully closed
</summary>
</member>
<member name="E:OpenNETCF.Media.WaveAudio.Recorder.DoneRecording">
<summary>
Handles the event that is fired when recording is stopped (on timer or by calling <see cref="M:OpenNETCF.Media.WaveAudio.Recorder.Stop">Stop</see> method
</summary>
</member>
<member name="P:OpenNETCF.Media.WaveAudio.Recorder.Recording">
<summary>
Whether the Recorder is presently recording
</summary>
</member>
<member name="P:OpenNETCF.Media.WaveAudio.Recorder.NumDevices">
<summary>
Number of wave input devices in the system
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.WaveHeader">
<summary>
Internal wrapper around WAVEHDR
Facilitates asynchronous operations
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.WaveHeader.#ctor(System.Byte[],System.Int32)">
<summary>
Creates WaveHeader and fills it with wave data
</summary>
<param name="data">wave data bytes</param>
<param name="datalength">length of Wave data</param>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.WaveHeader.#ctor(System.Int32)">
<summary>
Constructor for WaveHeader class
Allocates a buffer of required size
</summary>
<param name="BufferSize"></param>
</member>
<member name="T:OpenNETCF.Reflection.Assembly2">
<summary>
Contains helper functions for the <see cref="T:System.Reflection.Assembly"/> class.
</summary>
<seealso cref="T:System.Reflection.Assembly"/>
</member>
<member name="M:OpenNETCF.Reflection.Assembly2.GetEntryAssembly">
<summary>
Gets the process executable.
</summary>
<returns>The <see cref="T:System.Reflection.Assembly"/> that is the process executable.</returns>
</member>
<member name="T:OpenNETCF.Runtime.InteropServices.AdvancedMarshaler">
<summary>
AdvancedMarshaler class implementation.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.AdvancedMarshaler.DeserializeFromByteArray(System.Byte[])">
<summary>
Copy bytes from a user array to the internal data array
and then call the internal Deserialize routine
</summary>
<param name="b">The byte array to be copied to the
internal array and then deserialized</param>
</member>
<member name="T:OpenNETCF.Runtime.InteropServices.MarshallingMethods">
<summary>
MarshallingMethods class implementation.
</summary>
</member>
<member name="T:OpenNETCF.Runtime.InteropServices.CustomMarshalAsAttribute">
<summary>
CustomMarshalAsAttribute implementaion.
</summary>
</member>
<member name="T:OpenNETCF.Runtime.InteropServices.CriticalHandle">
<summary>
Represents a wrapper class for handle resources.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.CriticalHandle.#ctor(System.IntPtr)">
<summary>
Initializes a new instance of the CriticalHandle class with the specified invalid handle value.
</summary>
<param name="invalidHandleValue">The value of an invalid handle (usually 0 or -1).</param>
</member>
<member name="F:OpenNETCF.Runtime.InteropServices.CriticalHandle.handle">
<summary>
Specifies the handle to be wrapped.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.CriticalHandle.Close">
<summary>
Marks the handle for releasing and freeing resources.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.CriticalHandle.ReleaseHandle">
<summary>
When overridden in a derived class, executes the code required to free the handle.
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.CriticalHandle.SetHandle(System.IntPtr)">
<summary>
Sets the handle to the specified pre-existing handle.
</summary>
<param name="handle"></param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.CriticalHandle.SetHandleAsInvalid">
<summary>
Marks a handle as invalid.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.CriticalHandle.Dispose">
<summary>
Marks the handle for releasing and freeing resources.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.CriticalHandle.Finalize">
<summary>
Frees all resources associated with the handle.
</summary>
</member>
<member name="P:OpenNETCF.Runtime.InteropServices.CriticalHandle.IsClosed">
<summary>
Gets a value indicating whether the handle is closed.
</summary>
<value>true if the handle is closed; otherwise, false.</value>
</member>
<member name="P:OpenNETCF.Runtime.InteropServices.CriticalHandle.IsInvalid">
<summary>
When overridden in a derived class, gets a value indicating whether the handle value is invalid.
</summary>
<value>true if the handle is valid; otherwise, false.</value>
</member>
<member name="T:OpenNETCF.Runtime.InteropServices.ComTypes.FILETIME">
<summary>
This structure is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601.
</summary>
</member>
<member name="F:OpenNETCF.Runtime.InteropServices.ComTypes.FILETIME.dwLowDateTime">
<summary>
Specifies the low 32 bits of the FILETIME.
</summary>
</member>
<member name="F:OpenNETCF.Runtime.InteropServices.ComTypes.FILETIME.dwHighDateTime">
<summary>
Specifies the high 32 bits of the FILETIME.
</summary>
</member>
<member name="T:OpenNETCF.Runtime.InteropServices.Marshal2">
<summary>
Provides a collection of methods for allocating unmanaged memory, copying unmanaged memory blocks, and converting managed to unmanaged types, as well as other miscellaneous methods used when interacting with unmanaged code.
</summary>
<seealso cref="T:System.Runtime.InteropServices.Marshal"/>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.ReadIntPtr(System.IntPtr,System.Int32)">
<summary>
Reads an IntPtr from an unmanaged pointer.
</summary>
<param name="ptr">The address in unmanaged memory from which to read. </param>
<param name="ofs">The offset from the ptr where the IntPtr is located.</param>
<returns>The IntPtr read from the ptr parameter. </returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.ReadUInt32(System.IntPtr,System.Int32)">
<summary>
Reads a 32-bit unsigned integer from unmanaged memory.
</summary>
<param name="ptr">The base address in unmanaged memory from which to read.</param>
<param name="ofs">An additional byte offset, added to the ptr parameter before reading.</param>
<returns>The 32-bit unsigned integer read from the ptr parameter.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.ReadUInt16(System.IntPtr,System.Int32)">
<summary>
</summary>
<param name="ptr"></param>
<param name="ofs"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.PtrToStringUni(System.IntPtr,System.Int32,System.Int32)">
<summary>
Reads a string from an unmanaged pointer.
</summary>
<param name="ptr">The address in unmanaged memory from which to read. </param>
<param name="ofs">The offset from the ptr where the string is located.</param>
<param name="len">Length in characters.</param>
<returns>The string read from the ptr parameter. </returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.PtrToStringAnsi(System.IntPtr,System.Int32,System.Int32)">
<summary>
Allocates a managed System.String, copies a specified number of characters from an unmanaged ANSI string into it, and widens each ANSI character to Unicode.
</summary>
<param name="ptr">The address of the first character of the unmanaged string.</param>
<param name="ofs"></param>
<param name="len">The byte count of the input string to copy.</param>
<returns>A managed System.String that holds a copy of the native ANSI string.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.PtrToStringAnsi(System.IntPtr)">
<summary>
Copies all characters up to the first null from an unmanaged ANSI string to a managed System.String. Widens each ANSI character to Unicode.
</summary>
<param name="ptr">The address of the first character of the unmanaged string.</param>
<returns>A managed <see cref="T:System.String"/> object that holds a copy of the unmanaged ANSI string.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.PtrToStringAuto(System.IntPtr)">
<summary>
Allocates a managed <see cref="T:System.String"/> and copies all characters up to the first null character from a string stored in unmanaged memory into it.
</summary>
<param name="ptr">The address of the first character.</param>
<returns>A managed string that holds a copy of the unmanaged string.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.ReadChar(System.IntPtr,System.Int32)">
<summary>
Reads a single char from an unmanaged pointer.
</summary>
<param name="ptr">The address in unmanaged memory from which to read. </param>
<param name="ofs">The offset from the ptr where the char is located.</param>
<returns>The char read from the ptr parameter. </returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.ReadByteArray(System.IntPtr,System.Int32,System.Int32)">
<summary>
Reads a byte array from an unmanaged pointer.
</summary>
<param name="ptr">The address in unmanaged memory from which to read. </param>
<param name="ofs">The offset from the ptr where the byte array is located.</param>
<param name="len">The length of the byte array to read.</param>
<returns>The byte array read from the ptr parameter. </returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.ReadUInt64(System.IntPtr,System.Int32)">
<summary>
</summary>
<param name="ptr"></param>
<param name="ofs"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.ReadBool(System.IntPtr,System.Int32)">
<summary>
Reads a bool from an unmanaged pointer.
</summary>
<param name="ptr">The address in unmanaged memory from which to read. </param>
<param name="ofs">The offset from the ptr where the bool is located.</param>
<returns>The bool read from the ptr parameter. </returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.WriteIntPtr(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Writes an IntPtr value to unmanaged memory.
</summary>
<param name="ptr">The address in unmanaged memory from which to write. </param>
<param name="ofs">The offset of the IntPtr from the ptr.</param>
<param name="val">The value to write. </param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.WriteUInt32(System.IntPtr,System.Int32,System.UInt32)">
<summary>
Writes a UInt32 value to unmanaged memory.
</summary>
<param name="ptr">The base address in unmanaged memory from which to write.</param>
<param name="ofs">An additional byte offset, added to the ptr parameter before writing.</param>
<param name="val">The value to write.</param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.WriteUInt16(System.IntPtr,System.Int32,System.UInt16)">
<summary>
Writes a 16-bit unsigned integer value to unmanaged memory.
</summary>
<param name="ptr">The base address in unmanaged memory from which to write.</param>
<param name="ofs">An additional byte offset, added to the ptr parameter before writing.</param>
<param name="val">The value to write.</param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.StringToHGlobalAnsi(System.String)">
<summary>
Copies the contents of a managed <see cref="T:System.String"/> into unmanaged memory, converting into ANSI format as it copies.
</summary>
<param name="s">A managed string to be copied. </param>
<returns>The address, in unmanaged memory, to where s was copied, or 0 if a null reference (Nothing in Visual Basic) string was supplied.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.StringToHGlobalUni(System.String)">
<summary>
Copies the contents of a managed <see cref="T:System.String"/> into unmanaged memory.
</summary>
<param name="s">A managed string to be copied.</param>
<returns>The address, in unmanaged memory, to where s was copied, or 0 if a null reference (Nothing in Visual Basic) string was supplied.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.WriteChar(System.IntPtr,System.Int32,System.Char)">
<summary>
Writes a single char value to unmanaged memory.
</summary>
<param name="ptr">The address in unmanaged memory from which to write. </param>
<param name="ofs">The offset of the char from the ptr.</param>
<param name="val">The value to write. </param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.WriteByteArray(System.IntPtr,System.Int32,System.Byte[])">
<summary>
Writes a byte array to unmanaged memory.
</summary>
<param name="ptr">The address in unmanaged memory from which to write. </param>
<param name="ofs">The offset of the byte array from the ptr.</param>
<param name="val">The value to write. </param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.WriteUInt64(System.IntPtr,System.Int32,System.UInt64)">
<summary>
Writes a 64-bit unsigned integer value to unmanaged memory.
</summary>
<param name="ptr">The address in unmanaged memory from which to write.</param>
<param name="ofs">An additional byte offset, added to the ptr parameter before writing.</param>
<param name="val">The value to write.</param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.WriteBool(System.IntPtr,System.Int32,System.Boolean)">
<summary>
Writes a bool value to unmanaged memory.
</summary>
<param name="ptr">The address in unmanaged memory from which to write. </param>
<param name="ofs">The offset of the bool from the ptr.</param>
<param name="val">The value to write. </param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.Time_tToDateTime(System.UInt32)">
<summary>
Converts a time_t value to a DateTime value.
</summary>
<param name="time_t">The time_t value to convert.</param>
<returns>A DateTime value equivalent to the time_t suppled.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.lstrlenW(System.IntPtr)">
<summary>
Returns the length of the string at the pointer
</summary>
<param name="ptr">The pointer to the string to measure.</param>
<returns>The length of the string at the pointer.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.GetHINSTANCE(System.Reflection.Module)">
<summary>
Returns the instance handle (HINSTANCE) for the specified module.
</summary>
<param name="m">The <see cref="T:System.Reflection.Module"/> whose HINSTANCE is desired.</param>
<returns>The HINSTANCE for m; -1 if the module does not have an HINSTANCE.</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.SetMemory(System.IntPtr,System.Byte,System.Int32)">
<summary>
Sets a region of unmanaged memory to a specified value
</summary>
<param name="destination">IntPtr address of the start of the region to set</param>
<param name="value">The value to set for each byte in the reagion</param>
<param name="length">Number of bytes to set</param>
<exception cref="T:System.ArgumentException">Thrown if writing to destination for length bytes would be an invalid memory access</exception>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.SetMemory(System.IntPtr,System.Byte,System.Int32,System.Boolean)">
<summary>
Sets a region of unmanaged memory to a specified value
</summary>
<param name="destination">IntPtr address of the start of the region to set</param>
<param name="value">The value to set for each byte in the reagion</param>
<param name="length">Number of bytes to set</param>
<param name="boundsCheck">when true the function verifies that the requiested write operation is safe</param>
<exception cref="T:System.ArgumentException">Thrown if writing to destination for length bytes would be an invalid memory access</exception>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.Copy(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
Copies data from an unmanaged memory pointer to another unmanaged memory pointer
</summary>
<param name="source">The memory pointer to copy from.</param>
<param name="destination">The memory pointer to copy to.</param>
<param name="length">The number of bytes to copy</param>
<exception cref="T:System.ArgumentException">Thrown if either the requested write or read for length bytes would be an invalid memory access</exception>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.Copy(System.IntPtr,System.IntPtr,System.Int32,System.Boolean)">
<summary>
Copies data from an unmanaged memory pointer to another unmanaged memory pointer
</summary>
<param name="source">The memory pointer to copy from.</param>
<param name="destination">The memory pointer to copy to.</param>
<param name="length">The number of bytes to copy</param>
<param name="boundsCheck">When true the function verifies that the requiested write and read operations are safe</param>
<exception cref="T:System.ArgumentException">Thrown if either the requested write or read for length bytes would be an invalid memory access</exception>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.IsSafeToWrite(System.IntPtr,System.Int32)">
<summary>
Checks to determine if a write to an unmanaged memory pointer for a specied number of bytes is a safe operation
</summary>
<param name="destination">Unmanaged memory pointer to check</param>
<param name="length">Number of bytes to check</param>
<returns>Returns true if a write of the specifed length is safe, otherwise false</returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.Marshal2.IsSafeToRead(System.IntPtr,System.Int32)">
<summary>
Checks to determine if a read from an unmanaged memory pointer for a specied number of bytes is a safe operation
</summary>
<param name="source">Unmanaged memory pointer to check</param>
<param name="length">Number of bytes to check</param>
<returns>Returns true if a read from the specifed length is safe, otherwise false</returns>
</member>
<member name="T:OpenNETCF.Runtime.InteropServices.SafeHandle">
<summary>
Represents a wrapper class for operating system handles.
</summary>
</member>
<member name="F:OpenNETCF.Runtime.InteropServices.SafeHandle.handle">
<summary>
Specifies the handle to be wrapped.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.#ctor(System.IntPtr,System.Boolean)">
<summary>
Initializes a new instance of the SafeHandle class with the specified invalid handle value.
</summary>
<param name="invalidHandleValue">The value of an invalid handle (usually 0 or -1).</param>
<param name="ownsHandle">true to reliably let SafeHandle release the handle during the finalization phase; otherwise, false (not recommended).</param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.Close">
<summary>
Marks the handle for releasing and freeing resources.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.DangerousGetHandle">
<summary>
Returns the value of the <see cref="F:OpenNETCF.Runtime.InteropServices.SafeHandle.handle"/> field.
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.ReleaseHandle">
<summary>
When overridden in a derived class, executes the code required to free the handle.
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.SetHandle(System.IntPtr)">
<summary>
Sets the handle to the specified pre-existing handle.
</summary>
<param name="handle"></param>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.SetHandleAsInvalid">
<summary>
Marks a handle as invalid.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.Dispose">
<summary>
Marks the handle for releasing and freeing resources.
</summary>
</member>
<member name="M:OpenNETCF.Runtime.InteropServices.SafeHandle.Finalize">
<summary>
Frees all resources associated with the handle.
</summary>
</member>
<member name="P:OpenNETCF.Runtime.InteropServices.SafeHandle.IsClosed">
<summary>
Gets a value indicating whether the handle is closed.
</summary>
<value>true if the handle is closed; otherwise, false.</value>
</member>
<member name="P:OpenNETCF.Runtime.InteropServices.SafeHandle.IsInvalid">
<summary>
When overridden in a derived class, gets a value indicating whether the handle value is invalid.
</summary>
<value>true if the handle is valid; otherwise, false.</value>
</member>
<member name="T:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeDeformatter">
<summary>
Represents the base class from which all asymmetric key exchange deformatters derive.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeDeformatter.#ctor">
<summary>
Initializes a new instance of AsymmetricKeyExchangeDeformatter.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
<summary>
When overridden in a derived class, extracts secret information from the encrypted key exchange data.
</summary>
<param name="rgb"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
<summary>
When overridden in a derived class, sets the private key to use for decrypting the secret information.
</summary>
<param name="key"></param>
</member>
<member name="P:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeDeformatter.Parameters">
<summary>
When overridden in a derived class, gets or sets the parameters for the asymmetric key exchange.
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeFormatter">
<summary>
Represents the base class from which all asymmetric key exchange formatters derive.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeFormatter.#ctor">
<summary>
Initializes a new instance of AsymmetricKeyExchangeFormatter
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
<summary>
When overridden in a derived class, creates the encrypted key exchange data.
</summary>
<param name="data"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
<summary>
When overridden in a derived class, creates the encrypted key exchange data.
</summary>
<param name="data"></param>
<param name="symAlgType"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
<summary>
When overridden in a derived class, sets the public key to use for encrypting the secret information.
</summary>
<param name="key"></param>
</member>
<member name="P:OpenNETCF.Security.Cryptography.AsymmetricKeyExchangeFormatter.Parameters">
<summary>
When overridden in a derived class, gets the parameters for the asymmetric key exchange.
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.DeriveBytes">
<summary>
Represents the abstract base class from which all classes that derive byte sequences of a specified length inherit.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.DeriveBytes.#ctor">
<summary>
Initializes a new instance of the DeriveBytes class.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.DeriveBytes.GetBytes(System.Int32)">
<summary>
When overridden in a derived class, returns pseudo-random key bytes.
</summary>
<param name="cb">The number of pseudo-random key bytes to generate</param>
<returns>A byte array filled with pseudo-random key bytes.</returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.DeriveBytes.Reset">
<summary>
When overridden in a derived class, resets the state of the operation.
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.HMACSHA1">
<summary>
Computes a Hash-based Message Authentication Code (HMAC) using the SHA1 hash function.
</summary>
<devnotes>
Based on comments and commented-out code in the original implemenation of this class
I'm not certain it even functions. I'm no crypto expert, so I don't know how to test it
- ctacke
</devnotes>
</member>
<member name="T:OpenNETCF.Security.Cryptography.KeyedHashAlgorithm">
<summary>
Represents the abstract class from which all implementations of keyed hash algorithms must derive
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.KeyedHashAlgorithm.#ctor">
<summary>
Initializes a new instance of KeyedHashAlgorithm
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.KeyedHashAlgorithm.Key">
<summary>
Gets or sets the key to be used in the hash algorithm
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.HMACSHA1.Initialize">
<summary>
Initializes an implementation of HMACSHA1
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.HMACSHA1.#ctor">
<summary>
Initializes a new instance of the HMACSHA1 class
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.HMACSHA1.#ctor(System.Byte[])">
<summary>
Initializes a new instance of the HMACSHA1 class
</summary>
<param name="sessKey"></param>
</member>
<member name="M:OpenNETCF.Security.Cryptography.HMACSHA1.ComputeHash(System.Byte[])">
<summary>
Computes the hash value for the input data
</summary>
<param name="buffer"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Security.Cryptography.HMACSHA1.Key">
<summary>
Gets or sets the key to be used in the hash algorithm
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.HMACSHA1.Hash">
<summary>
Gets the value of the computed hash code
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.HMACSHA1.HashSize">
<summary>
Gets the size of the computed hash code in bits
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Context.CpAcquireContext(System.String,OpenNETCF.Security.Cryptography.Internal.ContextFlag)">
<summary>
MissingMethodException. call AcquireContext instead
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Context.ContextAddRef(System.IntPtr)">
<summary>
INVALID_PARAMETER. no need to ever call this
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Hash.DuplicateHash(System.IntPtr)">
<summary>
INVALID_PARAMETER
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Key.SetPaddingMode(System.IntPtr,System.Security.Cryptography.PaddingMode)">
<summary>
BAD_DATA
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Key.DuplicateKey(System.IntPtr)">
<summary>
INVALID_PARAMETER
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Mem.CryptMemAlloc(System.Int32)">
<summary>
The CryptMemAlloc function allocates memory for a buffer.
It is used by all Crypt32.lib functions that return allocated buffers.
</summary>
<param name="cbSize">Number of bytes to be allocated. </param>
<returns>Returns a pointer to the buffer allocated.
If the function fails, NULL is returned. </returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Mem.CryptMemFree(System.IntPtr)">
<summary>
The CryptMemFree function frees memory allocated by
CryptMemAlloc or CryptMemRealloc.
</summary>
<param name="pv">Pointer to the buffer to be freed. </param>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Mem.CryptMemRealloc(System.IntPtr,System.Int32)">
<summary>
The CryptMemRealloc function frees the memory currently allocated for a buffer
and allocates memory for a new buffer.
</summary>
<param name="pv">Pointer to a currently allocated buffer. </param>
<param name="cbSize">Number of bytes to be allocated. </param>
<returns>Returns a pointer to the buffer allocated.
If the function fails, NULL is returned. </returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Prov.SetProviderEx(System.String,OpenNETCF.Security.Cryptography.Internal.ProvType,OpenNETCF.Security.Cryptography.Internal.ProvDefaultFlag)">
<summary>
INVALID_PARAMETER. call SetProvider instead
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Prov.GetDefaultProvider(OpenNETCF.Security.Cryptography.Internal.ProvType,OpenNETCF.Security.Cryptography.Internal.ProvDefaultFlag)">
<summary>
INVALID_PARAMETER. call Context.AcquireContext with minimal values instead
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.Internal.Prov.EnumProviderTypes">
<summary>
works by calling EnumProviders. otherwise INVALID_PARAMETER
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.MACTripleDES">
<summary>
Computes a Message Authentication Code (MAC) using TripleDES for the input data CryptoStream
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.MACTripleDES.Initialize">
<summary>
Initializes an implementation of MACTripleDES
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.MACTripleDES.#ctor">
<summary>
Initializes a new instance of the MACTripleDES class
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.MACTripleDES.#ctor(System.Byte[])">
<summary>
Initializes a new instance of the MACTripleDES class
</summary>
<param name="desKey"></param>
</member>
<member name="M:OpenNETCF.Security.Cryptography.MACTripleDES.ComputeHash(System.Byte[])">
<summary>
Overloaded. Computes the hash value for the input data
</summary>
<param name="buffer"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Security.Cryptography.MACTripleDES.Key">
<summary>
Gets or sets the key to be used in the hash algorithm
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.MACTripleDES.Hash">
<summary>
Gets the value of the computed hash code
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.MACTripleDES.HashSize">
<summary>
Gets the size of the computed hash code in bits
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.PasswordDeriveBytes">
<summary>
Derives a key from a password
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.#ctor(System.String,System.Byte[])">
<summary>
Initializes a new instance of the PasswordDeriveBytes class
</summary>
<param name="password"></param>
<param name="salt"></param>
</member>
<member name="M:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.#ctor(System.String,System.Byte[],System.String,System.Int32)">
<summary>
Initializes a new instance of the PasswordDeriveBytes class
</summary>
<param name="password"></param>
<param name="salt"></param>
<param name="hashName"></param>
<param name="iterations"></param>
</member>
<member name="M:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.CryptDeriveKey(System.String,System.String,System.Int32,System.Byte[])">
<summary>
Derives a cryptographic key from the PasswordDeriveBytes object.
</summary>
<remarks>
If the keySize parameter is set to 0, the default key size for the specified algorithm is used.
</remarks>
<param name="algName">The algorithm name for which to derive the key. </param>
<param name="algHashName">The hash algorithm name to use to derive the key. </param>
<param name="keySize">The size of the key to derive (in bits). </param>
<param name="IV">The initialization vector (IV) to use to derive the key.</param>
<returns>The derived key.</returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.GetBytes(System.Int32)">
<summary>
Returns pseudo-random key bytes.
</summary>
<param name="cb">The number of pseudo-random key bytes to generate.</param>
<returns>A byte array filled with pseudo-random key bytes.</returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.Reset">
<summary>
Resets the state of the operation.
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.HashName">
<summary>
Gets or sets the name of the hash algorithm for the operation
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.IterationCount">
<summary>
Gets or sets the number of iterations for the operation.
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.PasswordDeriveBytes.Salt">
<summary>
Gets or sets the key salt value for the operation.
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.DataProtectionScope">
<summary>
Specifies the scope of the data protection to be applied by
the <see cref="M:OpenNETCF.Security.Cryptography.ProtectedData.Protect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)"/> method
</summary>
<remarks>
This enumeration is used with the <see cref="M:OpenNETCF.Security.Cryptography.ProtectedData.Protect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)"/> and <see cref="M:OpenNETCF.Security.Cryptography.ProtectedData.Unprotect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)"/> methods to protect
data through encryption.
</remarks>
</member>
<member name="F:OpenNETCF.Security.Cryptography.DataProtectionScope.CurrentUser">
<summary>
Specifies that the protected data is associated with the current user.
Only threads running under the current user context can unprotect the data.
</summary>
</member>
<member name="F:OpenNETCF.Security.Cryptography.DataProtectionScope.LocalMachine">
<summary>
Specifies that the protected data is associated with the machine context.
Any process running under Admin credentials on the computer can unprotect data.
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.ProtectedData">
<summary>
Contains methods for protecting and unprotecting data. This class cannot be inherited.
</summary>
<remarks>
The class consists of two wrappers for the unmanaged Data Protection API (DPAPI) methods,
<see cref="M:OpenNETCF.Security.Cryptography.ProtectedData.Protect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)"/> and <see cref="M:OpenNETCF.Security.Cryptography.ProtectedData.Unprotect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)"/>.
These two methods can be used to protect and unprotect data such as passwords, keys,
and connection strings.
</remarks>
</member>
<member name="M:OpenNETCF.Security.Cryptography.ProtectedData.Protect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)">
<summary>
Protects the <c>userData</c> parameter and returns a byte array.
</summary>
<param name="userData">Byte array containing data to be protected.</param>
<param name="optionalEntropy">Additional byte array used to encrypt the data.</param>
<param name="scope">Value from the <see cref="T:OpenNETCF.Security.Cryptography.DataProtectionScope"/> enumeration.</param>
<returns>A byte array representing the encrypted data.</returns>
<remarks>
This method can be used to protect data such as passwords, keys, or connection strings.
The <c>optionalEntropy</c> parameter enables you to use additional information to protect the data.
This information must also be used when unprotecting the data using the <see cref="M:OpenNETCF.Security.Cryptography.ProtectedData.Unprotect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)"/> method.
</remarks>
</member>
<member name="M:OpenNETCF.Security.Cryptography.ProtectedData.Unprotect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)">
<summary>
Unprotects the <c>encryptedData</c> parameter and returns a byte array.
</summary>
<param name="encryptedData">Byte array containing data encrypted with the <see cref="M:OpenNETCF.Security.Cryptography.ProtectedData.Protect(System.Byte[],System.Byte[],OpenNETCF.Security.Cryptography.DataProtectionScope)"/> method</param>
<param name="optionalEntropy">Additional byte array that was used to encrypt the data.</param>
<param name="scope">Value from the <see cref="T:OpenNETCF.Security.Cryptography.DataProtectionScope"/> enumeration</param>
<returns>A byte array representing the unprotected data.</returns>
<remarks>
This method can be used to unprotect data that was encrypted using the Protect method.
The <c>optionalEntropy</c> parameter, if used during encryption, must be supplied to unencrypt the data.
</remarks>
</member>
<member name="T:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter">
<summary>
Decrypts the PKCS #1 key exchange data
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.#ctor">
<summary>
Initializes a new instance of the RSAPKCS1KeyExchangeDeformatter class.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
<summary>
Initializes a new instance of the RSAPKCS1KeyExchangeDeformatter class.
</summary>
<param name="key"></param>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
<summary>
Extracts secret information from the encrypted key exchange data.
</summary>
<param name="rgbData">The key exchange data within which the secret information is hidden</param>
<returns>The secret information derived from the key exchange data.</returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
<summary>
Sets the private key to use for decrypting the secret information.
</summary>
<param name="key">The instance of the RSA algorithm that holds the private key.</param>
</member>
<member name="P:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.Parameters">
<summary>
Gets the parameters for the PKCS #1 key exchange.
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.RNG">
<summary>
Gets or sets the random number generator algorithm to use in the creation of the key exchange.
</summary>
</member>
<member name="T:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter">
<summary>
Creates the PKCS#1 key exchange data using RSA.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.#ctor">
<summary>
Initializes a new instance of the RSAPKCS1KeyExchangeFormatter class.
</summary>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
<summary>
Initializes a new instance of the RSAPKCS1KeyExchangeFormatter class.
</summary>
<param name="key">The instance of the RSA algorithm that holds the public key</param>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
<summary>
Creates the encrypted key exchange data
</summary>
<param name="rgbData">The secret information to be passed in the key exchange</param>
<returns>The encrypted key exchange data to be sent to the intended recipient</returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
<summary>
Creates the encrypted key exchange data
</summary>
<param name="rgbData">The secret information to be passed in the key exchange</param>
<param name="symAlgType">This parameter is not used in the current version</param>
<returns>The encrypted key exchange data to be sent to the intended recipient</returns>
</member>
<member name="M:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
<summary>
Sets the public key to use for encrypting the key exchange data
</summary>
<param name="key">The instance of the RSA algorithm that holds the public key</param>
</member>
<member name="P:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.Rng">
<summary>
Gets or sets the random number generator algorithm to use in the creation of the key exchange.
</summary>
</member>
<member name="P:OpenNETCF.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.Parameters">
<summary>
Gets the parameters for the PKCS #1 key exchange
</summary>
<value>An XML string containing the parameters of the PKCS #1 key exchange operation</value>
</member>
<member name="T:OpenNETCF.Threading.EventResetMode">
<summary>
Indicates whether an <see cref="T:OpenNETCF.Threading.EventWaitHandle"/> is reset automatically or manually.
</summary>
</member>
<member name="F:OpenNETCF.Threading.EventResetMode.AutoReset">
<summary>
When signaled, the <see cref="T:OpenNETCF.Threading.EventWaitHandle"/> resets automatically after releasing a single thread.
If no threads are waiting, the EventWaitHandle remains signaled until a thread blocks, and resets after releasing the thread.
</summary>
</member>
<member name="F:OpenNETCF.Threading.EventResetMode.ManualReset">
<summary>
When signaled, the <see cref="T:OpenNETCF.Threading.EventWaitHandle"/> releases all waiting threads, and remains signaled until it is manually reset.
</summary>
</member>
<member name="T:OpenNETCF.Threading.EventWaitHandle">
<summary>
Represents a thread synchronization event.
</summary>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.OpenExisting(System.String)">
<summary>
Opens an existing named synchronization event.
</summary>
<param name="name">The name of a system event.</param>
<returns>A <see cref="T:OpenNETCF.Threading.EventWaitHandle"/> object that represents the named system event.</returns>
<exception cref="T:System.ArgumentException">name is a zero-length string.
-or-
name is longer than 260 characters.</exception>
<exception cref="T:System.ArgumentNullException">name is a null reference (Nothing in Visual Basic).</exception>
<exception cref="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException">The named system event does not exist.</exception>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.Reset">
<summary>
Sets the state of the event to nonsignaled, causing threads to block.
</summary>
<returns>true if the function succeeds; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.Set">
<summary>
Sets the state of the event to signaled, allowing one or more waiting threads to proceed.
</summary>
<returns>true if the function succeeds; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.#ctor(System.Boolean,OpenNETCF.Threading.EventResetMode)">
<summary>
Initializes a newly created <see cref="T:OpenNETCF.Threading.EventWaitHandle"/> object, specifying whether the wait
handle is initially signaled, and whether it resets automatically or manually.
</summary>
<param name="initialState">true to set the initial state to signaled, false to set it to nonsignaled.</param>
<param name="mode">An EventResetMode value that determines whether the event resets automatically or manually.</param>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.#ctor(System.Boolean,OpenNETCF.Threading.EventResetMode,System.String)">
<summary>
Initializes a newly created <see cref="T:OpenNETCF.Threading.EventWaitHandle"/> object, specifying whether the wait handle is initially signaled, whether it resets automatically or manually, and the name of a system synchronization event.
</summary>
<param name="initialState">true to set the initial state to signaled, false to set it to nonsignaled.</param>
<param name="mode">An Threading.EventResetMode value that determines whether the event resets automatically or manually.</param>
<param name="name">The name of a system-wide synchronization event.</param>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.#ctor(System.Boolean,OpenNETCF.Threading.EventResetMode,System.String,System.Boolean@)">
<summary>
Initializes a newly created <see cref="T:OpenNETCF.Threading.EventWaitHandle"/> object, specifying whether the wait handle is initially signaled, whether it resets automatically or manually, the name of a system synchronization event, and a bool variable whose value after the call indicates whether the named system event was created.
</summary>
<param name="initialState">true to set the initial state to signaled, false to set it to nonsignaled.</param>
<param name="mode">An Threading.EventResetMode value that determines whether the event resets automatically or manually.</param>
<param name="name">The name of a system-wide synchronization event.</param>
<param name="createdNew">When this method returns, contains true if the calling thread was granted initial ownership of the named system event; otherwise, false. This parameter is passed uninitialized.</param>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.WaitOne">
<summary>
When overridden in a derived class, blocks the current thread until the current <see cref="T:System.Threading.WaitHandle"/> receives a signal.
</summary>
<returns>true if the current instance receives a signal. if the current instance is never signaled, <see cref="M:OpenNETCF.Threading.EventWaitHandle.WaitOne(System.Int32,System.Boolean)"/> never returns.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.WaitOne(System.Int32,System.Boolean)">
<summary>
When overridden in a derived class, blocks the current thread until the current <see cref="T:System.Threading.WaitHandle"/> receives a signal, using 32-bit signed integer to measure the time interval and specifying whether to exit the synchronization domain before the wait.
</summary>
<param name="millisecondsTimeout">The number of milliseconds to wait, or Threading.Timeout.Infinite (-1) to wait indefinitely.</param>
<param name="exitContext">Not Supported - Just pass false.</param>
<returns>true if the current instance receives a signal; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.WaitAny(System.Threading.WaitHandle[])">
<summary>
Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to measure the time interval.
</summary>
<param name="waitHandles">A WaitHandle array containing the objects for which the current instance will wait.</param>
<returns>The array index of the object that satisfied the wait, or WaitTimeout if no object satisfied the wait and a time interval equivalent to timeout has passed.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.WaitAny(System.Threading.WaitHandle[],System.Int32,System.Boolean)">
<summary>
Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to measure the time interval.
</summary>
<param name="waitHandles">A WaitHandle array containing the objects for which the current instance will wait.</param>
<param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely</param>
<param name="exitContext">Unsupported in the Compact Framework. This parameter is for compatibility and is ignored.</param>
<returns>The array index of the object that satisfied the wait, or WaitTimeout if no object satisfied the wait and a time interval equivalent to timeout has passed.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.WaitAny(System.IntPtr[])">
<summary>
Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to measure the time interval.
</summary>
<param name="waitHandles">A WaitHandle array containing the objects for which the current instance will wait.</param>
<returns>The array index of the object that satisfied the wait, or WaitTimeout if no object satisfied the wait and a time interval equivalent to timeout has passed.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.WaitAny(System.IntPtr[],System.Int32,System.Boolean)">
<summary>
Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to measure the time interval.
</summary>
<param name="waitHandles">A WaitHandle array containing the objects for which the current instance will wait.</param>
<param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely</param>
<param name="exitContext">Unsupported in the Compact Framework. This parameter is for compatibility and is ignored.</param>
<returns>The array index of the object that satisfied the wait, or WaitTimeout if no object satisfied the wait and a time interval equivalent to timeout has passed.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.WaitOne(System.TimeSpan,System.Boolean)">
<summary>
When overridden in a derived class, blocks the current thread until the current instance receives a signal, using a <see cref="T:System.TimeSpan"/> to measure the time interval and specifying whether to exit the synchronization domain before the wait.
</summary>
<param name="timeout">A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<param name="exitContext">Not Supported - Just pass false.</param>
<returns>true if the current instance receives a signal; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.Close">
<summary>
When overridden in a derived class, releases all resources held by the current <see cref="T:System.Threading.WaitHandle"/>.
</summary>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.Dispose(System.Boolean)">
<summary>
</summary>
<param name="explicitDisposing"></param>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.Set(System.Int32)">
<summary>
Sets the state of the event to signaled, allowing one or more waiting threads to proceed.
</summary>
<param name="data">Data that can be read by the event recipient</param>
<returns>true if the function succeeds; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.Pulse">
<summary>
Provides a single operation that sets to signaled the state of the specified event object and then resets it to nonsignaled after releasing the appropriate number of waiting threads.
</summary>
<remarks>
For a manual-reset event object, all waiting threads that can be released immediately are released. The function then resets the event object's state to nonsignaled and returns.
For an auto-reset event object, the function resets the state to nonsignaled and returns after releasing a single waiting thread, even if multiple threads are waiting.
If no threads are waiting, or if no thread can be released immediately, PulseEvent simply sets the event object's state to nonsignaled and returns.
For a thread using the multiple-object wait functions to wait for all specified objects to be signaled, PulseEvent can set the event object's state to signaled and reset it to nonsignaled without causing the wait function to return. This happens if not all of the specified objects are simultaneously signaled.
</remarks>
<returns>true on success, otherwise false</returns>
</member>
<member name="M:OpenNETCF.Threading.EventWaitHandle.GetData">
<summary>
Gets the data associated (provided with a call to Set) with this event.
</summary>
<returns>The associated data</returns>
</member>
<member name="T:OpenNETCF.Threading.NamedMutex">
<summary>
A synchronization primitive than can also be used for interprocess synchronization.
</summary>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.#ctor(System.Boolean,System.String,System.Boolean@)">
<summary>
Initializes a new instance of the Mutex2 class with a Boolean value indicating whether the calling thread should have initial ownership of the mutex, a string that is the name of the mutex, and a Boolean value that, when the method returns, will indicate whether the calling thread was granted initial ownership of the mutex.
</summary>
<param name="initiallyOwned">true to give the calling thread initial ownership of the mutex; otherwise, false.</param>
<param name="name">The name of the Mutex.
If the value is a null reference (Nothing in Visual Basic), the Mutex is unnamed.</param>
<param name="createdNew">When this method returns, contains a Boolean that is true if the calling thread was granted initial ownership of the mutex; otherwise, false.
This parameter is passed uninitialized.</param>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.#ctor(System.Boolean,System.String)">
<summary>
Initializes a new instance of the Mutex2 class with a Boolean value indicating whether the calling thread should have initial ownership of the mutex, and a string that is the name of the mutex.
</summary>
<param name="initiallyOwned">true to give the calling thread initial ownership of the mutex; otherwise, false.</param>
<param name="name">The name of the Mutex.
If the value is a null reference (Nothing in Visual Basic), the Mutex is unnamed.</param>
<exception cref="T:System.ApplicationException">Failed to create mutex.</exception>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.NamedMutex"/> class with a Boolean value indicating whether the calling thread should have initial ownership of the mutex.
</summary>
<param name="initiallyOwned">true to give the calling thread initial ownership of the mutex; otherwise, false.</param>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.#ctor">
<summary>
Initializes a new instance of the Mutex2 class with default properties.
</summary>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.OpenExisting(System.String)">
<summary>
Opens an existing named mutex.
</summary>
<param name="name">The name of a system-wide named mutex object.</param>
<returns>A <see cref="T:OpenNETCF.Threading.NamedMutex"/> object that represents a named system mutex.</returns>
<remarks>The OpenExisting method attempts to open an existing named mutex.
If the system mutex does not exist, this method throws an exception instead of creating the system object.
Two calls to this method with the same value for name do not necessarily return the same <see cref="T:OpenNETCF.Threading.NamedMutex"/> object, even though they represent the same named system mutex.</remarks>
<exception cref="T:System.ArgumentException">name is a zero-length string.
-or-
name is longer than 260 characters.</exception>
<exception cref="T:System.ArgumentNullException">name is a null reference (Nothing in Visual Basic).</exception>
<exception cref="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException">The named mutex does not exist.</exception>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.ReleaseMutex">
<summary>
Releases the <see cref="T:OpenNETCF.Threading.NamedMutex"/> once.
</summary>
<exception cref="T:System.ApplicationException">The calling thread does not own the mutex.</exception>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.WaitOne">
<summary>
Blocks the current thread until the current <see cref="T:OpenNETCF.Threading.NamedMutex"/> receives a signal.
</summary>
<returns>true if the current instance receives a signal. if the current instance is never signaled, <see cref="M:OpenNETCF.Threading.NamedMutex.WaitOne"/> never returns.</returns>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.WaitOne(System.Int32,System.Boolean)">
<summary>
When overridden in a derived class, blocks the current thread until the current <see cref="T:OpenNETCF.Threading.NamedMutex"/> receives a signal, using 32-bit signed integer to measure the time interval and specifying whether to exit the synchronization domain before the wait.
</summary>
<param name="millisecondsTimeout">The number of milliseconds to wait, or Threading.Timeout.Infinite (-1) to wait indefinitely.</param>
<param name="notApplicableOnCE">Just pass false</param>
<returns>true if the current instance receives a signal; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.WaitOne(System.TimeSpan,System.Boolean)">
<summary>
When overridden in a derived class, blocks the current thread until the current instance receives a signal, using a TimeSpan to measure the time interval and specifying whether to exit the synchronization domain before the wait.
</summary>
<param name="aTs">A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<param name="notApplicableOnCE">Just pass false</param>
<returns>true if the current instance receives a signal; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.Close">
<summary>
Releases all resources held by the current <see cref="T:System.Threading.WaitHandle"/>
</summary>
</member>
<member name="M:OpenNETCF.Threading.NamedMutex.Dispose(System.Boolean)">
<summary>
</summary>
<param name="explicitDisposing"></param>
</member>
<member name="T:OpenNETCF.Threading.NativeMethods">
<summary>
Contains native API calls for Threading related functionality.
</summary>
</member>
<member name="T:OpenNETCF.Threading.SafeThreadHandle">
<summary>
This class is used a wrapper for the handle owned by a <c>ThreadEx</c> class
</summary>
</member>
<member name="T:OpenNETCF.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid">
<summary>
Provides common functionality that supports safe Win32 handle types.
</summary>
</member>
<member name="M:OpenNETCF.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid"/> class.
</summary>
<param name="ownsHandle">true to reliably release the handle during the finalization phase; otherwise, false (not recommended).</param>
</member>
<member name="P:OpenNETCF.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid.IsInvalid">
<summary>
Gets a value indicating whether a handle is invalid.
</summary>
</member>
<member name="M:OpenNETCF.Threading.SafeThreadHandle.#ctor(OpenNETCF.Threading.SafeThreadHandle.CreateHandleDelegate)">
<summary>
Constructor for a SafeThreadHandle
</summary>
<param name="createHandleFunction"></param>
</member>
<member name="M:OpenNETCF.Threading.SafeThreadHandle.Open">
<summary>
Opens the instance of the SafeHandle by calling the <c>CreateHandleDelegate</c>
</summary>
</member>
<member name="T:OpenNETCF.Threading.Semaphore">
<summary>
Limits the number of threads that can access a resource, or a particular type of resource, concurrently.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.#ctor(System.Int32,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.Semaphore"/> class, specifying the maximum number of concurrent entries, and optionally reserving some entries for the calling thread.
</summary>
<param name="initialCount"> The initial number of requests for the semaphore that can be satisfied concurrently.</param>
<param name="maximumCount">The maximum number of requests for the semaphore that can be satisfied concurrently.</param>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.#ctor(System.Int32,System.Int32,System.String)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.Semaphore"/> class, specifying the maximum number of concurrent entries, optionally reserving some entries for the calling thread, and optionally specifying the name of a system semaphore object.
</summary>
<param name="initialCount"> The initial number of requests for the semaphore that can be satisfied concurrently.</param>
<param name="maximumCount">The maximum number of requests for the semaphore that can be satisfied concurrently.</param>
<param name="name">The name of a system-wide named semaphore object.</param>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.#ctor(System.Int32,System.Int32,System.String,System.Boolean@)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.Semaphore"/> class, specifying the maximum number of concurrent entries, optionally reserving some entries for the calling thread, optionally specifying the name of a system semaphore object, and specifying an out parameter that indicates whether a new system object was created.
</summary>
<param name="initialCount"> The initial number of requests for the semaphore that can be satisfied concurrently.</param>
<param name="maximumCount">The maximum number of requests for the semaphore that can be satisfied concurrently.</param>
<param name="name">The name of a system-wide named semaphore object.</param>
<param name="createdNew"> When this method returns, contains true if a new system object was created; otherwise false. This parameter is passed uninitialized.</param>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.OpenExisting(System.String)">
<summary>
Opens an existing named semaphore.
</summary>
<param name="name">The name of a system semaphore.</param>
<returns>A <see cref="T:OpenNETCF.Threading.Semaphore"/> object that represents a named system semaphore.</returns>
<remarks>The OpenExisting method attempts to open only existing named semaphores.
If a system semaphore with the specified name does not exist, this method throws an exception instead of creating the system semaphore.
It is possible to create multiple <see cref="T:OpenNETCF.Threading.Semaphore"/> objects that represent the same named system semaphore.
Two calls to this method with the same value for name do not necessarily return the same <see cref="T:OpenNETCF.Threading.Semaphore"/> object, even though the objects returned both represent the same named system semaphore.</remarks>
<exception cref="T:System.ArgumentException">name is a zero-length string.
-or-
name is longer than 260 characters.</exception>
<exception cref="T:System.ArgumentNullException">name is a null reference (Nothing in Visual Basic).</exception>
<exception cref="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException">The named semaphore does not exist.</exception>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.Release">
<summary>
Exits the semaphore, returning the previous count.
</summary>
<returns>An integer value representing the count on the semaphore before the Overload:Semaphore.Release method was called.</returns>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.Release(System.Int32)">
<summary>
Exits the semaphore, returning the previous count.
</summary>
<param name="releaseCount">releaseCount: The number of times to exit the semaphore.</param>
<returns>An integer value representing the count on the semaphore before the Overload:Semaphore.Release method was called.</returns>
<exception cref="T:System.ArgumentOutOfRangeException">releaseCount is less than 1.</exception>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.WaitOne">
<summary>
When overridden in a derived class, blocks the current thread until the current Threading.WaitHandle receives a signal.
</summary>
<returns>true if the current instance receives a signal. if the current instance is never signaled, WaitHandle.WaitOne() never returns.</returns>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.WaitOne(System.Int32,System.Boolean)">
<summary>
When overridden in a derived class, blocks the current thread until the current Threading.WaitHandle receives a signal, using 32-bit signed integer to measure the time interval and specifying whether to exit the synchronization domain before the wait.
</summary>
<param name="millisecondsTimeout">The number of milliseconds to wait, or Threading.Timeout.Infinite (-1) to wait indefinitely.</param>
<param name="notApplicableOnCE">Just pass false</param>
<returns>true if the current instance receives a signal; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.WaitOne(System.TimeSpan,System.Boolean)">
<summary>
When overridden in a derived class, blocks the current thread until the current instance receives a signal, using a TimeSpan to measure the time interval and specifying whether to exit the synchronization domain before the wait.
</summary>
<param name="aTs">A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
<param name="notApplicableOnCE">Just pass false</param>
<returns>true if the current instance receives a signal; otherwise, false.</returns>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.Close">
<summary>
Releases all resources held by the current <see cref="T:System.Threading.WaitHandle"/>
</summary>
</member>
<member name="M:OpenNETCF.Threading.Semaphore.Dispose(System.Boolean)">
<summary>
</summary>
<param name="explicitDisposing"></param>
</member>
<member name="T:OpenNETCF.Threading.SemaphoreFullException">
<summary>
The exception that is thrown when the <see cref="M:OpenNETCF.Threading.Semaphore.Release"/> method is called on a semaphore whose count is already at the maximum.
</summary>
<remarks>The count on a semaphore is decremented each time a thread enters the semaphore, and incremented when a thread releases the semaphore.
When the count is zero, subsequent requests block until other threads release the semaphore.
When all threads have released the semaphore, the count is at the maximum value specified when the semaphore was created.
If a programming error causes a thread to call the <see cref="M:OpenNETCF.Threading.Semaphore.Release"/> method at this point, a <see cref="T:OpenNETCF.Threading.SemaphoreFullException"/> is thrown.</remarks>
</member>
<member name="M:OpenNETCF.Threading.SemaphoreFullException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.SemaphoreFullException"/> class with default values.
</summary>
</member>
<member name="M:OpenNETCF.Threading.SemaphoreFullException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.SemaphoreFullException"/> class with a specified error message.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:OpenNETCF.Threading.SemaphoreFullException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.SemaphoreFullException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.
If the innerException parameter is not a null reference (Nothing in Visual Basic), the current exception is raised in a catch block that handles the inner exception.</param>
</member>
<member name="T:OpenNETCF.Threading.Thread2">
<summary>
Creates and controls a thread, sets its priority, and gets its status.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Sleep(System.Int32)">
<summary>
Blocks the current thread for the specified number of milliseconds.
</summary>
<param name="millisecondsTimeout">Amount of time to block</param>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Sleep(System.TimeSpan)">
<summary>
Blocks the current thread for the specified span of time.
</summary>
<param name="timeout">Amount of time to block</param>
</member>
<member name="M:OpenNETCF.Threading.Thread2.AllocateDataSlot">
<summary>
Allocates an unnamed data slot on all the threads.
</summary>
<returns>A <see cref="T:System.LocalDataStoreSlot"/>.</returns>
</member>
<member name="M:OpenNETCF.Threading.Thread2.AllocateNamedDataSlot(System.String)">
<summary>
Allocates a named data slot on all threads.
</summary>
<param name="name">The name of the data slot to be allocated.</param>
<returns>A <see cref="T:System.LocalDataStoreSlot"/>.</returns>
</member>
<member name="M:OpenNETCF.Threading.Thread2.FreeNamedDataSlot(System.String)">
<summary>
Eliminates the association between a name and a slot, for all threads in the process.
</summary>
<param name="name">The name of the data slot to be freed.</param>
</member>
<member name="M:OpenNETCF.Threading.Thread2.GetData(System.LocalDataStoreSlot)">
<summary>
Retrieves the value from the specified slot on the current thread.
</summary>
<param name="slot">The <see cref="T:System.LocalDataStoreSlot"/> from which to get the value.</param>
<returns>The value retrieved</returns>
</member>
<member name="M:OpenNETCF.Threading.Thread2.GetNamedDataSlot(System.String)">
<summary>
Looks up a named data slot.
</summary>
<param name="name">The name of the local data slot.</param>
<returns>A <see cref="T:System.LocalDataStoreSlot"/> allocated for this thread.</returns>
</member>
<member name="M:OpenNETCF.Threading.Thread2.SetData(System.LocalDataStoreSlot,System.Object)">
<summary>
Sets the data in the specified slot on the currently running thread, for that thread's current domain.
</summary>
<param name="slot">The <see cref="T:System.LocalDataStoreSlot"/> in which to set the value.</param>
<param name="data">The value to be set.</param>
</member>
<member name="M:OpenNETCF.Threading.Thread2.op_Implicit(OpenNETCF.Threading.Thread2)~System.Threading.Thread">
<summary>
Returns a <see cref="T:System.Threading.Thread"/> equivalent for the Thread2 instance
</summary>
<param name="thread2">The Thread2 to convert</param>
<returns>A <see cref="T:System.Threading.Thread"/></returns>
</member>
<member name="M:OpenNETCF.Threading.Thread2.#ctor(System.Threading.ThreadStart)">
<summary>
Initializes a new instance of the Thread2 class.
</summary>
<param name="start">A <see cref="T:System.Threading.ThreadStart"/> delegate that references the methods to be invoked when this thread begins executing.</param>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Start">
<summary>
Causes the operating system to change the state of the current instance to <see cref="F:OpenNETCF.Threading.ThreadState.Running"/>.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Suspend">
<summary>
Either suspends the thread, or if the thread is already suspended, has no effect.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Resume">
<summary>
Resumes a thread that has been suspended.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Abort(System.Object)">
<summary>
Raises a <see cref="T:System.Threading.ThreadAbortException"/> in the thread on which it is invoked, to begin the process of terminating the thread while also providing exception information about the thread termination. Calling this method usually terminates the thread.
</summary>
<param name="stateInfo"></param>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Abort">
<summary>
Raises a <see cref="T:System.Threading.ThreadAbortException"/> in the thread on which it is invoked, to begin the process of terminating the thread while also providing exception information about the thread termination. Calling this method usually terminates the thread.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Join">
<summary>
Blocks the calling thread until a thread terminates or the specified time elapses.
</summary>
<returns><b>true</b> if the thread has terminated;</returns>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Join(System.TimeSpan)">
<summary>
Blocks the calling thread until a thread terminates or the specified time elapses.
</summary>
<param name="timeout"></param>
<returns><b>true</b> if the thread has terminated; <b>false</b> if the thread has not terminated after the amount of time specified by the <i>timeout</i> parameter has elapsed.</returns>
</member>
<member name="M:OpenNETCF.Threading.Thread2.Join(System.Int32)">
<summary>
Blocks the calling thread until a thread terminates or the specified time elapses.
</summary>
<param name="millisecondsTimeout">The number of milliseconds to wait for the thread to terminate.</param>
<returns><b>true</b> if the thread has terminated; <b>false</b> if the thread has not terminated after the amount of time specified by the <i>millisecondsTimeout</i> parameter has elapsed.</returns>
</member>
<member name="P:OpenNETCF.Threading.Thread2.Name">
<summary>
Gets or sets the name of the thread.
</summary>
<value>A string containing the name of the thread, or a null reference (Nothing in Visual Basic) if no name was set.</value>
</member>
<member name="P:OpenNETCF.Threading.Thread2.ManagedThreadId">
<summary>
Gets a unique identifier for the current managed thread
</summary>
</member>
<member name="P:OpenNETCF.Threading.Thread2.IsBackground">
<summary>
Gets or sets a value indicating whether or not a thread is a background thread
</summary>
</member>
<member name="P:OpenNETCF.Threading.Thread2.IsAlive">
<summary>
Gets a value indicating the execution status of the current thread.
</summary>
<value><b>true</b> if this thread has been started and has not terminated normally or aborted; otherwise, <b>false</b>.</value>
</member>
<member name="P:OpenNETCF.Threading.Thread2.Priority">
<summary>
Gets or sets a value indicating the scheduling priority of a thread.
</summary>
<value>One of the <see cref="T:System.Threading.ThreadPriority"/> values. The default value is Normal.</value>
</member>
<member name="P:OpenNETCF.Threading.Thread2.RealTimeQuantum">
<summary>
Gets or sets a Thread2's quantum in milliseconds. Use zero for "run to completion". Unless modified by the OEM, the system default is 100ms
</summary>
<remarks>
<b>WARNING:</b> Adjusting a thread quantum with this property can lead to application and even device deadlock or unpredictability. Use only with caution and strong knowledge of the target system.
</remarks>
</member>
<member name="P:OpenNETCF.Threading.Thread2.RealTimePriority">
<summary>
Gets or sets a priority value outside of application priority space
</summary>
<remarks>
<b>WARNING:</b> Adjusting a thread priority with this property can lead to application and even device deadlock or unpredictability. Use only with caution and strong knowledge of the target system. Do <u>not</u> use this Property for normal Priority settings.
</remarks>
</member>
<member name="P:OpenNETCF.Threading.Thread2.State">
<summary>
Returns the Thread2 instance's current <see cref="T:OpenNETCF.Threading.ThreadState"/>
</summary>
</member>
<member name="T:OpenNETCF.Threading.ThreadState">
<summary>
Specifies the execution states of a <see cref="T:OpenNETCF.Threading.Thread2"/>.
</summary>
</member>
<member name="F:OpenNETCF.Threading.ThreadState.Unstarted">
<summary>
Thread is unstarted.
</summary>
</member>
<member name="F:OpenNETCF.Threading.ThreadState.Running">
<summary>
Thread is running.
</summary>
</member>
<member name="F:OpenNETCF.Threading.ThreadState.WaitSleepJoin">
<summary>
Thread is waiting in a Join.
</summary>
</member>
<member name="F:OpenNETCF.Threading.ThreadState.SuspendRequested">
<summary>
Suspend has been called but not acted upon.
</summary>
</member>
<member name="F:OpenNETCF.Threading.ThreadState.Suspended">
<summary>
Thread is suspended.
</summary>
</member>
<member name="F:OpenNETCF.Threading.ThreadState.Stopped">
<summary>
Thread has either terminated or been Aborted.
</summary>
</member>
<member name="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException">
<summary>
The exception that is thrown when an attempt is made to open a system mutex or semaphore that does not exist.
</summary>
<remarks>Instances of the Mutex class and the Semaphore class can represent named system synchronization objects.
When you use the <see cref="M:OpenNETCF.Threading.NamedMutex.OpenExisting(System.String)"/> method or the <see cref="M:OpenNETCF.Threading.Semaphore.OpenExisting(System.String)"/> method to open a named system object that does not exist, a <see cref="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException"/> is thrown.</remarks>
</member>
<member name="M:OpenNETCF.Threading.WaitHandleCannotBeOpenedException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException"/> class with default values.
</summary>
</member>
<member name="M:OpenNETCF.Threading.WaitHandleCannotBeOpenedException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException"/> class with a specified error message.
</summary>
<param name="message">The error message that explains the reason for the exception</param>
</member>
<member name="M:OpenNETCF.Threading.WaitHandleCannotBeOpenedException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.WaitHandleCannotBeOpenedException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">The error message that explains the reason for the exception</param>
<param name="innerException">The exception that is the cause of the current exception.
If the innerException parameter is not a null reference (Nothing in Visual Basic), the current exception is raised in a catch block that handles the inner exception.</param>
</member>
<member name="T:OpenNETCF.Timers.ElapsedEventArgs">
<summary>
Provides data for the Elapsed event.
</summary>
</member>
<member name="P:OpenNETCF.Timers.ElapsedEventArgs.SignalTime">
<summary>
Gets the time the Elapsed event was raised.
</summary>
</member>
<member name="T:OpenNETCF.Timers.ElapsedEventHandler">
<summary>
Represents the method that will handle the Elapsed event of a Timer.
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:OpenNETCF.Timers.Timer2">
<summary>
This precirsion timer can be used to generate recurring events in an application. It is dependent on platform support of the Multimedia Timer, which is <b>not</b> in Windows mobile
</summary>
</member>
<member name="M:OpenNETCF.Timers.Timer2.TimerCallback">
<summary>
When overridden and UseCallback is true, this method will run when the timer Interval expires
</summary>
</member>
<member name="M:OpenNETCF.Timers.Timer2.#ctor">
<summary>
Initializes a new instance of the Timer class with an interval of 100ms and a resolution of 10ms
</summary>
</member>
<member name="M:OpenNETCF.Timers.Timer2.#ctor(System.Int32)">
<summary>
Initializes a new instance of the Timer class with a resolution of 10ms
</summary>
<param name="interval">The Interval for the Timer</param>
</member>
<member name="M:OpenNETCF.Timers.Timer2.#ctor(System.Int32,System.Int32)">
<summary>
Initializes a new instance of the Timer class
</summary>
<param name="interval">The Interval for the Timer</param>
<param name="resolution">The resolution for the Timer</param>
</member>
<member name="M:OpenNETCF.Timers.Timer2.Start">
<summary>
Starts raising the Elapsed event by setting Enabled to true
</summary>
<remarks>
If Enabled is set to true and AutoReset is set to false, the Timer raises the Elapsed event only once, the first time he interval elapses. When Enabled is true and AutoReset is true, the Timer continues to raise the Elapsed event on the specified interval.
You can also start timing by setting Enabled to true.
<blockquote><b>Note</b>If AutoReset is false, the Start method must be called in order to start the count again.</blockquote>
</remarks>
</member>
<member name="M:OpenNETCF.Timers.Timer2.Stop">
<summary>
Stops raising the Elapsed event by setting Enabled to false.
</summary>
</member>
<member name="M:OpenNETCF.Timers.Timer2.Dispose(System.Boolean)">
<summary>
This member overrides Component.Dispose.
</summary>
<param name="disposing"></param>
</member>
<member name="E:OpenNETCF.Timers.Timer2.Elapsed">
<summary>
Occurs when the interval elapses.
</summary>
</member>
<member name="P:OpenNETCF.Timers.Timer2.UseCallback">
<summary>
When set, the overridden TimerCallback will be executed
</summary>
<remarks>if this is set, the TimerCallback <b>must</b> be overridden</remarks>
</member>
<member name="P:OpenNETCF.Timers.Timer2.AutoReset">
<summary>
Gets or sets a value indicating whether the Timer should raise the Elapsed event each time the specified interval elapses or only after the first time it elapses
</summary>
</member>
<member name="P:OpenNETCF.Timers.Timer2.Enabled">
<summary>
Gets or sets a value indicating whether the Timer should raise the Elapsed event.
</summary>
</member>
<member name="P:OpenNETCF.Timers.Timer2.Interval">
<summary>
Gets or sets the interval at which to either raise the Elapsed event or run the TimerCallback method
</summary>
<remarks>Default Interval is 100ms</remarks>
</member>
<member name="P:OpenNETCF.Timers.Timer2.Resolution">
<summary>
Resolution of the timer event, in milliseconds. The resolution increases with smaller values; a resolution of zero indicates periodic events should occur with the greatest possible accuracy. To reduce system overhead, however, you should use the maximum value appropriate for your application
</summary>
<remarks>Default value = 10ms</remarks>
</member>
<member name="P:OpenNETCF.Timers.Timer2.SynchronizingObject">
<summary>
Gets or sets the object used to marshal event-handler calls that are issued when an interval has elapsed
</summary>
<remarks>
When SynchronizingObject is a null reference (Nothing in Visual Basic), the method that handles the Elapsed event is called on a thread from the system-thread pool. For more information on system-thread pools, see ThreadPool.
When the Elapsed event is handled by a visual Windows Forms component, such as a button, accessing the component through the system-thread pool might result in an exception or just might not work. Avoid this effect by setting SynchronizingObject to a Windows Forms component, which causes the method that handles the Elapsed event to be called on the same thread that the component was created on.
If the Timer is used inside Visual Studio in a Windows Forms designer, SynchronizingObject is automatically set to the control that contains the Timer. For example, if you place a Timer on a designer for Form1 (which inherits from Form), the SynchronizingObject property of Timer is set to the instance of Form1.
</remarks>
</member>
<member name="T:OpenNETCF.ToolHelp.ProcessEntry">
<summary>
Wrapper around the ToolHelp ProcessEntry information
</summary>
<remarks>
This class requires the toolhelp32.dll
</remarks>
</member>
<member name="M:OpenNETCF.ToolHelp.ProcessEntry.ToString">
<summary>
Get the short name of the current process
</summary>
<returns>The current process name</returns>
</member>
<member name="M:OpenNETCF.ToolHelp.ProcessEntry.Kill">
<summary>
Kill the Process
</summary>
</member>
<member name="M:OpenNETCF.ToolHelp.ProcessEntry.GetProcesses">
<summary>
Rerieves an array of all running processes
</summary>
<returns></returns>
</member>
<member name="P:OpenNETCF.ToolHelp.ProcessEntry.BaseAddress">
<summary>
Base address for the process
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ProcessEntry.ThreadCount">
<summary>
Number of execution threads started by the process.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ProcessEntry.ProcessID">
<summary>
Identifier of the process. The contents of this member can be used by Win32 API elements.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ProcessEntry.ExeFile">
<summary>
Null-terminated string that contains the path and file name of the executable file for the process.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.PROCESSENTRY32.ProcessID">
<summary>
Identifier of the process. The contents of this member can be used by Win32 API elements.
</summary>
</member>
<member name="T:OpenNETCF.ToolHelp.ThreadEntry">
<summary>
Wrapper around the ToolHelp ProcessEntry information
</summary>
<remarks>
This class requires the toolhelp32.dll
</remarks>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.ToString">
<summary>
Get the thread ID
</summary>
<returns>The current Thread ID</returns>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.Terminate">
<summary>
Terminates the currently referenced thread (based on its Thread ID)
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.GetThreads">
<summary>
Retrieves an array of all running threads
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.GetThreads(System.UInt32)">
<summary>
Retrieves an array of all running threads for a specified process
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.Suspend">
<summary>
Either suspends the thread, or if the thread is already suspended, has no effect.
</summary>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.Resume">
<summary>
Resumes a thread that has been suspended.
</summary>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.SetPriority(System.Threading.ThreadPriority)">
<summary>
Sets a value indicating the scheduling priority of a thread.
</summary>
<param name="newPriority">One of the <see cref="T:System.Threading.ThreadPriority"/> values.</param>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.SetRealtimePriority(System.Int32)">
<summary>
Gets or sets a priority value outside of application priority space
</summary>
<param name="newPriority">The new Priority, from 0 to 255</param>
<remarks>
<b>WARNING:</b> Adjusting a thread priority with this property can lead to application and even device deadlock or unpredictability. Use only with caution and strong knowledge of the target system. Do <u>not</u> use this Property for normal Priority settings.
</remarks>
</member>
<member name="M:OpenNETCF.ToolHelp.ThreadEntry.SetRealtimeQuantum(System.Int32)">
<summary>
Gets or sets a the thread's quantum in milliseconds. Use zero for "run to completion". Unless modified by the OEM, the system default is 100ms
</summary>
<param name="newQuantum">The new thread quantum</param>
<remarks>
<b>WARNING:</b> Adjusting a thread quantum with this property can lead to application and even device deadlock or unpredictability. Use only with caution and strong knowledge of the target system.
</remarks>
</member>
<member name="P:OpenNETCF.ToolHelp.ThreadEntry.Usage">
<summary>
Number of references to the thread. A thread exists as long as its usage count is nonzero. As soon as its usage count becomes zero, a thread terminates.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ThreadEntry.ThreadID">
<summary>
Identifier of the thread. This identifier is compatible with the thread identifier returned by the CreateProcess function.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ThreadEntry.OwnerProcessID">
<summary>
Identifier of the process that created the thread. The contents of this member can be used by Win32 API elements.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ThreadEntry.BasePriority">
<summary>
Initial priority level assigned to a thread, which can be a value from 0 to 255.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ThreadEntry.DeltaPriority">
<summary>
Change in the priority level of a thread. This value is a signed delta from the base priority level assigned to the thread.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ThreadEntry.CurrentProcessID">
<summary>
Process identifier where the thread is executing.
</summary>
</member>
<member name="T:OpenNETCF.TrigonometricLUT">
<summary>
Trigonometric Look-up Table.
</summary>
</member>
<member name="M:OpenNETCF.NativeMethods.GetProcAddress(System.IntPtr,System.String)">
<summary>
This function returns the address of the specified exported DLL function.
</summary>
<param name="hModule">Handle to the DLL module that contains the function.
The <see cref="M:OpenNETCF.NativeMethods.LoadLibrary(System.String)"/> or <see cref="M:OpenNETCF.NativeMethods.GetModuleHandle(System.String)"/> function returns this handle.</param>
<param name="procName">string containing the function name, or specifies the function's ordinal value.
If this parameter is an ordinal value, it must be in the low-order word; the high-order word must be zero.</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.NativeMethods.GetModuleHandle(System.String)">
<summary>
This function returns a module handle for the specified module if the file is mapped into the address space of the calling process.
</summary>
<param name="moduleName">string that contains the name of the module, which must be a DLL file.</param>
<returns>A handle to the specified module indicates success. IntPtr.Zero indicates failure.</returns>
</member>
<member name="M:OpenNETCF.NativeMethods.IsBadCodePtr(System.IntPtr)">
<summary>
This function determines whether the calling process has read access to the memory at the specified address.
</summary>
<param name="fn">Pointer to an address in memory.</param>
<returns>Zero indicates that the calling process has read access to the specified memory.
Nonzero indicates that the calling process does not have read access to the specified memory.</returns>
</member>
<member name="T:OpenNETCF.NativeMethods.ProcessorArchitecture">
<summary>
Processor Architecture values (GetSystemInfo)
</summary>
<seealso cref="M:OpenNETCF.WinAPI.Core.GetSystemInfo(OpenNETCF.WinAPI.Core.SYSTEM_INFO)"/>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.Intel">
<summary>
Processor is Intel x86 based.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.MIPS">
<summary>
Processor is MIPS based.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.Alpha">
<summary>
Processor is Alpha based.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.PPC">
<summary>
Processor is Power PC based.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.SHX">
<summary>
Processor is SH3, SH4 etc.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.ARM">
<summary>
Processor is ARM based.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.IA64">
<summary>
Processor is Intel 64bit.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.Alpha64">
<summary>
Processor is Alpha 64bit.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorArchitecture.Unknown">
<summary>
Unknown processor architecture.
</summary>
</member>
<member name="T:OpenNETCF.NativeMethods.ProcessorType">
<summary>
Processor type values (GetSystemInfo)
</summary>
<seealso cref="M:OpenNETCF.Win32.Core.GetSystemInfo(OpenNETCF.Win32.Core.SYSTEM_INFO)"/>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Intel_386">
<summary>
Processor is Intel 80386.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Intel_486">
<summary>
Processor is Intel 80486.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Intel_Pentium">
<summary>
Processor is Intel Pentium (80586).
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Intel_PentiumII">
<summary>
Processor is Intel Pentium II (80686).
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Intel_IA64">
<summary>
Processor is Intel 64bit (IA64).
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.MIPS_R4000">
<summary>
Processor is MIPS R4000.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Alpha_21064">
<summary>
Processor is Alpha 21064.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.PPC_403">
<summary>
Processor is Power PC 403.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.PPC_601">
<summary>
Processor is Power PC 601.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.PPC_603">
<summary>
Processor is Power PC 603.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.PPC_604">
<summary>
Processor is Power PC 604.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.PPC_620">
<summary>
Processor is Power PC 620.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Hitachi_SH3">
<summary>
Processor is Hitachi SH3.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Hitachi_SH3E">
<summary>
Processor is Hitachi SH3E.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Hitachi_SH4">
<summary>
Processor is Hitachi SH4.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.Motorola_821">
<summary>
Processor is Motorola 821.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.SHx_SH3">
<summary>
Processor is SH3.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.SHx_SH4">
<summary>
Processor is SH4.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.StrongARM">
<summary>
Processor is StrongARM.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.ARM720">
<summary>
Processor is ARM 720.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.ARM820">
<summary>
Processor is ARM 820.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.ARM920">
<summary>
Processor is ARM 920.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.ProcessorType.ARM_7TDMI">
<summary>
Processor is ARM 7 TDMI.
</summary>
</member>
<member name="T:OpenNETCF.NativeMethods.SystemInfo">
<summary>
This structure contains information about the current computer system. This includes the processor type, page size, memory addresses, and OEM identifier.
</summary>
<seealso cref="M:OpenNETCF.NativeMethods.GetSystemInfo(OpenNETCF.NativeMethods.SystemInfo@)"/>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.ProcessorArchitecture">
<summary>
The system's processor architecture.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.PageSize">
<summary>
The page size and the granularity of page protection and commitment.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.MinimumApplicationAddress">
<summary>
Pointer to the lowest memory address accessible to applications and dynamic-link libraries (DLLs).
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.MaximumApplicationAddress">
<summary>
Pointer to the highest memory address accessible to applications and DLLs.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.ActiveProcessorMask">
<summary>
Specifies a mask representing the set of processors configured into the system. Bit 0 is processor 0; bit 31 is processor 31.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.NumberOfProcessors">
<summary>
Specifies the number of processors in the system.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.ProcessorType">
<summary>
Specifies the type of processor in the system.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.AllocationGranularity">
<summary>
Specifies the granularity with which virtual memory is allocated.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.ProcessorLevel">
<summary>
Specifies the system’s architecture-dependent processor level.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.SystemInfo.ProcessorRevision">
<summary>
Specifies an architecture-dependent processor revision.
</summary>
</member>
<member name="T:OpenNETCF.NativeMethods.MemoryStatus">
<summary>
This structure contains information about current memory availability. The GlobalMemoryStatus function uses this structure.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.MemoryStatus.MemoryLoad">
<summary>
Specifies a number between 0 and 100 that gives a general idea of current memory utilization, in which 0 indicates no memory use and 100 indicates full memory use.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.MemoryStatus.TotalPhysical">
<summary>
Indicates the total number of bytes of physical memory.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.MemoryStatus.AvailablePhysical">
<summary>
Indicates the number of bytes of physical memory available.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.MemoryStatus.TotalPageFile">
<summary>
Indicates the total number of bytes that can be stored in the paging file. Note that this number does not represent the actual physical size of the paging file on disk.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.MemoryStatus.AvailablePageFile">
<summary>
Indicates the number of bytes available in the paging file.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.MemoryStatus.TotalVirtual">
<summary>
Indicates the total number of bytes that can be described in the user mode portion of the virtual address space of the calling process.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.MemoryStatus.AvailableVirtual">
<summary>
Indicates the number of bytes of unreserved and uncommitted memory in the user mode portion of the virtual address space of the calling process.
</summary>
</member>
<member name="T:OpenNETCF.NativeMethods.FormatMessageFlags">
<summary>
Specifies aspects of the formatting process and how to interpret the lpSource parameter.
</summary>
<remarks>The low-order byte of dwFlags specifies how the function handles line breaks in the output buffer.
The low-order byte can also specify the maximum width of a formatted output line.</remarks>
</member>
<member name="F:OpenNETCF.NativeMethods.FormatMessageFlags.AllocateBuffer">
<summary>
The function allocates a buffer large enough to hold the formatted message, and places a pointer to the allocated buffer at the address specified by lpBuffer.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.FormatMessageFlags.IgnoreInserts">
<summary>
Insert sequences in the message definition are to be ignored and passed through to the output buffer unchanged.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.FormatMessageFlags.FromString">
<summary>
Specifies that lpSource is a pointer to a null-terminated message definition.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.FormatMessageFlags.FromHModule">
<summary>
Specifies that lpSource is a module handle containing the message-table resource(s) to search.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.FormatMessageFlags.FromSystem">
<summary>
Specifies that the function should search the system message-table resource(s) for the requested message.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.FormatMessageFlags.ArgumentArray">
<summary>
Specifies that the Arguments parameter is not a va_list structure, but instead is just a pointer to an array of 32-bit values that represent the arguments.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.FormatMessageFlags.MaxWidthMask">
<summary>
Use the <b>MaxWidthMask</b> constant and bitwise Boolean operations to set and retrieve this maximum width value.
</summary>
</member>
<member name="T:OpenNETCF.NativeMethods.KeyStateFlags">
<summary>
KeyStateFlags for Keyboard methods
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.Toggled">
<summary>
Key is toggled.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.AsyncDown">
<summary>
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.PrevDown">
<summary>
Key was previously down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.Down">
<summary>
Key is currently down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.AnyCtrl">
<summary>
Left or right CTRL key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.AnyShift">
<summary>
Left or right SHIFT key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.AnyAlt">
<summary>
Left or right ALT key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.Capital">
<summary>
VK_CAPITAL is toggled.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.LeftCtrl">
<summary>
Left CTRL key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.LeftShift">
<summary>
Left SHIFT key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.LeftAlt">
<summary>
Left ALT key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.LeftWin">
<summary>
Left Windows logo key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.RightCtrl">
<summary>
Right CTRL key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.RightShift">
<summary>
Right SHIFT key is down
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.RightAlt">
<summary>
Right ALT key is down
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.RightWin">
<summary>
Right Windows logo key is down.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.Dead">
<summary>
Corresponding character is dead character.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.NoCharacter">
<summary>
No characters in pCharacterBuffer to translate.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.Language1">
<summary>
Use for language specific shifts.
</summary>
</member>
<member name="F:OpenNETCF.NativeMethods.KeyStateFlags.NumLock">
<summary>
NumLock toggled state.
</summary>
</member>
<member name="T:OpenNETCF.Win32.RegistryHelper">
<summary>
Contains methods for working with the system registry.
</summary>
</member>
<member name="M:OpenNETCF.Win32.RegistryHelper.SaveRamBasedRegistry(System.String)">
<summary>
This function saves a copy of the current Windows CE RAM–based registry to a specified file.
</summary>
<param name="destinationPath">Specifies the name of the file to which the registry is saved</param>
</member>
<member name="M:OpenNETCF.Win32.RegistryHelper.RestoreRamBasedRegistry(System.String)">
<summary>
This function putrs the OS in a state that it will load the specified registry on the next boot.
</summary>
<param name="sourcePath">Path to the source registry file generated by a call to <see cref="M:OpenNETCF.Win32.RegistryHelper.SaveRamBasedRegistry(System.String)"/></param>
<remarks>The device <b>will</b> be soft reset when this overload of the function is called</remarks>
</member>
<member name="M:OpenNETCF.Win32.RegistryHelper.RestoreRamBasedRegistry(System.String,System.Boolean)">
<summary>
This function putrs the OS in a state that it will load the specified registry on the next boot.
</summary>
<param name="sourcePath">Path to the source registry file generated by a call to <see cref="M:OpenNETCF.Win32.RegistryHelper.SaveRamBasedRegistry(System.String)"/></param>
<param name="performReset">If true, the device will soft reset when the method is called to complete the update</param>
<remarks>The device *must* be soft reset for the registry to actually be restored</remarks>
</member>
<member name="M:OpenNETCF.Win32.RegistryHelper.SaveHiveBasedKey(Microsoft.Win32.RegistryKey,System.String)">
<summary>
This function saves the specified key and all of its subkeys and values to a new file. If the specified key is not a predefined ROOT, it backs up to the ROOT of the keyToSave and saves there.
</summary>
<param name="keyToSave">Specifies a handle to the key where the save operation is to begin, or any of the following predefined reserved handle values:
<list type="Root Keys">
<item><see cref="F:Microsoft.Win32.Registry.LocalMachine"/></item>
<item><see cref="F:Microsoft.Win32.Registry.CurrentUser"/></item>
<item><see cref="F:Microsoft.Win32.Registry.ClassesRoot"/></item>
<item><see cref="F:Microsoft.Win32.Registry.Users"/></item>
</list>
</param>
<param name="destinationPath">Specifies the name of the file to which the registry key will be saved</param>
</member>
<member name="M:OpenNETCF.Win32.RegistryHelper.RestoreHiveBasedKey(System.String)">
<summary>
This function replaces the file backing a registry key and all its subkeys with another file, so that when the OS is next started, the key and subkeys will have the values stored in the new file.
</summary>
<param name="sourcePath">Path to the source registry file generated by a call to <see cref="M:OpenNETCF.Win32.RegistryHelper.SaveRamBasedRegistry(System.String)"/></param>
<remarks>The device <b>will</b> be soft reset when this overload of the function is called</remarks>
</member>
<member name="M:OpenNETCF.Win32.RegistryHelper.RestoreHiveBasedKey(System.String,System.Boolean)">
<summary>
This function replaces the file backing a registry key and all its subkeys with another file, so that when the OS is next started, the key and subkeys will have the values stored in the new file.
</summary>
<param name="sourcePath">Path to the source registry file generated by a call to <see cref="M:OpenNETCF.Win32.RegistryHelper.SaveRamBasedRegistry(System.String)"/></param>
<param name="performReset">If true, the device will soft reset when the method is called to complete the update</param>
<remarks>The device *must* be soft reset for the registry to actually be restored</remarks>
</member>
<member name="M:OpenNETCF.Win32.RegistryHelper.CreateVolatileSubKey(Microsoft.Win32.RegistryKey,System.String)">
<summary>
Creates a new volatile subkey for the specified registry key.
<para>Requires Windows CE 5.0</para>
</summary>
<param name="key">Existing parent key.</param>
<param name="name">The name or path of the subkey to create.</param>
<returns>New RegistryKey create as a volatile key.</returns>
</member>
<member name="T:OpenNETCF.Win32.SafeHandles.SafeFileHandle">
<summary>
Represents a wrapper class for file handles.
</summary>
</member>
<member name="M:OpenNETCF.Win32.SafeHandles.SafeFileHandle.#ctor(System.IntPtr,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Win32.SafeHandles.SafeFileHandle"/> class.
</summary>
<param name="preexistingHandle">The pre-existing handle to use.</param>
<param name="ownsHandle">true to reliably release the handle during the finalization phase; otherwise, false (not recommended).</param>
</member>
<member name="M:OpenNETCF.Win32.SafeHandles.SafeFileHandle.ReleaseHandle">
<summary>
Executes the code required to free a handle.
</summary>
<returns>true if the handle is released successfully; false if a catastrophic failure occurs.</returns>
</member>
<member name="T:OpenNETCF.Win32.SafeHandles.SafeHandleMinusOneIsInvalid">
<summary>
Provides common functionality that supports safe Win32 handle types.
</summary>
</member>
<member name="M:OpenNETCF.Win32.SafeHandles.SafeHandleMinusOneIsInvalid.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Win32.SafeHandles.SafeHandleMinusOneIsInvalid"/> class.
</summary>
<param name="ownsHandle">true to reliably release the handle during the finalization phase; otherwise, false (not recommended).</param>
</member>
<member name="P:OpenNETCF.Win32.SafeHandles.SafeHandleMinusOneIsInvalid.IsInvalid">
<summary>
Gets a value indicating whether a handle is invalid.
</summary>
</member>
<member name="T:OpenNETCF.Win32.SafeHandles.SafeWaitHandle">
<summary>
Represents a wrapper class for wait handles.
</summary>
</member>
<member name="M:OpenNETCF.Win32.SafeHandles.SafeWaitHandle.#ctor(System.IntPtr,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Win32.SafeHandles.SafeWaitHandle"/> class.
</summary>
<param name="existingHandle">The pre-existing handle to use.</param>
<param name="ownsHandle">true to reliably release the handle during the finalization phase; otherwise, false (not recommended).</param>
</member>
<member name="M:OpenNETCF.Win32.SafeHandles.SafeWaitHandle.ReleaseHandle">
<summary>
Executes the code required to free a handle.
</summary>
<returns>true if the handle is released successfully; false if a catastrophic failure occurs.</returns>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.Alias">
<summary>
<b>name</b> is a WIN.INI [sounds] entry
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.FileName">
<summary>
<b>name</b> is a file name
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.Resource">
<summary>
<b>name</b> is a resource name or atom
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.Sync">
<summary>
Play synchronously (default)
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.Async">
<summary>
Play asynchronously
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.NoDefault">
<summary>
Silence not default, if sound not found
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.Memory">
<summary>
<b>name</b> points to a memory file
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.Loop">
<summary>
Loop the sound until next sndPlaySound
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.NoStop">
<summary>
Don't stop any currently playing sound
</summary>
</member>
<member name="F:OpenNETCF.Media.WaveAudio.NativeMethods.SoundFlags.NoWait">
<summary>
Don't wait if the driver is busy
</summary>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.WaveFormat2">
<summary>
This class defines the format of waveform-audio data.
Only format information common to all waveform-audio data formats is included in this class.
For formats that require additional information, this class is included
as the first member in another class, along with the additional information
</summary>
<remarks>Equivalent to native <b>WAVEFORMATEX</b> structure.</remarks>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.WaveFormat2.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.WaveFormat2.#ctor(System.Byte[])">
<summary>
Default constructor
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.WaveFormat2.FromStream(System.IO.Stream)">
<summary>
Default constructor
</summary>
</member>
<member name="M:OpenNETCF.Media.WaveAudio.WaveFormat2.GetBytes">
<summary>
Get bytes
</summary>
<returns>byte array representation of this instance</returns>
</member>
<member name="T:OpenNETCF.Media.WaveAudio.WaveInCaps">
<summary>
Class for getting audio device capabilities.
</summary>
</member>
<member name="T:OpenNETCF.Win32.SystemTime">
<summary>
This structure represents a date and time using individual members for the month, day, year, weekday, hour, minute, second, and millisecond.
</summary>
<remarks>Wraps the native <b>SYSTEMTIME</b> structure.</remarks>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wYearOffset">
<summary>
Offset within structure to Year value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wMonthOffset">
<summary>
Offset within structure to Month value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wDayOfWeekOffset">
<summary>
Offset within structure to DayOfWeek value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wDayOffset">
<summary>
Offset within structure to Day value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wHourOffset">
<summary>
Offset within structure to Hour value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wMinuteOffset">
<summary>
Offset within structure to Minute value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wSecondOffset">
<summary>
Offset within structure to Second value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.wMillisecondsOffset">
<summary>
Offset within structure to Millisecond value.
</summary>
</member>
<member name="F:OpenNETCF.Win32.SystemTime.Empty">
<summary>
Represents an empty SystemTime structure.
</summary>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.#ctor(System.Byte[])">
<summary>
Construct a SystemTime from a byte array
</summary>
<remarks>This is used when setting a time zone,
which contains two embedded SystemTime structures.</remarks>
<param name="bytes">Byte Array containing SystemTime data.</param>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.#ctor(System.Byte[],System.Int32)">
<summary>
Construct a SystemTime from a portion of a byte array.
</summary>
<remarks>This is used when setting a time zone,
which contains two embedded SystemTime structures.</remarks>
<param name="bytes">Byte Array containing SystemTime data.</param>
<param name="offset">Offset (in bytes) to SystemTime data.</param>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.#ctor(System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16)">
<summary>
Initializes a new SystemTime object with the specified parameters. /// Initializes a new SYSTEMTIME object with the specified parameters.
<param name="year">Specifies the current year.</param>
<param name="month">Specifies the current month; January = 1, February = 2, and so on</param>
<param name="day">Specifies the current day of the month.</param>
<param name="hour">Specifies the current hour.</param>
<param name="minute">Specifies the current minute.</param>
<param name="second">Specifies the current second.</param>
</summary>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.ToByteArray">
<summary>
Method to extract marshal-compatible 'structure' from the class.
</summary>
<returns>Byte Array containing the SystemTime data.</returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.#ctor(System.DateTime)">
<summary>
Create a new SystemTime instance from an existing DateTime instance.
</summary>
<param name="dt">DateTime to create SystemTime from.</param>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.#ctor">
<summary>
Create a new empty SystemTime instance.
</summary>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.op_Implicit(OpenNETCF.Win32.SystemTime)~System.DateTime">
<summary>
Converts a SystemTime structure to a DateTime object.
</summary>
<param name="st">A SystemTime structure.</param>
<returns>Equivalent date in the form of a <see cref="T:System.DateTime"/></returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.op_Implicit(System.Int64)~OpenNETCF.Win32.SystemTime">
<summary>
Converts a 64bit FileTime value to a SystemTime structure.
</summary>
<param name="FileTime">FileTime.</param>
<returns>A SystemTime structure.</returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.op_Implicit(OpenNETCF.Win32.SystemTime)~System.Int64">
<summary>
Converts a SystemTime structure to the equivalent FileTime 64bit integer.
</summary>
<param name="st"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.FromFileTime(System.Int64)">
<summary>
Returns a SystemTime equivalent to the specified operating system file timestamp.
</summary>
<param name="fileTime">A Windows file time.</param>
<returns>A SystemTime value representing the date and time of fileTime.</returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.ToFileTime">
<summary>
Converts the value of this instance to the format of a local operating system file time.
</summary>
<returns>The value of this SystemTime in the format of a local operating system file time.</returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.op_Implicit(OpenNETCF.Win32.SystemTime)~System.Byte[]">
<summary>
Converts a SystemTime structure to the equivalent binary data.
</summary>
<param name="st"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.FromDateTime(System.DateTime)">
<summary>
Creates a new instance of SystemTime from an existing System.DateTime object
</summary>
<param name="dt">DateTime object to copy.</param>
<returns>SystemTime class matching the DateTime object.</returns>
</member>
<member name="M:OpenNETCF.Win32.SystemTime.ToDateTime">
<summary>
Returns a <see cref="T:System.DateTime"/> object with the same Date and time as this instance.
</summary>
<returns>A <see cref="T:System.DateTime"/> copy of the SystemTime object.</returns>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.Year">
<summary>
Gets the year component of the date represented by this instance.
</summary>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.Month">
<summary>
Gets the month component of the date represented by this instance.
</summary>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.DayOfWeek">
<summary>
The Day of the week. Sunday = 0, Monday = 1, and so on.
</summary>
<remarks>Because the numbering scheme matches the System.DayOfWeek enumeration,
it is possible to cast this field to DayOfWeek.</remarks>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.Day">
<summary>
Gets the day of the month represented by this instance.
</summary>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.Hour">
<summary>
Gets the hour component of the date represented by this instance.
</summary>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.Minute">
<summary>
Gets the minute component of the date represented by this instance.
</summary>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.Second">
<summary>
Gets the seconds component of the date represented by this instance.
</summary>
</member>
<member name="P:OpenNETCF.Win32.SystemTime.Milliseconds">
<summary>
Gets the milliseconds component of the date represented by this instance.
</summary>
</member>
<member name="T:OpenNETCF.Collections.Generic.SynchronizedCollection`1">
<summary>
Provides a thread-safe collection that contains objects of a type specified by the generic parameter as elements.
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="M:OpenNETCF.Collections.Generic.SynchronizedCollection`1.#ctor">
<summary>
Initializes a new instance of the SynchronizedCollection(T) class.
</summary>
</member>
<member name="T:OpenNETCF.FFTReal">
<summary>
An implementation of the Fast Fourier Transform based on the work of Laurent de Soras
</summary>
</member>
<member name="M:OpenNETCF.FFTReal.Compute(System.Double[])">
<summary>
Compute an FFT on a 2^n-length data set
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.FFTReal.ComputeInverse(OpenNETCF.Complex[])">
<summary>
Compute an inverse FFT on a 2^n-length data set of complex numbers
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.#ctor(System.String)">
<summary>
Creates a DelimitedTextFileWriter with a comma (',') FieldDelimiter and a newline ('\n') RowDelimiter
</summary>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.#ctor(System.String,System.Char)">
<summary>
Creates a DelimitedTextFileWriter with the provided FieldDelimiter and a newline ('\n') RowDelimiter
</summary>
<param name="fieldDelimiter">char that separates fields in a row</param>
<param name="path">Fully-qualified path to the delimited text file</param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.#ctor(System.String,System.String)">
<summary>
Creates a DelimitedTextFileWriter with the provided FieldDelimiter and a newline ('\n') RowDelimiter
</summary>
<param name="fieldDelimiter">string that separates fields in a row</param>
<param name="path">Fully-qualified path to the delimited text file</param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.#ctor(System.String,System.Char,System.Char)">
<summary>
Creates a DelimitedTextFileWriter with the provided FieldDelimiter and RowDelimiter
</summary>
<param name="path">Fully-qualified path to the delimited text file</param>
<param name="fieldDelimiter">char that separates fields in a row</param>
<param name="rowDelimiter">char that separates rows in the file</param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.#ctor(System.String,System.String,System.String)">
<summary>
Creates a DelimitedTextFileWriter with the provided FieldDelimiter and RowDelimiter
</summary>
<param name="path">Fully-qualified path to the delimited text file</param>
<param name="fieldDelimiter">char that separates fields in a row</param>
<param name="rowDelimiter">char that separates rows in the file</param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.#ctor(System.String,System.Boolean,System.Text.Encoding,System.String,System.String)">
<summary>
Creates a DelimitedTextFileWriter with the provided FieldDelimiter and RowDelimiter
</summary>
<param name="fieldDelimiter">string that separates fields in a row</param>
<param name="rowDelimiter">string that separates rows in the file</param>
<param name="encoding">The character encoding to use.</param>
<param name="path">Fully-qualified path to the delimited text file</param>
<param name="append">
Determines whether data is to be appended to the file. If the file exists
and append is false, the file is overwritten. If the file exists and append
is true, the data is appended to the file. Otherwise, a new file is created.
</param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.NextRow">
<summary>
Writes a RowDelimiter to the output file
</summary>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.Write(System.Object[])">
<summary>
Writes an array of values to a single row in the target file
</summary>
<param name="values">values to write</param>
<summary>
Writes an array of values to a single row in the target file
</summary>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.Write(System.String[])">
<summary>
Writes an array of values to a single row in the target file
</summary>
<param name="values">values to write</param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.Write(System.Collections.IEnumerable)">
<summary>
Writes any IEnumerable list to a single row in the target file.
If each element in the list is also IEnumerable then each element becomes a row in the target file
</summary>
<param name="valueList"></param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.Write(System.String)">
<summary>
Writes the value followed by the currently set FieldDelimiter to the output file
</summary>
<param name="value">Value to write</param>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.Close">
<summary>
Closes the current writer and releases any system resources associated with
the writer.
</summary>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.Flush">
<summary>
Causes any buffered data to be flushed to the target file
</summary>
</member>
<member name="M:OpenNETCF.IO.DelimitedTextWriter.Dispose">
<summary>
Releases the unmanaged resources used by the DelimitedTextWriter
</summary>
</member>
<member name="P:OpenNETCF.IO.DelimitedTextWriter.FieldDelimiter">
<summary>
Gets or sets the string that separates fields in a row
</summary>
</member>
<member name="P:OpenNETCF.IO.DelimitedTextWriter.RowDelimiter">
<summary>
Gets or sets the string that separates rows in the file
</summary>
</member>
<member name="T:OpenNETCF.IO.FileSystemMonitor">
<summary>
Listens to the file system change notifications and raises events when a directory, or file in a directory, changes.
</summary>
<remarks>
The FileSystemMonitor is thread-safe and does not depend on aygshell.dll being present in the system,
therefore, it is safe to use this for file system notifications when no GUI is present.
</remarks>
</member>
<member name="M:OpenNETCF.IO.FileSystemMonitor.#ctor">
<summary>
Initializes a new instance of the <b>FileSystemMonitor</b> class.
</summary>
</member>
<member name="M:OpenNETCF.IO.FileSystemMonitor.#ctor(System.String)">
<summary>
Initializes a new instance of the <b>FileSystemMonitor</b> class, given the specified directory to monitor.
</summary>
<param name="path">The directory to monitor, in standard or Universal Naming Convention (UNC) notation.</param>
</member>
<member name="M:OpenNETCF.IO.FileSystemMonitor.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <b>FileSystemMonitor</b> class, given the specified directory and type of files to monitor.
</summary>
<param name="path">The directory to monitor, in standard or Universal Naming Convention (UNC) notation.</param>
<param name="filter">The type of files to watch. For example, "*.txt" watches for changes to all text files.</param>
</member>
<member name="M:OpenNETCF.IO.FileSystemMonitor.Finalize">
<summary>
Releases unmanaged resources and performs other cleanup operations before the <see cref="T:OpenNETCF.IO.FileSystemMonitor"/> is reclaimed by garbage collection.
</summary>
</member>
<member name="M:OpenNETCF.IO.FileSystemMonitor.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the <see cref="T:OpenNETCF.IO.FileSystemMonitor"/> and optionally releases the managed resources.
</summary>
<param name="finalizing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:OpenNETCF.IO.FileSystemMonitor.Created">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemMonitor.Path"/> is created.
</summary>
</member>
<member name="E:OpenNETCF.IO.FileSystemMonitor.Changed">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemMonitor.Path"/> is changed.
</summary>
</member>
<member name="E:OpenNETCF.IO.FileSystemMonitor.Deleted">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemWatcher.Path"/> is deleted.
</summary>
</member>
<member name="E:OpenNETCF.IO.FileSystemMonitor.Renamed">
<summary>
Occurs when a file or directory in the specified <see cref="P:OpenNETCF.IO.FileSystemMonitor.Path"/> is renamed.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemMonitor.EnableRaisingEvents">
<summary>
Gets or sets a value indicating whether the component is enabled.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemMonitor.IncludeSubdirectories">
<summary>
Gets or sets a value indicating whether subdirectories within the specified path should be monitored.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemMonitor.NotifyFilter">
<summary>
Gets or sets the type of changes to watch for.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemMonitor.Path">
<summary>
Gets or sets the path of the directory to watch.
</summary>
</member>
<member name="P:OpenNETCF.IO.FileSystemMonitor.Filter">
<summary>
Gets or sets the filter string, used to determine what files are monitored in a directory.
</summary>
</member>
<member name="T:OpenNETCF.Media.Tone">
<summary>
Represents a note for the SoundPlayer to play.
</summary>
<remarks>
Internally this class stores data as the MIDINote value, which is a whole number. Due to mathematical rounding, if you set a
specific frequency, you may not get the exact same frequency back on a read. Instead you will get the frequency associated with the nearest
MIDI note to the frequency.
</remarks>
</member>
<member name="M:OpenNETCF.Media.Tone.GetFrequency(System.Int32)">
<summary>
</summary>
<param name="midiNote"></param>
<returns></returns>
<remarks>
freq = 440 * 2^((n-69)/12)
</remarks>
</member>
<member name="M:OpenNETCF.Media.Tone.GetNote(System.Single)">
<summary>
</summary>
<param name="frequency"></param>
<returns></returns>
<remarks>
n = 69 + 12*log(freq/440)/log(2)
</remarks>
</member>
<member name="P:OpenNETCF.Media.Tone.Frequency">
<summary>
frequency in Hertz
</summary>
</member>
<member name="P:OpenNETCF.Media.Tone.MIDINote">
<summary>
MIDI note value
</summary>
</member>
<member name="P:OpenNETCF.Media.Tone.Duration">
<summary>
Duration in tenths of a second
</summary>
</member>
<member name="T:OpenNETCF.Reflection.Device">
<summary>
A static (<b>Shared</b> in Visual Basic) class designed to help
determine whether a Win32 library exists and if so, whether the
library exports a specific entry point.
</summary>
<example>
<code lang="VB">
If Device.Win32Library("coredll").HasMethod("FindWindow") Then
NativeMethods.FindWindow("MyWindowName", String.Empty)
End If
</code>
<code lang="C#">
if (Device.Win32Library("coredll").HasMethod("FindWindow")
{
NativeMethods.FindWindow("MyWindowName", String.Empty);
}
</code>
</example>
</member>
<member name="M:OpenNETCF.Reflection.Device.Win32Library(System.String)">
<summary>
Creates an instance of the NativeLibrary class.
</summary>
<remarks>The returned instance will always be non-null.
To determine the existence of the library, check the
<see cref="P:OpenNETCF.Reflection.NativeLibrary.Exists"/> property.</remarks>
<param name="library">The name of the Win32 library. The
file extension is optional.</param>
</member>
<member name="M:OpenNETCF.Reflection.NativeLibrary.HasMethod(System.String)">
<summary>
Indicates whether the Win32 library exports the specified entry point.
</summary>
<param name="methodName"></param>
<returns></returns>
</member>
<member name="P:OpenNETCF.Reflection.NativeLibrary.Exists">
<summary>
Indicates whether the library exists or not.
</summary>
</member>
<member name="P:OpenNETCF.Reflection.NativeLibrary.Name">
<summary>
The name of the Win32 library.
</summary>
</member>
<member name="T:OpenNETCF.Threading.Monitor2">
<summary>
Enhanced alternative to the <see cref="T:System.Threading.Monitor"/> class.
Provides a mechanism that synchronizes access to objects.
</summary>
<seealso cref="T:System.Threading.Monitor"/>
</member>
<member name="F:OpenNETCF.Threading.Monitor2.currentOwner">
<summary>
The owner of the monitor, or null if it's not owned
by any thread.
</summary>
</member>
<member name="F:OpenNETCF.Threading.Monitor2.lockCount">
<summary>
Number of levels of locking (0 for an unowned
monitor, 1 after a single call to Enter, etc).
</summary>
</member>
<member name="F:OpenNETCF.Threading.Monitor2.stateLock">
<summary>
Object to be used as a monitor for state changing.
</summary>
</member>
<member name="F:OpenNETCF.Threading.Monitor2.waitPulseEvent">
<summary>
AutoResetEvent used to implement Wait/Pulse/PulseAll.
Initially not signalled, so that a call to Wait will
block until the first pulse.
</summary>
</member>
<member name="F:OpenNETCF.Threading.Monitor2.waitCounter">
<summary>
Number of threads waiting on this monitor.
</summary>
</member>
<member name="F:OpenNETCF.Threading.Monitor2.enterExitEvent">
<summary>
Event used for Enter/Exit. Initially signalled
to allow the first thread to come in.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Monitor2.#ctor">
<summary>
Creates a new monitor, not owned by any thread.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Monitor2.Enter">
<summary>
Enters the monitor (locks it), blocking until the
lock is held. If the monitor is already held by the current thread,
its lock count is incremented.
</summary>
</member>
<member name="M:OpenNETCF.Threading.Monitor2.TryEnter">
<summary>
Attempts to enter the monitor (locking it) but does not block
if the monitor is already owned.
</summary>
<returns>Whether or not the current thread now owns the monitor.
</returns>
</member>
<member name="M:OpenNETCF.Threading.Monitor2.Exit">
<summary>
Releases a level of locking, unlocking the monitor itself
if the lock count becomes 0.
</summary>
<exception cref="T:OpenNETCF.Threading.SynchronizationLockException">If the current
thread does not own the monitor.</exception>
</member>
<member name="M:OpenNETCF.Threading.Monitor2.Pulse">
<summary>
Pulses the monitor once - a single waiting thread will be released
and continue its execution after the current thread has exited the
monitor. Unlike Pulse on the normal framework, no guarantee is
made about which thread is woken.
</summary>
<exception cref="T:OpenNETCF.Threading.SynchronizationLockException">If the
current thread does not own the monitor.</exception>
</member>
<member name="M:OpenNETCF.Threading.Monitor2.PulseAll">
<summary>
Pulses the monitor such that all waiting threads are woken up.
All threads will then try to regain the lock on this monitor.
No order for regaining the lock is specified.
</summary>
<exception cref="T:OpenNETCF.Threading.SynchronizationLockException">If the current
thread does not own the monitor.</exception>
</member>
<member name="M:OpenNETCF.Threading.Monitor2.Wait">
<summary>
Relinquishes the lock on this monitor (whatever the lock count is)
and waits for the monitor to be pulsed. After the monitor has been
pulsed, the thread blocks again until it has regained the lock (at
which point it will have the same lock count as it had before), and
then the method returns.
</summary>
</member>
<member name="T:OpenNETCF.Threading.SynchronizationLockException">
<summary>
Exception thrown by <see cref="T:OpenNETCF.Threading.Monitor2"/> when threading rules
are violated (usually due to an operation being
invoked on a monitor not owned by the current thread).
</summary>
</member>
<member name="M:OpenNETCF.Threading.SynchronizationLockException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:OpenNETCF.Threading.SynchronizationLockException"/> class with a specified error message.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.CreateInMemoryMap">
<summary>
Creates an unnamed MemoryMappedFile instance using an in-memory map as the backing object with a maximum size of <b>DefaultInMemoryMapSize</b>
</summary>
<returns></returns>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.CreateInMemoryMap(System.String)">
<summary>
Creates a named MemoryMappedFile instance using an in-memory map as the backing object with a maximum size of <b>DefaultInMemoryMapSize</b>
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.CreateInMemoryMap(System.String,System.Int64)">
<summary>
Creates a named MemoryMappedFile instance using an in-memory map as the backing object
</summary>
<param name="name"></param>
<param name="maxSize"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.CreateWithFileBacking(System.String,System.Boolean,System.Int64)">
<summary>
Creates a MemoryMappedFile instance using a file system file as the backing object
</summary>
<param name="backingFile"></param>
<param name="failIfFileExists"></param>
<param name="maxSize">A positive number or the UseFileSizeForMaximumMapSize constant</param>
<returns></returns>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.Close">
<summary>
Closes and releases all resources associated with the stream
</summary>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.Flush">
<summary>
Flushes all pending writes
</summary>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.Seek(System.Int64,System.IO.SeekOrigin)">
<summary>
Moves the current stream position pointer
</summary>
<param name="offset"></param>
<param name="origin"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.Read(System.Byte[],System.Int32,System.Int32)">
<summary>
Reads data from the MemoryMappedFile
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="count"></param>
<returns></returns>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.Write(System.Byte[],System.Int32,System.Int32)">
<summary>
Writes data to the MemoryMappedFile
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="count"></param>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.SetLength(System.Int64)">
<summary>
Throws a NotSupportedException
</summary>
<param name="value">Not Supported</param>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
<summary>
Throws a NotSupportedException
</summary>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
<summary>
Throws a NotSupportedException
</summary>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.EndRead(System.IAsyncResult)">
<summary>
Throws a NotSupportedException
</summary>
</member>
<member name="M:OpenNETCF.IO.MemoryMappedFile.EndWrite(System.IAsyncResult)">
<summary>
Throws a NotSupportedException
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.Name">
<summary>
The name of the MemoryMapped file provided during construction
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.Length">
<summary>
Gets the maximum length of the MemoryMappedFile
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.Position">
<summary>
Gets or sets the current position within the MemoryMappedFile stream
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.CanRead">
<summary>
Always returns <b>true</b> for MemoryMappedFiles
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.CanSeek">
<summary>
Always returns <b>true</b> for MemoryMappedFiles
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.CanTimeout">
<summary>
Always returns <b>false</b> for MemoryMappedFiles
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.CanWrite">
<summary>
Always returns <b>true</b> for MemoryMappedFiles
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.WriteTimeout">
<summary>
Throws a NotSupportedException
</summary>
</member>
<member name="P:OpenNETCF.IO.MemoryMappedFile.ReadTimeout">
<summary>
Throws a NotSupportedException
</summary>
</member>
<member name="T:OpenNETCF.ToolHelp.ModuleEntry">
<summary>
Wrapper around the ToolHelp ModuleEntry information
</summary>
<remarks>
This class requires the toolhelp32.dll
</remarks>
</member>
<member name="M:OpenNETCF.ToolHelp.ModuleEntry.GetModules(System.UInt32)">
<summary>
Retrieves an array of all running threads for a specified process
</summary>
<returns>Any array of ModuleEntry classes</returns>
</member>
<member name="P:OpenNETCF.ToolHelp.ModuleEntry.Name">
<summary>
The module name
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ModuleEntry.Path">
<summary>
The module path
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ModuleEntry.BaseAddress">
<summary>
The base address of the module in the context of the owning process.
</summary>
</member>
<member name="P:OpenNETCF.ToolHelp.ModuleEntry.Size">
<summary>
The size of the module, in bytes.
</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/CompactFramework/SQLite.Interop.084.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/CompactFramework/System.Data.SQLite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/CompactFramework/System.Data.SQLite.xml
0,0 → 1,4932
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.SQLiteLogCallback">
<summary>
This is the method signature for the SQLite core library logging callback
function for use with sqlite3_log() and the SQLITE_CONFIG_LOG.
WARNING: This delegate is used more-or-less directly by native code, do
not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="T:System.Data.SQLite.SQLite3">
<summary>
This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteBase">
<summary>
This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement
a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConvert">
<summary>
This base class provides datatype conversion services for the SQLite provider.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FullFormat">
<summary>
The format string for DateTime values when using the InvariantCulture or CurrentCulture formats.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.UnixEpoch">
<summary>
The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.OleAutomationEpochAsJulianDay">
<summary>
The value of the OLE Automation epoch represented as a Julian day.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormats">
<summary>
An array of ISO8601 datetime formats we support conversion from
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatUtc">
<summary>
The internal default format for UTC DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatLocal">
<summary>
The internal default format for local DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._utf8">
<summary>
An UTF-8 Encoding instance, so we can convert strings to and from UTF-8
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormat">
<summary>
The default DateTime format for this instance
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeKind">
<summary>
The default DateTimeKind for this instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind)">
<summary>
Initializes the conversion class
</summary>
<param name="fmt">The default date/time format to use for this instance</param>
<param name="kind">The DateTimeKind to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.String)">
<summary>
Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character.
</summary>
<param name="sourceText">The string to convert to UTF-8</param>
<returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.DateTime)">
<summary>
Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
</summary>
<remarks>
This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the
string result.
</remarks>
<param name="dateTimeValue">The DateTime to convert.</param>
<returns>The UTF-8 encoded string, including a 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.UTF8ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String)">
<summary>
Converts a string into a DateTime, using the current DateTimeFormat specified for the connection when it was opened.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats, an exception will be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind)">
<summary>
Converts a string into a DateTime, using the specified DateTimeFormat and DateTimeKind.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats, an exception will be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double,System.DateTimeKind)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<param name="kind">The DateTimeKind to use.</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToJulianDay(System.DateTime)">
<summary>
Converts a DateTime struct to a JulianDay double
</summary>
<param name="value">The DateTime to convert</param>
<returns>The JulianDay value the Datetime represents</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUnixEpoch(System.DateTime)">
<summary>
Converts a DateTime struct to the whole number of seconds since the
Unix epoch.
</summary>
<param name="value">The DateTime to convert</param>
<returns>The whole number of seconds since the Unix epoch</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDateTimeKindFormat(System.DateTimeKind)">
<summary>
Returns the default DateTime format string to use for the specified
DateTimeKind.
</summary>
<param name="kind">The DateTimeKind to use.</param>
<returns>
The default DateTime format string to use for the specified DateTimeKind.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime)">
<summary>
Converts a DateTime to a string value, using the current DateTimeFormat specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.IntPtr,System.Int32)">
<summary>
Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime.
</summary>
<remarks>
This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls
ToDateTime() on the string to return a DateTime.
</remarks>
<param name="ptr">A pointer to the UTF-8 encoded string</param>
<param name="len">The length in bytes of the string</param>
<returns>The parsed DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.Split(System.String,System.Char)">
<summary>
Smart method of splitting a string. Skips quoted elements, removes the quotes.
</summary>
<remarks>
This split function works somewhat like the String.Split() function in that it breaks apart a string into
pieces and returns the pieces as an array. The primary differences are:
<list type="bullet">
<item><description>Only one character can be provided as a separator character</description></item>
<item><description>Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed.</description></item>
</list>
Thus, if splitting the following string looking for a comma:<br/>
One,Two, "Three, Four", Five<br/>
<br/>
The resulting array would contain<br/>
[0] One<br/>
[1] Two<br/>
[2] Three, Four<br/>
[3] Five<br/>
<br/>
Note that the leading and trailing spaces were removed from each item during the split.
</remarks>
<param name="source">Source string to split apart</param>
<param name="separator">Separator character</param>
<returns>A string array of the split up elements</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object)">
<summary>
Convert a value to true or false.
</summary>
<param name="source">A string or number representing true or false</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)">
<summary>
Convert a string to true or false.
</summary>
<param name="source">A string representing true or false</param>
<returns></returns>
<remarks>
"yes", "no", "y", "n", "0", "1", "on", "off" as well as Boolean.FalseString and Boolean.TrueString will all be
converted to a proper boolean value.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ColumnToType(System.Data.SQLite.SQLiteStatement,System.Int32,System.Data.SQLite.SQLiteType)">
<summary>
Determines the data type of a column in a statement
</summary>
<param name="stmt">The statement to retrieve information for</param>
<param name="i">The column to retrieve type information on</param>
<param name="typ">The SQLiteType to receive the affinity for the given column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SQLiteTypeToType(System.Data.SQLite.SQLiteType)">
<summary>
Converts a SQLiteType to a .NET Type object
</summary>
<param name="t">The SQLiteType to convert</param>
<returns>Returns a .NET Type object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToDbType(System.Type)">
<summary>
For a given intrinsic type, return a DbType
</summary>
<param name="typ">The native type to convert</param>
<returns>The corresponding (closest match) DbType</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToColumnSize(System.Data.DbType)">
<summary>
Returns the ColumnSize for the given DbType
</summary>
<param name="typ">The DbType to get the size of</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToType(System.Data.DbType)">
<summary>
Convert a DbType to a Type
</summary>
<param name="typ">The DbType to convert from</param>
<returns>The closest-match .NET type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToAffinity(System.Type)">
<summary>
For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types.
</summary>
<param name="typ">The type to evaluate</param>
<returns>The SQLite type affinity for that type.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeNameToDbType(System.String)">
<summary>
For a given type name, return a closest-match .NET type
</summary>
<param name="Name">The name of the type to match</param>
<returns>The .NET DBType the text evaluates to.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different config options.
We depend on auto initialization to recover.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsOpen">
<summary>
Returns non-zero if a database connection is open.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteOpenFlagsEnum,System.Int32,System.Boolean)">
<summary>
Opens a database.
</summary>
<remarks>
Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
to bind all attributed user-defined functions and collating sequences to the new connection.
</remarks>
<param name="strFilename">The filename of the database to open. SQLite automatically creates it if it doesn't exist.</param>
<param name="connectionFlags">The flags associated with the parent connection object</param>
<param name="openFlags">The open flags to use when creating the connection</param>
<param name="maxPoolSize">The maximum size of the pool for the given filename</param>
<param name="usePool">If true, the connection can be pulled from the connection pool</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Close(System.Boolean)">
<summary>
Closes the currently-open database.
</summary>
<remarks>
After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
memory associated with the user-defined functions and collating sequences tied to the closed connection.
</remarks>
<param name="canThrow">Non-zero if the operation is allowed to throw exceptions, zero otherwise.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetTimeout(System.Int32)">
<summary>
Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command.
</summary>
<param name="nTimeoutMS">The number of milliseconds to wait before returning SQLITE_BUSY</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError">
<summary>
Returns the text of the last error issued by SQLite
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ClearPool">
<summary>
When pooling is enabled, force this connection to be disposed rather than returned to the pool
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CountPool">
<summary>
When pooling is enabled, returns the number of pool entries matching the current file name.
</summary>
<returns>The number of pool entries matching the current file name.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Prepare(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteStatement,System.UInt32,System.String@)">
<summary>
Prepares a SQL statement for execution.
</summary>
<param name="cnn">The source connection preparing the command. Can be null for any caller except LINQ</param>
<param name="strSql">The SQL command text to prepare</param>
<param name="previous">The previous statement in a multi-statement command, or null if no previous statement exists</param>
<param name="timeoutMS">The timeout to wait before aborting the prepare</param>
<param name="strRemain">The remainder of the statement that was not processed. Each call to prepare parses the
SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned
here for a subsequent call to Prepare() until all the text has been processed.</param>
<returns>Returns an initialized SQLiteStatement.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Step(System.Data.SQLite.SQLiteStatement)">
<summary>
Steps through a prepared statement.
</summary>
<param name="stmt">The SQLiteStatement to step through</param>
<returns>True if a row was returned, False if not.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Reset(System.Data.SQLite.SQLiteStatement)">
<summary>
Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA,
transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
</summary>
<param name="stmt">The statement to reset</param>
<returns>Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetExtendedResultCodes(System.Boolean)">
<summary>
Enables or disabled extened result codes returned by SQLite
</summary>
<param name="bOnOff">true to enable extended result codes, false to disable.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ResultCode">
<summary>
Returns the numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ExtendedResultCode">
<summary>
Returns the extended numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Extended result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Add a log message via the SQLite sqlite3_log interface.
</summary>
<param name="iErrCode">Error code to be logged with the message.</param>
<param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log()
interface, this should be pre-formatted. Consider using the
String.Format() function.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsInitialized">
<summary>
Checks if the SQLite core library has been initialized in the current process.
</summary>
<returns>
Non-zero if the SQLite core library has been initialized in the current process,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FallbackGetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the internal static lookup table.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the sqlite3_errstr() function, falling back to the internal lookup
table if necessary.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Version">
<summary>
Returns a string representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.VersionNumber">
<summary>
Returns an integer representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Changes">
<summary>
Returns the number of changes the last executing insert/update caused.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection
value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
This is not really a per-connection value, it is global to the process.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._sql">
<summary>
The opaque pointer returned to us by the sqlite provider
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._functionsArray">
<summary>
The user-defined functions registered on this connection
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different config options.
We depend on auto initialization to recover.
</summary>
<returns>Returns a result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLite3.ResultCode">
Gets the last SQLite error code
</member>
<member name="M:System.Data.SQLite.SQLite3.ExtendedResultCode">
Gets the last SQLite extended error code
</member>
<member name="M:System.Data.SQLite.SQLite3.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLogCallback(System.Data.SQLite.SQLiteLogCallback)">
<summary>
Allows the setting of a logging callback invoked by SQLite when a
log event occurs. Only one callback may be set. If NULL is passed,
the logging callback is unregistered.
</summary>
<param name="func">The callback function to invoke.</param>
<returns>Returns a result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy, negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticIsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetValue(System.Data.SQLite.SQLiteStatement,System.Int32,System.Data.SQLite.SQLiteType)">
<summary>
Helper function to retrieve a column of data from an active statement.
</summary>
<param name="stmt">The statement being step()'d through</param>
<param name="index">The column index to retrieve</param>
<param name="typ">The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.</param>
<returns>Returns the data in the column</returns>
</member>
<member name="T:System.Data.SQLite.SQLite3_UTF16">
<summary>
Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.ToString(System.IntPtr,System.Int32)">
<summary>
Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
</summary>
<param name="b">A pointer to a UTF-16 string</param>
<param name="nbytelen">The length (IN BYTES) of the string</param>
<returns>A .NET string</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBackup">
<summary>
Represents a single SQL backup in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sql">
<summary>
The underlying SQLite object this backup is bound to.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sqlite_backup">
<summary>
The actual backup handle.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._destDb">
<summary>
The destination database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zDestName">
<summary>
The destination database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sourceDb">
<summary>
The source database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zSourceName">
<summary>
The source database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._stepResult">
<summary>
The last result from the StepBackup method of the SQLite3 class.
This is used to determine if the call to the FinishBackup method of
the SQLite3 class should throw an exception when it receives a non-Ok
return code from the core SQLite library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteBackupHandle,System.IntPtr,System.Byte[],System.IntPtr,System.Byte[])">
<summary>
Initializes the backup.
</summary>
<param name="sqlbase">The base SQLite object.</param>
<param name="backup">The backup handle.</param>
<param name="destDb">The destination database for the backup.</param>
<param name="zDestName">The destination database name for the backup.</param>
<param name="sourceDb">The source database for the backup.</param>
<param name="zSourceName">The source database name for the backup.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.Dispose">
<summary>
Disposes and finalizes the backup.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionFlags">
<summary>
The extra behavioral flags that can be applied to a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.None">
<summary>
No extra flags.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPrepare">
<summary>
Enable logging of all SQL statements to be prepared.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPreBind">
<summary>
Enable logging of all bound parameter types and raw values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBind">
<summary>
Enable logging of all bound parameter strongly typed values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogCallbackException">
<summary>
Enable logging of all exceptions caught from user-provided
managed code called from native code via delegates.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBackup">
<summary>
Enable logging of backup API errors.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoExtensionFunctions">
<summary>
Skip adding the extension functions provided by the native
interop assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogAll">
<summary>
Enable all logging.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.Default">
<summary>
The default extra flags for new connections.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommand">
<summary>
SQLite implementation of DbCommand.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandText">
<summary>
The command text this command is based on
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._cnn">
<summary>
The connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._version">
<summary>
The version of the connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._activeReader">
<summary>
Indicates whether or not a DataReader is active on the command.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandTimeout">
<summary>
The timeout for the command, kludged because SQLite doesn't support per-command timeout values
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._designTimeVisible">
<summary>
Designer support
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._updateRowSource">
<summary>
Used by DbDataAdapter to determine updating behavior
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._parameterCollection">
<summary>
The collection of parameters for the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._statementList">
<summary>
The SQL command text, broken into individual SQL statements as they are executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._remainingText">
<summary>
Unprocessed SQL text that has not been executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._transaction">
<summary>
Transaction associated with this command
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor">
<overloads>
Constructs a new SQLiteCommand
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String)">
<summary>
Initializes the command with the given command text
</summary>
<param name="commandText">The SQL command text</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command with the given SQL command text and attach the command to the specified
connection.
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command and associates it with the specified connection.
</summary>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteTransaction)">
<summary>
Initializes a command with the given SQL, connection and transaction
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
<param name="transaction">The transaction the command should be associated with</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Dispose(System.Boolean)">
<summary>
Disposes of the command and clears all member variables
</summary>
<param name="disposing">Whether or not the class is being explicitly or implicitly disposed</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearCommands">
<summary>
Clears and destroys all statements currently prepared
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.BuildNextCommand">
<summary>
Builds an array of prepared statements for each complete SQL statement in the command text
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Cancel">
<summary>
Not implemented
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateDbParameter">
<summary>
Forwards to the local CreateParameter() function
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateParameter">
<summary>
Create a new parameter
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.InitializeForReader">
<summary>
This function ensures there are no active readers, that we have a valid connection,
that the connection is open, that all statements are prepared and all parameters are assigned
in preparation for allocating a data reader.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(System.Data.CommandBehavior)">
<summary>
Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
</summary>
<param name="behavior">The behavior the data reader should adopt</param>
<returns>Returns a SQLiteDataReader object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)">
<summary>
Overrides the default behavior to return a SQLiteDataReader specialization class
</summary>
<param name="behavior">The flags to be associated with the reader</param>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader">
<summary>
Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
</summary>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearDataReader">
<summary>
Called by the SQLiteDataReader when the data reader is closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<returns>The first column of the first row of the first resultset from the query</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Prepare">
<summary>
Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Clone">
<summary>
Clones a command, including all its parameters
</summary>
<returns>A new SQLiteCommand with the same commandtext, connection and parameters</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandText">
<summary>
The SQL command text associated with the command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandTimeout">
<summary>
The amount of time to wait for the connection to become available before erroring out
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandType">
<summary>
The type of the command. SQLite only supports CommandType.Text
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Connection">
<summary>
The connection associated with this command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Parameters">
<summary>
Returns the SQLiteParameterCollection for the given command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbParameterCollection">
<summary>
Forwards to the local Parameters property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Transaction">
<summary>
The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the
command's underlying connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbTransaction">
<summary>
Forwards to the local Transaction property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.UpdatedRowSource">
<summary>
Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DesignTimeVisible">
<summary>
Determines if the command is visible at design time. Defaults to True.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommandBuilder">
<summary>
SQLite implementation of DbCommandBuilder.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor(System.Data.SQLite.SQLiteDataAdapter)">
<summary>
Initializes the command builder and associates it with the specified data adapter.
</summary>
<param name="adp"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.ApplyParameterInfo(System.Data.Common.DbParameter,System.Data.DataRow,System.Data.StatementType,System.Boolean)">
<summary>
Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema
</summary>
<param name="parameter">The parameter to use in applying custom behaviors to a row</param>
<param name="row">The row to apply the parameter to</param>
<param name="statementType">The type of statement</param>
<param name="whereClause">Whether the application of the parameter is part of a WHERE clause</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.String)">
<summary>
Returns a valid named parameter
</summary>
<param name="parameterName">The name of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.Int32)">
<summary>
Returns a named parameter for the given ordinal
</summary>
<param name="parameterOrdinal">The i of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterPlaceholder(System.Int32)">
<summary>
Returns a placeholder character for the specified parameter i.
</summary>
<param name="parameterOrdinal">The index of the parameter to provide a placeholder for</param>
<returns>Returns a named parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.SetRowUpdatingHandler(System.Data.Common.DbDataAdapter)">
<summary>
Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL
statements that may not have previously been generated.
</summary>
<param name="adapter">A data adapter to receive events on.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.QuoteIdentifier(System.String)">
<summary>
Places brackets around an identifier
</summary>
<param name="unquotedIdentifier">The identifier to quote</param>
<returns>The bracketed identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.UnquoteIdentifier(System.String)">
<summary>
Removes brackets around an identifier
</summary>
<param name="quotedIdentifier">The quoted (bracketed) identifier</param>
<returns>The undecorated identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetSchemaTable(System.Data.Common.DbCommand)">
<summary>
Override helper, which can help the base command builder choose the right keys for the given query
</summary>
<param name="sourceCommand"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.DataAdapter">
<summary>
Gets/sets the DataAdapter for this CommandBuilder
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogLocation">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuotePrefix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuoteSuffix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.SchemaSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="T:System.Data.SQLite.ConnectionEventArgs">
<summary>
Event data for connection event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventType">
<summary>
The type of event being raised.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventArgs">
<summary>
The <see cref="T:System.Data.StateChangeEventArgs"/> associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Transaction">
<summary>
The transaction associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Command">
<summary>
The command associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Text">
<summary>
Command or message text associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.ConnectionEventArgs.#ctor(System.Data.SQLite.SQLiteConnectionEventType,System.Data.StateChangeEventArgs,System.Data.IDbTransaction,System.Data.IDbCommand,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="eventType">The type of event being raised.</param>
<param name="eventArgs">The base <see cref="F:System.Data.SQLite.ConnectionEventArgs.EventArgs"/> associated
with this event, if any.</param>
<param name="transaction">The transaction associated with this event, if any.</param>
<param name="command">The command associated with this event, if any.</param>
<param name="text">The command or message text, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventHandler">
<summary>
Raised when an event pertaining to a connection occurs.
</summary>
<param name="sender">The connection involved.</param>
<param name="e">Extra information about the event.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnection">
<summary>
SQLite implentation of DbConnection.
</summary>
<remarks>
The <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> property can contain the following parameter(s), delimited with a semi-colon:
<list type="table">
<listheader>
<term>Parameter</term>
<term>Values</term>
<term>Required</term>
<term>Default</term>
</listheader>
<item>
<description>Data Source</description>
<description>This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).</description>
<description>Y</description>
<description></description>
</item>
<item>
<description>Version</description>
<description>3</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>UseUTF16Encoding</description>
<description><b>True</b><br/><b>False</b></description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>DateTimeFormat</description>
<description>
<b>Ticks</b> - Use the value of DateTime.Ticks.<br/>
<b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/>
<b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/>
<b>UnixEpoch</b> - The whole number of seconds since the Unix epoch (January 1, 1970).<br/>
<b>InvariantCulture</b> - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.<br/>
<b>CurrentCulture</b> - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.</description>
<description>N</description>
<description>ISO8601</description>
</item>
<item>
<description>DateTimeKind</description>
<description><b>Unspecified</b> - Not specified as either UTC or local time.<br/><b>Utc</b> - The time represented is UTC.<br/><b>Local</b> - The time represented is local time.</description>
<description>N</description>
<description>Unspecified</description>
</item>
<item>
<description>BaseSchemaName</description>
<description>Some base data classes in the framework (e.g. those that build SQL queries dynamically)
assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used
as a placeholder and removed prior to preparing any SQL statements that may contain it.</description>
<description>N</description>
<description>sqlite_default_schema</description>
</item>
<item>
<description>BinaryGUID</description>
<description><b>True</b> - Store GUID columns in binary form<br/><b>False</b> - Store GUID columns as text</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>Cache Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>2000</description>
</item>
<item>
<description>Synchronous</description>
<description><b>Normal</b> - Normal file flushing behavior<br/><b>Full</b> - Full flushing after all writes<br/><b>Off</b> - Underlying OS flushes I/O's</description>
<description>N</description>
<description>Full</description>
</item>
<item>
<description>Page Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>1024</description>
</item>
<item>
<description>Password</description>
<description>{password} - Using this parameter requires that the CryptoAPI based codec be enabled at compile-time for both the native interop assembly and the core managed assemblies; otherwise, using this parameter may result in an exception being thrown when attempting to open the connection.</description>
<description>N</description>
<description></description>
</item>
<item>
<description>Enlist</description>
<description><b>Y</b> - Automatically enlist in distributed transactions<br/><b>N</b> - No automatic enlistment</description>
<description>N</description>
<description>Y</description>
</item>
<item>
<description>Pooling</description>
<description><b>True</b> - Use connection pooling<br/><b>False</b> - Do not use connection pooling</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>FailIfMissing</description>
<description><b>True</b> - Don't create the database if it does not exist, throw an error instead<br/><b>False</b> - Automatically create the database if it does not exist</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Page Count</description>
<description>{size in pages} - Limits the maximum number of pages (limits the size) of the database</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Legacy Format</description>
<description><b>True</b> - Use the more compatible legacy 3.x database format<br/><b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Default Timeout</description>
<description>{time in seconds}<br/>The default command timeout</description>
<description>N</description>
<description>30</description>
</item>
<item>
<description>Journal Mode</description>
<description><b>Delete</b> - Delete the journal file after a commit<br/><b>Persist</b> - Zero out and leave the journal file on disk after a commit<br/><b>Off</b> - Disable the rollback journal entirely</description>
<description>N</description>
<description>Delete</description>
</item>
<item>
<description>Read Only</description>
<description><b>True</b> - Open the database for read only access<br/><b>False</b> - Open the database for normal read/write access</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Pool Size</description>
<description>The maximum number of connections for the given connection string that can be in the connection pool</description>
<description>N</description>
<description>100</description>
</item>
<item>
<description>Default IsolationLevel</description>
<description>The default transaciton isolation level</description>
<description>N</description>
<description>Serializable</description>
</item>
<item>
<description>Foreign Keys</description>
<description>Enable foreign key constraints</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Flags</description>
<description>Extra behavioral flags for the connection. See the <see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for possible values.</description>
<description>N</description>
<description>Default</description>
</item>
<item>
<description>SetDefaults</description>
<description>
<b>True</b> - Apply the default connection settings to the opened database.<br/>
<b>False</b> - Skip applying the default connection settings to the opened database.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>ToFullPath</description>
<description>
<b>True</b> - Attempt to expand the data source file name to a fully qualified path before opening.<br/>
<b>False</b> - Skip attempting to expand the data source file name to a fully qualified path before opening.
</description>
<description>N</description>
<description>True</description>
</item>
</list>
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.DefaultBaseSchemaName">
<summary>
The default "stub" (i.e. placeholder) base schema name to use when
returning column schema information. Used as the initial value of
the BaseSchemaName property. This should start with "sqlite_*"
because those names are reserved for use by SQLite (i.e. they cannot
be confused with the names of user objects).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
<summary>
State of the current connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionString">
<summary>
The connection string
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._transactionLevel">
<summary>
Nesting level of the transactions open on the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._disposing">
<summary>
If set, then the connection is currently being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultIsolation">
<summary>
The default isolation level for new transactions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sql">
<summary>
The base SQLite object to interop with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._dataSource">
<summary>
The database filename minus path and extension
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._password">
<summary>
Temporary password storage, emptied after the database has been opened
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._flags">
<summary>
The extra behavioral flags for this connection, if any. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTimeout">
<summary>
Default command timeout
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._parseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor">
<overloads>
Constructs a new SQLiteConnection object
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">The connection string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String,System.Boolean)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">
The connection string to use on.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Clones the settings and connection string from an existing connection. If the existing connection is already open, this
function will open its own connection, enumerate any attached databases of the original connection, and automatically
attach to them.
</summary>
<param name="connection">The connection to copy the settings from.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnChanged(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.ConnectionEventArgs)">
<summary>
Raises the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/> event.
</summary>
<param name="connection">
The connection associated with this event.
</param>
<param name="e">
A <see cref="T:System.Data.SQLite.ConnectionEventArgs"/> that contains the event data.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BackupDatabase(System.Data.SQLite.SQLiteConnection,System.String,System.String,System.Int32,System.Data.SQLite.SQLiteBackupCallback,System.Int32)">
<summary>
Backs up the database, using the specified database connection as the
destination.
</summary>
<param name="destination">The destination database connection.</param>
<param name="destinationName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<param name="pages">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="callback">
The method to invoke between each step of the backup process. This
parameter may be null (i.e. no callbacks will be performed).
</param>
<param name="retryMilliseconds">
The number of milliseconds to sleep after encountering a locking error
during the backup process. A value less than zero means that no sleep
should be performed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Clone">
<summary>
Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection
will also be opened.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateFile(System.String)">
<summary>
Creates a database file. This just creates a zero-byte file which SQLite
will turn into a database when the file is opened properly.
</summary>
<param name="databaseFileName">The file to create</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnStateChange(System.Data.ConnectionState,System.Data.StateChangeEventArgs@)">
<summary>
Raises the state change event when the state of the connection changes
</summary>
<param name="newState">The new connection state. If this is different
from the previous state, the <see cref="E:System.Data.SQLite.SQLiteConnection.StateChange"/> event is
raised.</param>
<param name="eventArgs">The event data created for the raised event, if
it was actually raised.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel,System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="isolationLevel">This parameter is ignored.</param>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already active on the connection.
</summary>
<param name="isolationLevel">Supported isolation levels are Serializable, ReadCommitted and Unspecified.</param>
<remarks>
Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the
connection string, Serializable is used.
Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads
may begin a transaction. Other threads may read from the database, but not write.
With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start
a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
</remarks>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already
active on the connection.
</summary>
<returns>Returns the new transaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginDbTransaction(System.Data.IsolationLevel)">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)"/> function
</summary>
<param name="isolationLevel">Supported isolation levels are Unspecified, Serializable, and ReadCommitted</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangeDatabase(System.String)">
<summary>
This method is not implemented; however, the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/>
event will still be raised.
</summary>
<param name="databaseName"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Close">
<summary>
When the database connection is closed, all commands linked to this connection are automatically reset.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearPool(System.Data.SQLite.SQLiteConnection)">
<summary>
Clears the connection pool associated with the connection. Any other active connections using the same database file
will be discarded instead of returned to the pool when they are closed.
</summary>
<param name="connection"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearAllPools">
<summary>
Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateCommand">
<summary>
Create a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> and associate it with this connection.
</summary>
<returns>Returns a new command object already assigned to this connection.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateDbCommand">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.CreateCommand"/> function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String)">
<summary>
Parses the connection string into component parts using the custom
connection string parser.
</summary>
<param name="connectionString">The connection string to parse</param>
<returns>An array of key-value pairs representing each parameter of the connection string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionStringViaFramework(System.String,System.Boolean)">
<summary>
Parses a connection string using the built-in (i.e. framework provided)
connection string parser class and returns the key/value pairs. An
exception may be thrown if the connection string is invalid or cannot be
parsed. When compiled for the .NET Compact Framework, the custom
connection string parser is always used instead because the framework
provided one is unavailable there.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="strict">
Non-zero to throw an exception if any connection string values are not of
the <see cref="T:System.String"/> type.
</param>
<returns>The list of key/value pairs.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FindKey(System.Collections.Generic.SortedList{System.String,System.String},System.String,System.String)">
<summary>
Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value
</summary>
<param name="items">The list to look in</param>
<param name="key">The key to find</param>
<param name="defValue">The default value to return if the key is not found</param>
<returns>The value corresponding to the specified key, or the default value if not found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseEnum(System.Type,System.String,System.Boolean)">
<summary>
Attempts to convert the string value to an enumerated value of the specified type.
</summary>
<param name="type">The enumerated type to convert the string value to.</param>
<param name="value">The string value to be converted.</param>
<param name="ignoreCase">Non-zero to make the conversion case-insensitive.</param>
<returns>The enumerated value upon success or null upon error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnableExtensions(System.Boolean)">
<summary>
Enables or disabled extension loading.
</summary>
<param name="enable">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Open">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OpenAndReturn">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> and then returns it.
</summary>
<returns>The current connection object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Cancel">
<summary>
This method causes any pending database operation to abort and return at
its earliest opportunity. This routine is typically called in response
to a user action such as pressing "Cancel" or Ctrl-C where the user wants
a long query operation to halt immediately. It is safe to call this
routine from any thread. However, it is not safe to call this routine
with a database connection that is closed or might close before this method
returns.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown">
Passes a shutdown request off to SQLite.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExtendedResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Int32,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.String)">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.Byte[])">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.String)">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.Byte[])">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetAvRetry(System.Int32@,System.Int32@)">
<summary>
Queries or modifies the number of retries or the retry interval (in milliseconds) for
certain I/O operations that may fail due to anti-virus software.
</summary>
<param name="count">The number of times to retry the I/O operation. A negative value
will cause the current count to be queried and replace that negative value.</param>
<param name="interval">The number of milliseconds to wait before retrying the I/O
operation. This number is multiplied by the number of retry attempts so far to come
up with the final number of milliseconds to wait. A negative value will cause the
current interval to be queried and replace that negative value.</param>
<returns>Zero for success, non-zero for error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnwrapString(System.String)">
<summary>
Removes one set of surrounding single -OR- double quotes from the string
value and returns the resulting string value. If the string is null, empty,
or contains quotes that are not balanced, nothing is done and the original
string value will be returned.
</summary>
<param name="value">The string value to process.</param>
<returns>
The string value, modified to remove one set of surrounding single -OR-
double quotes, if applicable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExpandFileName(System.String,System.Boolean)">
<summary>
Expand the filename of the data source, resolving the |DataDirectory|
macro as appropriate.
</summary>
<param name="sourceFile">The database filename to expand</param>
<param name="toFullPath">
Non-zero if the returned file name should be converted to a full path
(except when using the .NET Compact Framework).
</param>
<returns>The expanded path and filename of the filename</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
<overloads>
The following commands are used to extract schema information out of the database. Valid schema types are:
<list type="bullet">
<item>
<description>MetaDataCollections</description>
</item>
<item>
<description>DataSourceInformation</description>
</item>
<item>
<description>Catalogs</description>
</item>
<item>
<description>Columns</description>
</item>
<item>
<description>ForeignKeys</description>
</item>
<item>
<description>Indexes</description>
</item>
<item>
<description>IndexColumns</description>
</item>
<item>
<description>Tables</description>
</item>
<item>
<description>Views</description>
</item>
<item>
<description>ViewColumns</description>
</item>
</list>
</overloads>
<summary>
Returns the MetaDataCollections schema
</summary>
<returns>A DataTable of the MetaDataCollections schema</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String)">
<summary>
Returns schema information of the specified collection
</summary>
<param name="collectionName">The schema collection to retrieve</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String,System.String[])">
<summary>
Retrieves schema information using the specified constraint(s) for the specified collection
</summary>
<param name="collectionName">The collection to retrieve</param>
<param name="restrictionValues">The restrictions to impose</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_MetaDataCollections">
<summary>
Builds a MetaDataCollections schema datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_DataSourceInformation">
<summary>
Builds a DataSourceInformation datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Columns(System.String,System.String,System.String)">
<summary>
Build a Columns schema
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strTable">The table to retrieve schema information for, must not be null</param>
<param name="strColumn">The column to retrieve schema information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Indexes(System.String,System.String,System.String)">
<summary>
Returns index information for the given database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strIndex">The name of the index to retrieve information for, can be null</param>
<param name="strTable">The table to retrieve index information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Tables(System.String,System.String,System.String)">
<summary>
Retrieves table schema information for the database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve tables on</param>
<param name="strTable">The table to retrieve, can be null</param>
<param name="strType">The table type, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Views(System.String,System.String)">
<summary>
Retrieves view schema information for the database
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve views on</param>
<param name="strView">The view name, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Catalogs(System.String)">
<summary>
Retrieves catalog (attached databases) schema information for the database
</summary>
<param name="strCatalog">The catalog to retrieve, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_IndexColumns(System.String,System.String,System.String,System.String)">
<summary>
Returns the base column information for indexes in a database
</summary>
<param name="strCatalog">The catalog to retrieve indexes for (can be null)</param>
<param name="strTable">The table to restrict index information by (can be null)</param>
<param name="strIndex">The index to restrict index information by (can be null)</param>
<param name="strColumn">The source column to restrict index information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ViewColumns(System.String,System.String,System.String)">
<summary>
Returns detailed column information for a specified view
</summary>
<param name="strCatalog">The catalog to retrieve columns for (can be null)</param>
<param name="strView">The view to restrict column information by (can be null)</param>
<param name="strColumn">The source column to restrict column information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ForeignKeys(System.String,System.String,System.String)">
<summary>
Retrieves foreign key information from the specified set of filters
</summary>
<param name="strCatalog">An optional catalog to restrict results on</param>
<param name="strTable">An optional table to restrict results on</param>
<param name="strKeyName">An optional foreign key name to restrict results on</param>
<returns>A DataTable with the results of the query</returns>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection._handlers">
<summary>
Static variable to store the connection event handlers to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.StateChange">
<summary>
This event is raised whenever the database is opened or closed.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Changed">
<summary>
This event is raised when events related to the lifecycle of a
SQLiteConnection object occur.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionTimeout">
<summary>
Obsolete
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PoolCount">
<summary>
Returns the number of pool entries for the file name associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionString">
<summary>
The connection string containing the parameters for the connection
</summary>
<remarks>
<list type="table">
<listheader>
<term>Parameter</term>
<term>Values</term>
<term>Required</term>
<term>Default</term>
</listheader>
<item>
<description>Data Source</description>
<description>This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).</description>
<description>Y</description>
<description></description>
</item>
<item>
<description>Version</description>
<description>3</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>UseUTF16Encoding</description>
<description><b>True</b><br/><b>False</b></description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>DateTimeFormat</description>
<description>
<b>Ticks</b> - Use the value of DateTime.Ticks.<br/>
<b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/>
<b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/>
<b>UnixEpoch</b> - The whole number of seconds since the Unix epoch (January 1, 1970).<br/>
<b>InvariantCulture</b> - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.<br/>
<b>CurrentCulture</b> - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.</description>
<description>N</description>
<description>ISO8601</description>
</item>
<item>
<description>DateTimeKind</description>
<description><b>Unspecified</b> - Not specified as either UTC or local time.<br/><b>Utc</b> - The time represented is UTC.<br/><b>Local</b> - The time represented is local time.</description>
<description>N</description>
<description>Unspecified</description>
</item>
<item>
<description>BaseSchemaName</description>
<description>Some base data classes in the framework (e.g. those that build SQL queries dynamically)
assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used
as a placeholder and removed prior to preparing any SQL statements that may contain it.</description>
<description>N</description>
<description>sqlite_default_schema</description>
</item>
<item>
<description>BinaryGUID</description>
<description><b>True</b> - Store GUID columns in binary form<br/><b>False</b> - Store GUID columns as text</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>Cache Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>2000</description>
</item>
<item>
<description>Synchronous</description>
<description><b>Normal</b> - Normal file flushing behavior<br/><b>Full</b> - Full flushing after all writes<br/><b>Off</b> - Underlying OS flushes I/O's</description>
<description>N</description>
<description>Full</description>
</item>
<item>
<description>Page Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>1024</description>
</item>
<item>
<description>Password</description>
<description>{password} - Using this parameter requires that the CryptoAPI based codec be enabled at compile-time for both the native interop assembly and the core managed assemblies; otherwise, using this parameter may result in an exception being thrown when attempting to open the connection.</description>
<description>N</description>
<description></description>
</item>
<item>
<description>Enlist</description>
<description><b>Y</b> - Automatically enlist in distributed transactions<br/><b>N</b> - No automatic enlistment</description>
<description>N</description>
<description>Y</description>
</item>
<item>
<description>Pooling</description>
<description><b>True</b> - Use connection pooling<br/><b>False</b> - Do not use connection pooling</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>FailIfMissing</description>
<description><b>True</b> - Don't create the database if it does not exist, throw an error instead<br/><b>False</b> - Automatically create the database if it does not exist</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Page Count</description>
<description>{size in pages} - Limits the maximum number of pages (limits the size) of the database</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Legacy Format</description>
<description><b>True</b> - Use the more compatible legacy 3.x database format<br/><b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Default Timeout</description>
<description>{time in seconds}<br/>The default command timeout</description>
<description>N</description>
<description>30</description>
</item>
<item>
<description>Journal Mode</description>
<description><b>Delete</b> - Delete the journal file after a commit<br/><b>Persist</b> - Zero out and leave the journal file on disk after a commit<br/><b>Off</b> - Disable the rollback journal entirely</description>
<description>N</description>
<description>Delete</description>
</item>
<item>
<description>Read Only</description>
<description><b>True</b> - Open the database for read only access<br/><b>False</b> - Open the database for normal read/write access</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Pool Size</description>
<description>The maximum number of connections for the given connection string that can be in the connection pool</description>
<description>N</description>
<description>100</description>
</item>
<item>
<description>Default IsolationLevel</description>
<description>The default transaciton isolation level</description>
<description>N</description>
<description>Serializable</description>
</item>
<item>
<description>Foreign Keys</description>
<description>Enable foreign key constraints</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Flags</description>
<description>Extra behavioral flags for the connection. See the <see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for possible values.</description>
<description>N</description>
<description>Default</description>
</item>
<item>
<description>SetDefaults</description>
<description>
<b>True</b> - Apply the default connection settings to the opened database.<br/>
<b>False</b> - Skip applying the default connection settings to the opened database.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>ToFullPath</description>
<description>
<b>True</b> - Attempt to expand the data source file name to a fully qualified path before opening.<br/>
<b>False</b> - Skip attempting to expand the data source file name to a fully qualified path before opening.
</description>
<description>N</description>
<description>True</description>
</item>
</list>
</remarks>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
<summary>
Returns the data source file name without extension or path.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Database">
<summary>
Returns the string "main".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
This can also be set in the ConnectionString with "Default Timeout"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ParseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Flags">
<summary>
Gets/sets the extra behavioral flags for this connection. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ServerVersion">
<summary>
Returns the version of the underlying SQLite database engine
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Changes">
<summary>
Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefineConstants">
<summary>
Returns a string containing the define constants (i.e. compile-time
options) used to compile the core managed assembly, delimited with
spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteVersion">
<summary>
Returns the version of the underlying SQLite database engine
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteSourceId">
<summary>
This method returns the string whose value is the same as the
SQLITE_SOURCE_ID C preprocessor macro used when compiling the
SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.State">
<summary>
Returns the state of the connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Update">
<summary>
This event is raised whenever SQLite makes an update/delete/insert into the database on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Commit">
<summary>
This event is raised whenever SQLite is committing a transaction.
Return non-zero to trigger a rollback.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Trace">
<summary>
This event is raised whenever SQLite statement first begins executing on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.RollBack">
<summary>
This event is raised whenever SQLite is rolling back a transaction.
</summary>
</member>
<member name="T:System.Data.SQLite.SynchronizationModes">
<summary>
The I/O file cache flushing behavior for the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Normal">
<summary>
Normal file flushing at critical sections of the code
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Full">
<summary>
Full file flushing after every write operation
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Off">
<summary>
Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommitHandler">
<summary>
Raised when a transaction is about to be committed. To roll back a transaction, set the
rollbackTrans boolean value to true.
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">Event arguments on the transaction</param>
</member>
<member name="T:System.Data.SQLite.SQLiteUpdateEventHandler">
<summary>
Raised when data is inserted, updated and deleted on a given connection
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">The event parameters which triggered the event</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTraceEventHandler">
<summary>
Raised when a statement first begins executing on a given connection
</summary>
<param name="sender">The connection executing the statement</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteBackupCallback">
<summary>
Raised between each backup step.
</summary>
<param name="source">
The source database connection.
</param>
<param name="sourceName">
The source database name.
</param>
<param name="destination">
The destination database connection.
</param>
<param name="destinationName">
The destination database name.
</param>
<param name="pages">
The number of pages copied with each step.
</param>
<param name="remainingPages">
The number of pages remaining to be copied.
</param>
<param name="totalPages">
The total number of pages in the source database.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True to continue with the backup process or false to halt the backup
process, rolling back any changes that have been made so far.
</returns>
</member>
<member name="T:System.Data.SQLite.UpdateEventType">
<summary>
Whenever an update event is triggered on a connection, this enum will indicate
exactly what type of operation is being performed.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Delete">
<summary>
A row is being deleted from the given database and table
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Insert">
<summary>
A row is being inserted into the table.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Update">
<summary>
A row is being updated in the table.
</summary>
</member>
<member name="T:System.Data.SQLite.UpdateEventArgs">
<summary>
Passed during an Update callback, these event arguments detail the type of update operation being performed
on the given connection.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Database">
<summary>
The name of the database being updated (usually "main" but can be any attached or temporary database)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Table">
<summary>
The name of the table being updated
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Event">
<summary>
The type of update being performed (insert/update/delete)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.RowId">
<summary>
The RowId affected by this update.
</summary>
</member>
<member name="T:System.Data.SQLite.CommitEventArgs">
<summary>
Event arguments raised when a transaction is being committed
</summary>
</member>
<member name="F:System.Data.SQLite.CommitEventArgs.AbortTransaction">
<summary>
Set to true to abort the transaction and trigger a rollback
</summary>
</member>
<member name="T:System.Data.SQLite.TraceEventArgs">
<summary>
Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text
</summary>
</member>
<member name="F:System.Data.SQLite.TraceEventArgs.Statement">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._connections">
<summary>
The connection pool object
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolVersion">
<summary>
The default version number new pools will get
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolOpened">
<summary>
The number of connections successfully opened from any pool.
This value is incremented by the Remove method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolClosed">
<summary>
The number of connections successfully closed from any pool.
This value is incremented by the Add method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">The file name to match or null to match all files.</param>
<param name="counts">The pool entry counts for each matching file.</param>
<param name="openCount">The total number of connections successfully opened from any pool.</param>
<param name="closeCount">The total number of connections successfully closed from any pool.</param>
<param name="totalCount">The total number of pool entries for all matching files.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Attempt to pull a pooled connection out of the queue for active duty
</summary>
<param name="fileName">The filename for a desired connection</param>
<param name="maxPoolSize">The maximum size the connection pool for the filename can be</param>
<param name="version">The pool version the returned connection will belong to</param>
<returns>Returns NULL if no connections were available. Even if none are, the poolversion will still be a valid pool version</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearAllPools">
<summary>
Clears out all pooled connections and rev's up the default pool version to force all old active objects
not in the pool to get discarded rather than returned to their pools.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearPool(System.String)">
<summary>
Clear a given pool for a given filename. Discards anything in the pool for the given file, and revs the pool
version so current active objects on the old version of the pool will get discarded rather than be returned to the pool.
</summary>
<param name="fileName">The filename of the pool to clear</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Add(System.String,System.Data.SQLite.SQLiteConnectionHandle,System.Int32)">
<summary>
Return a connection to the pool for someone else to use.
</summary>
<param name="fileName">The filename of the pool to use</param>
<param name="hdl">The connection handle to pool</param>
<param name="version">The pool version the handle was created under</param>
<remarks>
If the version numbers don't match between the connection and the pool, then the handle is discarded.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ResizePool(System.Data.SQLite.SQLiteConnectionPool.Pool,System.Boolean)">
<summary>
We don't have to thread-lock anything in this function, because it's only called by other functions above
which already have a thread-safe lock.
</summary>
<param name="queue">The queue to resize</param>
<param name="forAdding">If a function intends to add to the pool, this is true, which forces the resize
to take one more than it needs from the pool</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool.Pool">
<summary>
Keeps track of connections made on a specified file. The PoolVersion dictates whether old objects get
returned to the pool or discarded when no longer in use.
</summary>
</member>
<member name="T:System.Data.SQLite.TypeAffinity">
<summary>
SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite
understands. The DateTime extension to the spec is for internal use only.
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
<summary>
Not used
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Int64">
<summary>
All integers in SQLite default to Int64
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Double">
<summary>
All floating point numbers in SQLite default to double
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Text">
<summary>
The default data type of SQLite is text
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Blob">
<summary>
Typically blob types are only seen when returned from a function
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Null">
<summary>
Null types can be returned from functions
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.DateTime">
<summary>
Used internally by this provider
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.None">
<summary>
Used internally
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventType">
<summary>
These are the event types associated with the
<see cref="T:System.Data.SQLite.SQLiteConnectionEventHandler"/>
delegate (and its corresponding event) and the
<see cref="T:System.Data.SQLite.ConnectionEventArgs"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Invalid">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Unknown">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opening">
<summary>
The connection is being opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ConnectionString">
<summary>
The connection string has been parsed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opened">
<summary>
The connection was opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase">
<summary>
The <see cref="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase"/> method was called on the
connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewTransaction">
<summary>
A transaction was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.EnlistTransaction">
<summary>
The connection was enlisted into a transaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCommand">
<summary>
A command was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closing">
<summary>
The connection is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closed">
<summary>
The connection was closed.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDateFormats">
<summary>
This implementation of SQLite for ADO.NET can process date/time fields in databases in only one of three formats. Ticks, ISO8601
and JulianDay.
</summary>
<remarks>
ISO8601 is more compatible, readable, fully-processable, but less accurate as it doesn't provide time down to fractions of a second.
JulianDay is the numeric format the SQLite uses internally and is arguably the most compatible with 3rd party tools. It is
not readable as text without post-processing.
Ticks less compatible with 3rd party tools that query the database, and renders the DateTime field unreadable as text without post-processing.
The preferred order of choosing a datetime format is JulianDay, ISO8601, and then Ticks. Ticks is mainly present for legacy
code support.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
<summary>
Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
<summary>
Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and
"yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
<summary>
The interval of time in days and fractions of a day since January 1, 4713 BC.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.UnixEpoch">
<summary>
The whole number of seconds since the Unix epoch (January 1, 1970).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.InvariantCulture">
<summary>
Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.CurrentCulture">
<summary>
Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Default">
<summary>
The default format for this provider.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
<summary>
This enum determines how SQLite treats its journal file.
</summary>
<remarks>
By default SQLite will create and delete the journal file when needed during a transaction.
However, for some computers running certain filesystem monitoring tools, the rapid
creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
when starting a transaction. If this is happening, you may want to change the default journal mode to Persist.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Default">
<summary>
The default mode, this causes SQLite to use the existing journaling mode for the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
<summary>
SQLite will create and destroy the journal file as-needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
<summary>
When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased,
and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
<summary>
This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database
corruption in this mode!
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Truncate">
<summary>
SQLite will truncate the journal file to zero-length instead of deleting it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Memory">
<summary>
SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity.
If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the
database file will very likely go corrupt.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Wal">
<summary>
SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent;
after being set it stays in effect across multiple database connections and after closing and reopening the database. A database
in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteSynchronousEnum">
<summary>
Possible values for the "synchronous" database setting. This setting determines
how often the database engine calls the xSync method of the VFS.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Default">
<summary>
Use the default "synchronous" database setting. Currently, this should be
the same as using the FULL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Off">
<summary>
The database engine continues without syncing as soon as it has handed
data off to the operating system. If the application running SQLite
crashes, the data will be safe, but the database might become corrupted
if the operating system crashes or the computer loses power before that
data has been written to the disk surface.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Normal">
<summary>
The database engine will still sync at the most critical moments, but
less often than in FULL mode. There is a very small (though non-zero)
chance that a power failure at just the wrong time could corrupt the
database in NORMAL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Full">
<summary>
The database engine will use the xSync method of the VFS to ensure that
all content is safely written to the disk surface prior to continuing.
This ensures that an operating system crash or power failure will not
corrupt the database. FULL synchronous is very safe, but it is also
slower.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteType">
<summary>
Struct used internally to determine the datatype of a column in a resultset
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Type">
<summary>
The DbType of the column, or DbType.Object if it cannot be determined
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Affinity">
<summary>
The affinity of a column, used for expressions or when Type is DbType.Object
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDataAdapter">
<summary>
SQLite implementation of DbDataAdapter.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor">
<overloads>
This class is just a shell around the DbDataAdapter. Nothing from DbDataAdapter is overridden here, just a few constructors are defined.
</overloads>
<summary>
Default constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Constructs a data adapter using the specified select command.
</summary>
<param name="cmd">The select command to associate with the adapter.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Constructs a data adapter with the supplied select command text and associated with the specified connection.
</summary>
<param name="commandText">The select command text to associate with the data adapter.</param>
<param name="connection">The connection to associate with the select command.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String)">
<summary>
Constructs a data adapter with the specified select command text, and using the specified database connection string.
</summary>
<param name="commandText">The select command text to use to construct a select command.</param>
<param name="connectionString">A connection string suitable for passing to a new SQLiteConnection, which is associated with the select command.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdating(System.Data.Common.RowUpdatingEventArgs)">
<summary>
Raised by the underlying DbDataAdapter when a row is being updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdated(System.Data.Common.RowUpdatedEventArgs)">
<summary>
Raised by DbDataAdapter after a row is updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdating">
<summary>
Row updating event handler
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdated">
<summary>
Row updated event handler
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.SelectCommand">
<summary>
Gets/sets the select command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.InsertCommand">
<summary>
Gets/sets the insert command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.UpdateCommand">
<summary>
Gets/sets the update command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.DeleteCommand">
<summary>
Gets/sets the delete command for this DataAdapter
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDataReader">
<summary>
SQLite implementation of DbDataReader.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._command">
<summary>
Underlying command this reader is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatementIndex">
<summary>
Index of the current statement in the command being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatement">
<summary>
Current statement being Read()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._readingState">
<summary>
State of the current statement being processed.
-1 = First Step() executed, so the first Read() will be ignored
0 = Actively reading
1 = Finished reading
2 = Non-row-returning statement, no records
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._rowsAffected">
<summary>
Number of records affected by the insert/update statements executed on the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldCount">
<summary>
Count of fields (columns) in the row-returning statement currently being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldIndexes">
<summary>
Maps the field (column) names to their corresponding indexes within the results.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldTypeArray">
<summary>
Datatypes of active fields (columns) in the current statement, used for type-restricting data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._commandBehavior">
<summary>
The behavior of the datareader
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._disposeCommand">
<summary>
If set, then dispose of the command object when the reader is finished
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._throwOnDisposed">
<summary>
If set, then raise an exception when the object is accessed after being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._keyInfo">
<summary>
An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._version">
<summary>
Matches the version of the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information. Matches the base schema name used by the
associated connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.#ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)">
<summary>
Internal constructor, initializes the datareader and sets up to begin executing statements
</summary>
<param name="cmd">The SQLiteCommand this data reader is for</param>
<param name="behave">The expected behavior of the data reader</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Dispose(System.Boolean)">
<summary>
Dispose of all resources used by this datareader.
</summary>
<param name="disposing"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Close">
<summary>
Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckClosed">
<summary>
Throw an error if the datareader is closed
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckValidRow">
<summary>
Throw an error if a row is not loaded
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetEnumerator">
<summary>
Enumerator support
</summary>
<returns>Returns a DbEnumerator object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyType(System.Int32,System.Data.DbType)">
<summary>
SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table
and the affinity of returned types are all we have to go on to type-restrict data in the reader.
This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In
the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do.
</summary>
<returns>
This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
</returns>
<param name="i">The index of the column to type-check</param>
<param name="typ">The type we want to get out of the column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBoolean(System.Int32)">
<summary>
Retrieves the column as a boolean value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>bool</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetByte(System.Int32)">
<summary>
Retrieves the column as a single byte value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>byte</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of bytes (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldOffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the bytes into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of bytes written into the array</returns>
<remarks>
To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChar(System.Int32)">
<summary>
Returns the column as a single character
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>char</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of chars (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldoffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the characters into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of characters written into the array</returns>
<remarks>
To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDataTypeName(System.Int32)">
<summary>
Retrieves the name of the back-end datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDateTime(System.Int32)">
<summary>
Retrieve the column as a date/time value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDecimal(System.Int32)">
<summary>
Retrieve the column as a decimal value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>decimal</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDouble(System.Int32)">
<summary>
Returns the column as a double
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>double</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFieldType(System.Int32)">
<summary>
Returns the .NET type of a given column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFloat(System.Int32)">
<summary>
Returns a column as a float value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>float</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetGuid(System.Int32)">
<summary>
Returns the column as a Guid
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Guid</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt16(System.Int32)">
<summary>
Returns the column as a short
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int16</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt32(System.Int32)">
<summary>
Retrieves the column as an int
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int32</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt64(System.Int32)">
<summary>
Retrieves the column as a long
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int64</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetName(System.Int32)">
<summary>
Retrieves the name of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetOrdinal(System.String)">
<summary>
Retrieves the i of a column, given its name
</summary>
<param name="name">The name of the column to retrieve</param>
<returns>The int i of the column</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSchemaTable">
<summary>
Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done
to gather the necessary information so it can be represented in an ADO.NET manner.
</summary>
<returns>Returns a DataTable containing the schema information for the active SELECT statement being processed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetString(System.Int32)">
<summary>
Retrieves the column as a string
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValue(System.Int32)">
<summary>
Retrieves the column as an object corresponding to the underlying datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues(System.Object[])">
<summary>
Retreives the values of multiple columns, up to the size of the supplied array
</summary>
<param name="values">The array to fill with values from the columns in the current resultset</param>
<returns>The number of columns retrieved</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues">
<summary>
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no
current row or no current resultset, an exception may be thrown.
</summary>
<returns>
The collection containing the column name and value information for the
current row of data in the current resultset or null if this information
cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.IsDBNull(System.Int32)">
<summary>
Returns True if the specified column is null
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>True or False</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.NextResult">
<summary>
Moves to the next resultset in multiple row-returning SQL command.
</summary>
<returns>True if the command was successful and a new resultset is available, False otherwise.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Int32)">
<summary>
Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>A SQLiteType structure</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Read">
<summary>
Reads the next row from the resultset
</summary>
<returns>True if a new row was successfully loaded and is ready for processing</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Depth">
<summary>
Not implemented. Returns 0
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.FieldCount">
<summary>
Returns the number of columns in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.VisibleFieldCount">
<summary>
Returns the number of visible fields in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.HasRows">
<summary>
Returns True if the resultset has rows that can be fetched
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.IsClosed">
<summary>
Returns True if the data reader is closed
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.RecordsAffected">
<summary>
Retrieve the count of records affected by an update/insert command. Only valid once the data reader is closed!
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.String)">
<summary>
Indexer to retrieve data from a column given its name
</summary>
<param name="name">The name of the column to retrieve data for</param>
<returns>The value contained in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.Int32)">
<summary>
Indexer to retrieve data from a column given its i
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>The value contained in the column</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteException">
<summary>
SQLite exception class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Public constructor for generating a SQLite exception given the error
code and message.
</summary>
<param name="errorCode">
The SQLite return code to report.
</param>
<param name="message">
Message text to go along with the return code message text.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String)">
<summary>
Public constructor that uses the base class constructor for the error
message.
</summary>
<param name="message">Error message text.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor">
<summary>
Public constructor that uses the default base class constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String,System.Exception)">
<summary>
Public constructor that uses the base class constructor for the error
message and inner exception.
</summary>
<param name="message">Error message text.</param>
<param name="innerException">The original (inner) exception.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code.
</summary>
<param name="errorCode">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetStockErrorMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Returns the composite error message based on the SQLite return code
and the optional detailed error message.
</summary>
<param name="errorCode">The SQLite return code.</param>
<param name="message">Optional detailed error message.</param>
<returns>Error message text for the return code.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ReturnCode">
<summary>
Gets the associated SQLite return code for this exception as a
<see cref="T:System.Data.SQLite.SQLiteErrorCode"/>. This property returns the same
underlying value as the <see cref="P:System.Data.SQLite.SQLiteException.ErrorCode"/> property.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ErrorCode">
<summary>
Gets the associated SQLite return code for this exception as an
<see cref="T:System.Int32"/>. For desktop versions of the .NET Framework,
this property overrides the property of the same name within the
<see cref="T:System.Runtime.InteropServices.ExternalException"/>
class. This property returns the same underlying value as the
<see cref="P:System.Data.SQLite.SQLiteException.ReturnCode"/> property.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteErrorCode">
<summary>
SQLite error codes. Actually, this enumeration represents a return code,
which may also indicate success in one of several ways (e.g. SQLITE_OK,
SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is
something of a misnomer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Ok">
<summary>
Successful result
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Error">
<summary>
SQL error or missing database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Internal">
<summary>
Internal logic error in SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Perm">
<summary>
Access permission denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort">
<summary>
Callback routine requested an abort
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy">
<summary>
The database file is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked">
<summary>
A table in the database is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoMem">
<summary>
A malloc() failed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly">
<summary>
Attempt to write a readonly database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Interrupt">
<summary>
Operation terminated by sqlite3_interrupt()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr">
<summary>
Some kind of disk I/O error occurred
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt">
<summary>
The database disk image is malformed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotFound">
<summary>
Unknown opcode in sqlite3_file_control()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Full">
<summary>
Insertion failed because database is full
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen">
<summary>
Unable to open the database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Protocol">
<summary>
Database lock protocol error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Empty">
<summary>
Database is empty
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Schema">
<summary>
The database schema changed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.TooBig">
<summary>
String or BLOB exceeds size limit
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint">
<summary>
Abort due to constraint violation
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Mismatch">
<summary>
Data type mismatch
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Misuse">
<summary>
Library used incorrectly
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoLfs">
<summary>
Uses OS features not supported on host
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth">
<summary>
Authorization denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Format">
<summary>
Auxiliary database format error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Range">
<summary>
2nd parameter to sqlite3_bind out of range
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotADb">
<summary>
File opened that is not a database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Row">
<summary>
sqlite3_step() has another row ready
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Done">
<summary>
sqlite3_step() has finished executing
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunction">
<summary>
This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each
connection to the database.
</summary>
<remarks>
Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database
calls during processing.
It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class
services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement
information in member variables of user-defined function classes.
For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will
be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction.COR_E_EXCEPTION">
<summary>
The error code used for logging exceptions caught in user-provided
code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._base">
<summary>
The base connection this function is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._contextDataList">
<summary>
Internal array used to keep track of aggregate function context data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._flags">
<summary>
The connection flags associated with this object (this should be the
same value as the flags associated with the parent connection object).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._InvokeFunc">
<summary>
Holds a reference to the callback function for user functions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._StepFunc">
<summary>
Holds a reference to the callbakc function for stepping in an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._FinalFunc">
<summary>
Holds a reference to the callback function for finalizing an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._CompareFunc">
<summary>
Holds a reference to the callback function for collation sequences
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._context">
<summary>
Current context of the current callback. Only valid during a callback
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._registeredFunctions">
<summary>
This static list contains all the user-defined functions declared using the proper attributes.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor">
<summary>
Internal constructor, initializes the function's internal variables.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose">
<summary>
Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if
someone closes the connection while a DataReader is open.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose(System.Boolean)">
<summary>
Placeholder for a user-defined disposal routine
</summary>
<param name="disposing">True if the object is being disposed explicitly</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])">
<summary>
Scalar functions override this method to do their magic.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="args">The arguments for the command to process</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
Aggregate functions override this method to do their magic.
</summary>
<remarks>
Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible.
</remarks>
<param name="args">The arguments for the command to process</param>
<param name="stepNumber">The 1-based step number. This is incrememted each time the step method is called.</param>
<param name="contextData">A placeholder for implementers to store contextual data pertaining to the current context.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)">
<summary>
Aggregate functions override this method to finish their aggregate processing.
</summary>
<remarks>
If you implemented your aggregate function properly,
you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have
all the information you need in there to figure out what to return.
NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will
be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value
if that is the case.
</remarks>
<param name="contextData">Your own assigned contextData, provided for you so you can return your final results.</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)">
<summary>
User-defined collation sequences override this method to provide a custom string sorting algorithm.
</summary>
<param name="param1">The first string to compare</param>
<param name="param2">The second strnig to compare</param>
<returns>1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ConvertParams(System.Int32,System.IntPtr)">
<summary>
Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="nArgs">The number of arguments</param>
<param name="argsptr">A pointer to the array of arguments</param>
<returns>An object array of the arguments once they've been converted to .NET values</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.SetReturnValue(System.IntPtr,System.Object)">
<summary>
Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context.
</summary>
<param name="context">The context the return value applies to</param>
<param name="returnValue">The parameter to return to SQLite</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ScalarCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collation sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback16(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collation sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.StepCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method.
WARNING: Must not throw exceptions.
</summary>
<remarks>
This function takes care of doing the lookups and getting the important information put together to call the Step() function.
That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so
binary searches can be done to find the data.
</remarks>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr)">
<summary>
An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#cctor">
<summary>
Using reflection, enumerate all assemblies in the current appdomain looking for classes that
have a SQLiteFunctionAttribute attribute, and registering them accordingly.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.Type)">
<summary>
Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work
properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported.
</summary>
<param name="typ">The type of the function to register</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Called by SQLiteBase derived classes, this function binds all user-defined functions to a connection.
It is done this way so that all user-defined functions will access the database using the same encoding scheme
as the connection (UTF-8 or UTF-16).
</summary>
<remarks>
The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks.
</remarks>
<param name="sqlbase">The base object on which the functions are to bind</param>
<param name="flags">The flags associated with the parent connection object</param>
<returns>Returns an array of functions which the connection object should retain until the connection is closed.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteFunction.SQLiteConvert">
<summary>
Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
strings and DateTime's into the current connection's encoding schema.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionEx">
<summary>
Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
</summary>
<remarks>
User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.GetCollationSequence">
<summary>
Obtains the collating sequence in effect for the given function.
</summary>
<returns></returns>
</member>
<member name="T:System.Data.SQLite.FunctionType">
<summary>
The type of user-defined function to declare
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Scalar">
<summary>
Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Aggregate">
<summary>
Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
Examples include SUM(), COUNT(), AVG(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Collation">
<summary>
Collation sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is
sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting
in a user-defined manner.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCallback">
<summary>
An internal callback delegate declaration.
</summary>
<param name="context">Raw context pointer for the user function</param>
<param name="nArgs">Count of arguments to the function</param>
<param name="argsptr">A pointer to the array of argument pointers</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalCallback">
<summary>
An internal final callback delegate declaration.
</summary>
<param name="context">Raw context pointer for the user function</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCollation">
<summary>
Internal callback delegate for implementing collation sequences
</summary>
<param name="puser">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="pv1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="pv2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second.</returns>
</member>
<member name="T:System.Data.SQLite.CollationTypeEnum">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Binary">
<summary>
The built-in BINARY collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.NoCase">
<summary>
The built-in NOCASE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Reverse">
<summary>
The built-in REVERSE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Custom">
<summary>
A custom user-defined collating sequence
</summary>
</member>
<member name="T:System.Data.SQLite.CollationEncodingEnum">
<summary>
The encoding type the collation sequence uses
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF8">
<summary>
The collation sequence is UTF8
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16LE">
<summary>
The collation sequence is UTF16 little-endian
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16BE">
<summary>
The collation sequence is UTF16 big-endian
</summary>
</member>
<member name="T:System.Data.SQLite.CollationSequence">
<summary>
A struct describing the collating sequence a function is executing in
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Name">
<summary>
The name of the collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Type">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Encoding">
<summary>
The text encoding of the collation sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence._func">
<summary>
Context of the function that requested the collating sequence
</summary>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.String,System.String)">
<summary>
Calls the base collating sequence to compare two strings
</summary>
<param name="s1">The first string to compare</param>
<param name="s2">The second string to compare</param>
<returns>-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2</returns>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.Char[],System.Char[])">
<summary>
Calls the base collating sequence to compare two character arrays
</summary>
<param name="c1">The first array to compare</param>
<param name="c2">The second array to compare</param>
<returns>-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
<summary>
A simple custom attribute to enable us to easily find user-defined functions in
the loaded assemblies and initialize them in SQLite as connections are made.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor">
<summary>
Default constructor, initializes the internal variables for the function.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Name">
<summary>
The function's name as it will be used in SQLite command text.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Arguments">
<summary>
The number of arguments this function expects. -1 if the number of arguments is variable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.FuncType">
<summary>
The type of function this implementation will be.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader">
<summary>
This class provides key info for a given SQLite statement.
<remarks>
Providing key information for a given statement is non-trivial :(
</remarks>
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.#ctor(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteDataReader,System.Data.SQLite.SQLiteStatement)">
<summary>
This function does all the nasty work at determining what keys need to be returned for
a given statement.
</summary>
<param name="cnn"></param>
<param name="reader"></param>
<param name="stmt"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Sync">
<summary>
Make sure all the subqueries are open and ready and sync'd with the current rowid
of the table they're supporting
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Reset">
<summary>
Release any readers on any subqueries
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.AppendSchemaTable(System.Data.DataTable)">
<summary>
Append all the columns we've added to the original query to the schema
</summary>
<param name="tbl"></param>
</member>
<member name="P:System.Data.SQLite.SQLiteKeyReader.Count">
<summary>
How many additional columns of keyinfo we're holding
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyInfo">
<summary>
Used to support CommandBehavior.KeyInfo
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyQuery">
<summary>
A single sub-query for a given table/database.
</summary>
</member>
<member name="T:System.Data.SQLite.LogEventArgs">
<summary>
Event data for logging event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.ErrorCode">
<summary>
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Message">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.LogEventArgs.#ctor(System.IntPtr,System.Object,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="pUserData">Should be null.</param>
<param name="errorCode">
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</param>
<param name="message">The error message, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLogEventHandler">
<summary>
Raised when a log event occurs.
</summary>
<param name="sender">The current connection</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteMetaDataCollectionNames">
<summary>
MetaDataCollections specific to SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Catalogs">
<summary>
Returns a list of databases attached to the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Columns">
<summary>
Returns column information for the specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Indexes">
<summary>
Returns index information for the optionally-specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.IndexColumns">
<summary>
Returns base columns for the given index
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Tables">
<summary>
Returns the tables in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Views">
<summary>
Returns user-defined views in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ViewColumns">
<summary>
Returns underlying column information on the given view
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ForeignKeys">
<summary>
Returns foreign key information for the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Triggers">
<summary>
Returns the triggers on the database
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameter">
<summary>
SQLite implementation of DbParameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dbType">
<summary>
The data type of the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._rowVersion">
<summary>
The version information for mapping the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._objValue">
<summary>
The value of the data in the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._sourceColumn">
<summary>
The source column for the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._parameterName">
<summary>
The column name
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dataSize">
<summary>
The data size, unused by SQLite
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String)">
<summary>
Constructs a named parameter given the specified parameter name
</summary>
<param name="parameterName">The parameter name</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Object)">
<summary>
Constructs a named parameter given the specified parameter name and initial value
</summary>
<param name="parameterName">The parameter name</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType)">
<summary>
Constructs a named parameter of the specified type
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String)">
<summary>
Constructs a named parameter of the specified type and source column reference
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, source column and row version
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType)">
<summary>
Constructs an unnamed parameter of the specified data type
</summary>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Object)">
<summary>
Constructs an unnamed parameter of the specified data type and sets the initial value
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String)">
<summary>
Constructs an unnamed parameter of the specified data type and source column
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified data type, source column and row version
</summary>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32)">
<summary>
Constructs a named parameter of the specified type and size
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs a named parameter of the specified type, size and source column
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="isNullable">Ignored</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="value">The initial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object)">
<summary>
Constructs a named parameter, yet another flavor
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="sourceColumnNullMapping">Whether or not this parameter is for comparing NULL's</param>
<param name="value">The intial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32)">
<summary>
Constructs an unnamed parameter of the specified type and size
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs an unnamed parameter of the specified type, size, and source column
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified type, size, source column and row version
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.ResetDbType">
<summary>
Resets the DbType of the parameter so it can be inferred from the value
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.Clone">
<summary>
Clones a parameter
</summary>
<returns>A new, unassociated SQLiteParameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.IsNullable">
<summary>
Whether or not the parameter can contain a null value
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.DbType">
<summary>
Returns the datatype of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Direction">
<summary>
Supports only input parameters
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.ParameterName">
<summary>
Returns the parameter name
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Size">
<summary>
Returns the size of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumn">
<summary>
Gets/sets the source column
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumnNullMapping">
<summary>
Used by DbCommandBuilder to determine the mapping for nullable fields
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceVersion">
<summary>
Gets and sets the row version
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Value">
<summary>
Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameterCollection">
<summary>
SQLite implementation of DbParameterCollection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._command">
<summary>
The underlying command to which this collection belongs
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._parameterList">
<summary>
The internal array of parameters in this collection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._unboundFlag">
<summary>
Determines whether or not all parameters have been bound to their statement(s)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Initializes the collection
</summary>
<param name="cmd">The command to which the collection belongs</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetEnumerator">
<summary>
Retrieves an enumerator for the collection
</summary>
<returns>An enumerator for the underlying array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<param name="sourceColumn">The source column</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Data.SQLite.SQLiteParameter)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameter">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Object)">
<summary>
Adds a parameter to the collection
</summary>
<param name="value">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddWithValue(System.String,System.Object)">
<summary>
Adds a named/unnamed parameter and its value to the parameter collection.
</summary>
<param name="parameterName">Name of the parameter, or null to indicate an unnamed parameter</param>
<param name="value">The initial value of the parameter</param>
<returns>Returns the SQLiteParameter object created during the call.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Data.SQLite.SQLiteParameter[])">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Array)">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Clear">
<summary>
Clears the array and resets the collection
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.String)">
<summary>
Determines if the named parameter exists in the collection
</summary>
<param name="parameterName">The name of the parameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.Object)">
<summary>
Determines if the parameter exists in the collection
</summary>
<param name="value">The SQLiteParameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.CopyTo(System.Array,System.Int32)">
<summary>
Not implemented
</summary>
<param name="array"></param>
<param name="index"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.String)">
<summary>
Retrieve a parameter by name from the collection
</summary>
<param name="parameterName">The name of the parameter to fetch</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.Int32)">
<summary>
Retrieves a parameter by its index in the collection
</summary>
<param name="index">The index of the parameter to retrieve</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.String)">
<summary>
Returns the index of a parameter given its name
</summary>
<param name="parameterName">The name of the parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.Object)">
<summary>
Returns the index of a parameter
</summary>
<param name="value">The parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Insert(System.Int32,System.Object)">
<summary>
Inserts a parameter into the array at the specified location
</summary>
<param name="index">The zero-based index to insert the parameter at</param>
<param name="value">The parameter to insert</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Remove(System.Object)">
<summary>
Removes a parameter from the collection
</summary>
<param name="value">The parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.String)">
<summary>
Removes a parameter from the collection given its name
</summary>
<param name="parameterName">The name of the parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.Int32)">
<summary>
Removes a parameter from the collection given its index
</summary>
<param name="index">The zero-based parameter index to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.String,System.Data.Common.DbParameter)">
<summary>
Re-assign the named parameter to a new parameter object
</summary>
<param name="parameterName">The name of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.Int32,System.Data.Common.DbParameter)">
<summary>
Re-assign a parameter at the specified index
</summary>
<param name="index">The zero-based index of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Unbind">
<summary>
Un-binds all parameters from their statements
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.MapParameters(System.Data.SQLite.SQLiteStatement)">
<summary>
This function attempts to map all parameters in the collection to all statements in a Command.
Since named parameters may span multiple statements, this function makes sure all statements are bound
to the same named parameter. Unnamed parameters are bound in sequence.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsSynchronized">
<summary>
Returns true
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsFixedSize">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsReadOnly">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.SyncRoot">
<summary>
Returns null
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Count">
<summary>
Returns a count of parameters in the collection
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.String)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="parameterName">Name of the parameter to get/set</param>
<returns>The specified named SQLite parameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.Int32)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="index">The index of the parameter to get/set</param>
<returns>The specified SQLite parameter</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStatement">
<summary>
Represents a single SQL statement in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sql">
<summary>
The underlying SQLite object this statement is bound to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlStatement">
<summary>
The command text of this SQL statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlite_stmt">
<summary>
The actual statement pointer
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._unnamedParameters">
<summary>
An index from which unnamed parameters begin
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramNames">
<summary>
Names of the parameters as SQLite understands them to be
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramValues">
<summary>
Parameters for this statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._command">
<summary>
Command this statement belongs to (if any)
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._flags">
<summary>
The flags associated with the parent connection object.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteStatementHandle,System.String,System.Data.SQLite.SQLiteStatement)">
<summary>
Initializes the statement and attempts to get all information about parameters in the statement
</summary>
<param name="sqlbase">The base SQLite object</param>
<param name="flags">The flags associated with the parent connection object</param>
<param name="stmt">The statement</param>
<param name="strCommand">The command text for this statement</param>
<param name="previous">The previous command in a multi-statement command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.Dispose">
<summary>
Disposes and finalizes the statement
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.TryGetChanges(System.Int32@)">
<summary>
If the underlying database connection is open, fetches the number of changed rows
resulting from the most recent query; otherwise, does nothing.
</summary>
<param name="changes">
The number of changes when true is returned.
Undefined if false is returned.
</param>
<returns>Non-zero if the number of changed rows was fetched.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.MapParameter(System.String,System.Data.SQLite.SQLiteParameter)">
<summary>
Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to
this statement, and if so, keeps a reference to the parameter so it can be bound later.
</summary>
<param name="s">The parameter name to map</param>
<param name="p">The parameter to assign it</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameters">
<summary>
Bind all parameters, making sure the caller didn't miss any
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.ToBoolean(System.Object,System.IFormatProvider)">
<summary>
Attempts to convert an arbitrary object to the Boolean data type.
Null object values are converted to false. Throws a SQLiteException
upon failure.
</summary>
<param name="obj">The object value to convert.</param>
<param name="provider">The format provider to use.</param>
<returns>The converted boolean value.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameter(System.Int32,System.Data.SQLite.SQLiteParameter)">
<summary>
Perform the bind operation for an individual parameter
</summary>
<param name="index">The index of the parameter to bind</param>
<param name="param">The parameter we're binding</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTransaction">
<summary>
SQLite implementation of DbTransaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteTransaction._cnn">
<summary>
The connection to which this transaction is bound
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.#ctor(System.Data.SQLite.SQLiteConnection,System.Boolean)">
<summary>
Constructs the transaction object, binding it to the supplied connection
</summary>
<param name="connection">The connection to open a transaction on</param>
<param name="deferredLock">TRUE to defer the writelock, or FALSE to lock immediately</param>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Dispose(System.Boolean)">
<summary>
Disposes the transaction. If it is currently active, any changes are rolled back.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Commit">
<summary>
Commits the current transaction.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Rollback">
<summary>
Rolls back the active transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.Connection">
<summary>
Returns the underlying connection to which this transaction applies.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.IsolationLevel">
<summary>
Gets the isolation level of the transaction. SQLite only supports Serializable transactions.
</summary>
</member>
<member name="T:System.Data.SQLite.SR">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.DataTypes">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot;?&gt;
&lt;DocumentElement&gt;
&lt;DataTypes&gt;
&lt;TypeName&gt;smallint&lt;/TypeName&gt;
&lt;ProviderDbType&gt;10&lt;/ProviderDbType&gt;
&lt;ColumnSize&gt;5&lt;/ColumnSize&gt;
&lt;DataType&gt;System.Int16&lt;/DataType&gt;
&lt;CreateFormat&gt;smallint&lt;/CreateFormat&gt;
&lt;IsAutoIncrementable&gt;false&lt;/IsAutoIncrementable&gt;
&lt;IsCaseSensitive&gt;false&lt;/IsCaseSensitive&gt;
&lt;IsFixedLength&gt;true&lt;/IsFixedLength&gt;
&lt;IsFixedPrecisionScale&gt;true&lt;/IsFixedPrecisionScale&gt;
&lt;IsLong&gt;false&lt;/IsLong&gt;
&lt;IsNullable&gt;true&lt;/ [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Keywords">
<summary>
Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.MetaDataCollections">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;DocumentElement&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;MetaDataCollections&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;DataSourceInformation&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataC [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.LoadLibrary(System.String)">
<summary>
This is the P/Invoke method that wraps the native Win32 LoadLibrary
function. See the MSDN documentation for full details on what it
does.
</summary>
<param name="fileName">
The name of the executable library.
</param>
<returns>
The native module handle upon success -OR- IntPtr.Zero on failure.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.staticSyncRoot">
<summary>
This lock is used to protect the static _SQLiteModule and
processorArchitecturePlatforms fields, below.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.processorArchitecturePlatforms">
<summary>
Stores the mappings between processor architecture names and platform
names.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteModule">
<summary>
The native module handle for the native SQLite library or the value
IntPtr.Zero.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.#cctor">
<summary>
For now, this method simply calls the Initialize method.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.Initialize">
<summary>
Attempts to initialize this class by pre-loading the native SQLite
library for the processor architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetBaseDirectory">
<summary>
Queries and returns the base directory of the current application
domain.
</summary>
<returns>
The base directory for the current application domain -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.FixUpDllFileName(System.String)">
<summary>
Determines if the dynamic link library file name requires a suffix
and adds it if necessary.
</summary>
<param name="fileName">
The original dynamic link library file name to inspect.
</param>
<returns>
The dynamic link library file name, possibly modified to include an
extension.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetProcessorArchitecture">
<summary>
Queries and returns the processor architecture of the current
process.
</summary>
<returns>
The processor architecture of the current process -OR- null if it
cannot be determined. Always returns an empty string when running on
the .NET Compact Framework.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetPlatformName(System.String)">
<summary>
Given the processor architecture, returns the name of the platform.
</summary>
<param name="processorArchitecture">
The processor architecture to be translated to a platform name.
</param>
<returns>
The platform name for the specified processor architecture -OR- null
if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.PreLoadSQLiteDll(System.String,System.String)">
<summary>
Attempts to load the native SQLite library based on the specified
directory and processor architecture.
</summary>
<param name="directory">
The base directory to use, null for default (the base directory of
the current application domain). This directory should contain the
processor architecture specific sub-directories.
</param>
<param name="processorArchitecture">
The requested processor architecture, null for default (the
processor architecture of the current process). This caller should
almost always specify null for this parameter.
</param>
<returns>
The native module handle as returned by LoadLibrary -OR- IntPtr.Zero
if the loading fails for any reason.
</returns>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/CompactFramework/System.Data.SqlClient.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/CompactFramework/System.Data.SqlClient.xml
0,0 → 1,2
<?xml version="1.0" encoding="utf-8"?>
<doc redirect="%CORSYSDIR%System.Data.xml" /> </doc>
/MKLiveView/v1.0/Source/References/CompactFramework/System.Data.SqlServerCe.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Etc/AvalonDock.Themes.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Etc/AvalonDock.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Etc/AvalonDock.xml
0,0 → 1,2344
<?xml version="1.0"?>
<doc>
<assembly>
<name>AvalonDock</name>
</assembly>
<members>
<member name="T:AvalonDock.DockableContentState">
<summary>
Enumerates all the possible states of <see cref="T:AvalonDock.DockableContent"/>
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.None">
<summary>
Content is not associated with any <see cref="T:AvalonDock.DockingManager"/> (Default State)
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.Docked">
<summary>
Content is docked to a border of a <see cref="T:AvalonDock.ResizingPanel"/> within as <see cref="T:AvalonDock.DockingManager"/> control
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.AutoHide">
<summary>
Content is hosted by a flyout window and is visible only when user move mouse over an anchor thumb located to a <see cref="T:AvalonDock.DockingManager"/> controlo border
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.DockableWindow">
<summary>
Content is hosted by a floating window and user can redock is on its <see cref="T:AvalonDock.DockingManager"/> container control
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.FloatingWindow">
<summary>
Content is hosted by a floating window that can't be docked to a its <see cref="T:AvalonDock.DockingManager"/> container control
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.Document">
<summary>
Content is hosted into a <see cref="!:DocmumentPane"/>
</summary>
</member>
<member name="F:AvalonDock.DockableContentState.Hidden">
<summary>
Content is hidden
</summary>
</member>
<member name="T:AvalonDock.DockableStyle">
<summary>
Defines how a dockable content can be dragged over a docking manager
</summary>
<remarks>This style can be composed with the 'or' operator.</remarks>
</member>
<member name="F:AvalonDock.DockableStyle.None">
<summary>
Content is not dockable at all
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.Document">
<summary>
Dockable as document
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.LeftBorder">
<summary>
Dockable to the left border of <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.RightBorder">
<summary>
Dockable to the right border of <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.TopBorder">
<summary>
Dockable to the top border of <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.BottomBorder">
<summary>
Dockable to the bottom border of <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.Floating">
<summary>
A <see cref="T:AvalonDock.DockableContent"/> with this style can be hosted in a <see cref="T:AvalonDock.FloatingWindow"/>
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.Single">
<summary>
A <see cref="T:AvalonDock.DockableContent"/> with this style can be the only one content in a <see cref="T:AvalonDock.DockablePane"/> pane (NOT YET SUPPORTED)
</summary>
<remarks>This style is not compatible with <see cref="F:AvalonDock.DockableStyle.Document"/> style</remarks>
</member>
<member name="F:AvalonDock.DockableStyle.AutoHide">
<summary>
A <see cref="!:DockableContet"/> with this style can be autohidden.
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.DockableToBorders">
<summary>
Dockable only to a border of a <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.Dockable">
<summary>
Dockable to a border of a <see cref="T:AvalonDock.DockingManager"/> and into a <see cref="T:AvalonDock.DocumentPane"/>
</summary>
</member>
<member name="F:AvalonDock.DockableStyle.DockableButNotAutoHidden">
<summary>
Dockable to a border of a <see cref="T:AvalonDock.DockingManager"/> and into a <see cref="T:AvalonDock.DocumentPane"/> but not in autohidden mode (WinForms controls)
</summary>
</member>
<member name="T:AvalonDock.DockableContentStateAndPosition">
<summary>
Represent a state of a dockable content that can be used to restore it after it's hidden
</summary>
</member>
<member name="T:AvalonDock.DockableContent">
<summary>
Identifies a content that can be drag over a <see cref="T:AvalonDock.DockingManager"/> control or hosted by a window floating over it (<see cref="T:AvalonDock.FloatingWindow"/>).
</summary>
</member>
<member name="F:AvalonDock.ManagedContent.IconProperty">
<summary>
Select an icon object for the content
</summary>
</member>
<member name="F:AvalonDock.ManagedContent.DefaultFocusedElementProperty">
<summary>
Gets or sets an element which is focused by default when content is activated
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.DetachFromContainerPane">
<summary>
Remove this content from its parent container pane
</summary>
<returns></returns>
</member>
<member name="M:AvalonDock.ManagedContent.OnManagerChanged(AvalonDock.DockingManager,AvalonDock.DockingManager)">
<summary>
Provides derived classes an opportunity to handle changes to the Manager property.
</summary>
</member>
<member name="F:AvalonDock.ManagedContent.IsActiveContentPropertyKey">
<summary>
IsActiveContent Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.SetIsActiveContent(System.Boolean)">
<summary>
Provides a secure method for setting the IsActiveContent property.
This dependency property indicates the current content is the active content between all docking manager contents
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.ManagedContent.OnIsActiveContentChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the IsActiveContent property.
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.OnIsActiveContentChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the IsActiveContent property.
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.FocusContent">
<summary>
Provides derived classes an opportunity to manage custom focus strategy.
</summary>
<remarks>
Derived classes should not call base class if don't want AvalonDock to set focus on <see cref="P:AvalonDock.ManagedContent.DefaultElement"/> object
</remarks>
</member>
<member name="F:AvalonDock.ManagedContent.IsActiveDocumentPropertyKey">
<summary>
IsActiveDocument Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.SetIsActiveDocument(System.Boolean)">
<summary>
Provides a secure method for setting the IsActiveDocument property.
This dependency property indicates is content is the active document.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.ManagedContent.OnIsActiveDocumentChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the IsActiveDocument property.
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.OnIsActiveDocumentChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the IsActiveDocument property.
</summary>
</member>
<member name="F:AvalonDock.ManagedContent.IsLockedProperty">
<summary>
IsLocked Dependency Property
</summary>
</member>
<member name="F:AvalonDock.ManagedContent.FloatingWindowSizeProperty">
<summary>
FloatingWindowSize Dependency Property
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.OnFloatingWindowSizeChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the FloatingWindowSize property.
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.OnFloatingWindowSizeChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the FloatingWindowSize property.
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.CanExecuteCommand(System.Windows.Input.ICommand)">
<summary>
Retrive a value indicating if the command passed can be executed based to the content state
</summary>
<param name="command">Command to execute</param>
<returns>True if the command can be execute, false otherwise.</returns>
</member>
<member name="M:AvalonDock.ManagedContent.Show">
<summary>
Shows the content
</summary>
<remarks>How content is shows depends from the type of the content.</remarks>
</member>
<member name="M:AvalonDock.ManagedContent.Show(AvalonDock.DockingManager)">
<summary>
Shows the content inside a <see cref="T:AvalonDock.DockingManager"/> object
</summary>
<remarks>How content is shows depends from the type of the content.</remarks>
</member>
<member name="M:AvalonDock.ManagedContent.OnClosing(System.ComponentModel.CancelEventArgs)">
<summary>
Ovveride this method to handle <see cref="!:DocumentContent.OnClosing"/> event.
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.OnClosed">
<summary>
Ovveride this method to handle <see cref="!:DocumentContent.OnClose"/> event.
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.Close">
<summary>
Close the content
</summary>
<returns>Returns true if the content was succesfully closed, false otherwise.</returns>
</member>
<member name="M:AvalonDock.ManagedContent.Hide">
<summary>
Hide the content
</summary>
</member>
<member name="M:AvalonDock.ManagedContent.Activate">
<summary>
Set the content as the active content
</summary>
<remarks>After this method returns property <see cref="P:AvalonDock.ManagedContent.IsActiveContent"/> returns true.</remarks>
</member>
<member name="M:AvalonDock.ManagedContent.SaveLayout(System.Xml.XmlWriter)">
<summary>
Save content specific layout settings
</summary>
<param name="storeWriter">Backend store writer</param>
<remarks>Custom derived class can overloads this method to handle custom layout persistence.</remarks>
</member>
<member name="M:AvalonDock.ManagedContent.RestoreLayout(System.Xml.XmlElement)">
<summary>
Restore content specific layout settings
</summary>
<param name="storeReader">Saved xml element containg content layout settings</param>
<remarks>Custom derived class must overload this method to restore custom layout settings previously saved trought <see cref="M:AvalonDock.ManagedContent.SaveLayout(System.Xml.XmlWriter)"/>.</remarks>
</member>
<member name="P:AvalonDock.ManagedContent.Title">
<summary>
Gets or set the title of the content
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.Icon">
<summary>
Access to <see cref="F:AvalonDock.ManagedContent.IconProperty"/> dependency property
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.DefaultElement">
<summary>
Access to <see cref="F:AvalonDock.ManagedContent.DefaultFocusedElementProperty"/>
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.DragEnabledArea">
<summary>
Gets the draggable area of the document
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.ContainerPane">
<summary>
Gets container pane currently hosting the content
</summary>
<remarks>Please note that this value could change as user move the content around the <see cref="T:AvalonDock.DockingManager"/>.</remarks>
</member>
<member name="P:AvalonDock.ManagedContent.Manager">
<summary>
Get current hosting docking manager (<see cref="T:AvalonDock.DockingManager"/>)
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.IsActiveContent">
<summary>
Gets the IsActiveContent property. This dependency property
indicates the active (selected) content between all contents of the docking manager
</summary>
</member>
<member name="E:AvalonDock.ManagedContent.IsActiveContentChanged">
<summary>
Event fired when the <see cref="P:AvalonDock.ManagedContent.IsActiveContent"/> property changes
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.IsActiveDocument">
<summary>
Gets the IsActiveDocument property. This dependency property
indicates is content is the active document.
</summary>
</member>
<member name="E:AvalonDock.ManagedContent.IsActiveDocumentChanged">
<summary>
Event fired when the <see cref="P:AvalonDock.ManagedContent.IsActiveContent"/> property changes
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.IsLocked">
<summary>
Gets or sets the IsLocked property. This dependency property
indicates if this content is locked (for <see cref="T:AvalonDock.DocumentContent"/> objects this often means that it's readonly).
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.FloatingWindowSize">
<summary>
Gets or sets the FloatingWindowSize property. This dependency property
indicates the size of the floating window hosting the content when it's floating.
</summary>
</member>
<member name="P:AvalonDock.ManagedContent.IsCloseable">
<summary>
Get or set a value indicating if this content can be closed or hidden
</summary>
</member>
<member name="E:AvalonDock.ManagedContent.Closing">
<summary>
Event fired when the content is about to be closed
</summary>
</member>
<member name="E:AvalonDock.ManagedContent.Closed">
<summary>
Event fired when the content has been closed
</summary>
<remarks>Note that when a document is closed property like <see cref="P:AvalonDock.ManagedContent.ContainerPane"/> or <see cref="P:AvalonDock.ManagedContent.Manager"/> returns null.</remarks>
</member>
<member name="F:AvalonDock.DockableContent.StateChangedEvent">
<summary>
StateChanged Routed Event
</summary>
</member>
<member name="M:AvalonDock.DockableContent.RaiseStateChangedEvent">
<summary>
A helper method to raise the StateChanged event.
</summary>
</member>
<member name="M:AvalonDock.DockableContent.RaiseStateChangedEvent(System.Windows.DependencyObject)">
<summary>
A static helper method to raise the StateChanged event on a target element.
</summary>
<param name="target">UIElement or ContentElement on which to raise the event</param>
</member>
<member name="F:AvalonDock.DockableContent.DockableStyleProperty">
<summary>
DockableStyle Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockableContent.Show">
<summary>
Show <see cref="T:AvalonDock.DockableContent"/> as docked pane
</summary>
</member>
<member name="M:AvalonDock.DockableContent.Show(AvalonDock.DockingManager)">
<summary>
Show <see cref="T:AvalonDock.DockableContent"/> as docked pane within provided <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="M:AvalonDock.DockableContent.Show(AvalonDock.AnchorStyle)">
<summary>
Show <see cref="T:AvalonDock.DockableContent"/> as docked pane
</summary>
<param name="desideredAnchor">Desidered anchor position</param>
</member>
<member name="M:AvalonDock.DockableContent.Show(AvalonDock.DockingManager,AvalonDock.AnchorStyle)">
<summary>
Show <see cref="T:AvalonDock.DockableContent"/> as docked pane
</summary>
</member>
<member name="M:AvalonDock.DockableContent.ShowAsDocument">
<summary>
Show as <see cref="T:AvalonDock.DockableContent"/> as a tabbed document
</summary>
</member>
<member name="M:AvalonDock.DockableContent.ShowAsDocument(AvalonDock.DockingManager)">
<summary>
Show as <see cref="T:AvalonDock.DockableContent"/> as a tabbed document under the provided <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="M:AvalonDock.DockableContent.ShowAsFloatingWindow(System.Boolean)">
<summary>
Show the content as floating window inside the provided <see cref="T:AvalonDock.DockingManager"/>
</summary>
<param name="dockableWindow">True if the resulting floating window can the be re-docked to the docking manager.</param>
</member>
<member name="M:AvalonDock.DockableContent.ShowAsFloatingWindow(AvalonDock.DockingManager,System.Boolean)">
<summary>
Show the content ad floating window
</summary>
<param name="dockableWindow">True if the resulting floating window can the be re-docked to the docking manager.</param>
</member>
<member name="M:AvalonDock.DockableContent.Hide">
<summary>
Hides this content
</summary>
</member>
<member name="M:AvalonDock.DockableContent.Close">
<summary>
Close content
</summary>
</member>
<member name="M:AvalonDock.DockableContent.Close(System.Boolean)">
<summary>
Close content
</summary>
<param name="forceClose">If true forces the content closing regardless of the <see cref="P:AvalonDock.DockableContent.HideOnClose"/> property.</param>
</member>
<member name="M:AvalonDock.DockableContent.CloseOrHide">
<summary>
Closes or hides provided content depending on HideOnClose property
</summary>
</member>
<member name="M:AvalonDock.DockableContent.CloseOrHide(System.Boolean)">
<summary>
Closes or hides content depending on HideOnClose property
</summary>
</member>
<member name="M:AvalonDock.DockableContent.ToggleAutoHide">
<summary>
Slides out this content to a border of the containing docking manager
</summary>
</member>
<member name="M:AvalonDock.DockableContent.CanExecuteCommand(System.Windows.Input.ICommand)">
<summary>
Retrive a value indicating if the command can be executed based to the dockable content state
</summary>
<param name="command"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.DockableContent.ResetSavedStateAndPosition">
<summary>
Reset internal state and position of the content
</summary>
<remarks>After a <see cref="T:AvalonDock.DockableContent"/> is hidden AvalonDock save its state and position in order to
restore it correctly when user wants to reshow it calling <see cref="M:AvalonDock.DockingManager.Show(AvalonDock.DocumentContent)"/> function. Call this method
if you want to reset these data and provide your state and anchor style calling one of the overloads of the function
<see cref="M:AvalonDock.DockingManager.Show(AvalonDock.DocumentContent)"/>.</remarks>
</member>
<member name="M:AvalonDock.DockableContent.SaveLayout(System.Xml.XmlWriter)">
<summary>
Save content specific layout settings
</summary>
<param name="storeWriter">Backend store writer</param>
<remarks>Custom derived class can overloads this method to handle custom layout persistence.</remarks>
</member>
<member name="M:AvalonDock.DockableContent.RestoreLayout(System.Xml.XmlElement)">
<summary>
Restore content specific layout settings
</summary>
<param name="storeReader">Saved xml element containg content layout settings</param>
<remarks>Custom derived class must overload this method to restore custom layout settings previously saved trought <see cref="M:AvalonDock.DockableContent.SaveLayout(System.Xml.XmlWriter)"/>.</remarks>
</member>
<member name="F:AvalonDock.DockableContent.FlyoutWindowSizeProperty">
<summary>
FlyoutWindowSize Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockableContent.OnFlyoutWindowSizeChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the FlyoutWindowSize property.
</summary>
</member>
<member name="M:AvalonDock.DockableContent.CoerceFlyoutWindowSizeValue(System.Windows.DependencyObject,System.Object)">
<summary>
Coerces the FlyoutWindowSize value.
</summary>
</member>
<member name="P:AvalonDock.DockableContent.FloatingWindowSizeToContent">
<summary>
Gets or sets a value indicating if this dockable content should change the size of a FloatingWindow when undocked
</summary>
</member>
<member name="E:AvalonDock.DockableContent.StateChanged">
<summary>
Occurs when State property changes
</summary>
</member>
<member name="P:AvalonDock.DockableContent.State">
<summary>
Gets the state of <see cref="T:AvalonDock.DockableContent"/>
</summary>
</member>
<member name="P:AvalonDock.DockableContent.DockableStyle">
<summary>
Get or sets a value that indicates how a dockable content can be dragged over and docked to a <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="P:AvalonDock.DockableContent.FlyoutWindowSize">
<summary>
Gets or sets the FlyoutWindowSize property. This dependency property
indicates size of the window hosting this content when is in auto-hidden state.
This property is persisted when layout of the container <see cref="T:AvalonDock.DockingManager"/> is saved.
</summary>
</member>
<member name="F:AvalonDock.PaneTabPanel.TabItemStyleProperty">
<summary>
TabItemStyle Dependency Property
</summary>
</member>
<member name="M:AvalonDock.PaneTabPanel.OnTabItemStyleChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the TabItemStyle property.
</summary>
</member>
<member name="M:AvalonDock.PaneTabPanel.OnTabItemStyleChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the TabItemStyle property.
</summary>
</member>
<member name="P:AvalonDock.PaneTabPanel.TabItemStyle">
<summary>
Gets or sets the TabItemStyle property. This dependency property
indicates style to use for tabs.
</summary>
</member>
<member name="F:AvalonDock.ResizingPanel.OrientationProperty">
<summary>
Give access to Orientation attached property
</summary>
<remarks>If horizontal oriented children are positioned from left to right and width of each child is computed according to <see cref="!:ResizingWidth"/> attached property value. When vertical oriented children are arranged from top to bottom, according to <see cref="!:ResizingHeight"/> of each child.</remarks>
</member>
<member name="M:AvalonDock.ResizingPanel.CorrectSizes">
<summary>
Correct sizes of children if all of them are set to absolutes
</summary>
</member>
<member name="M:AvalonDock.ResizingPanel.AdjustPanelSizes">
<summary>
Helper funcs which correct elements size of a resizing panel
</summary>
</member>
<member name="M:AvalonDock.ResizingPanel.MeasureOverride(System.Windows.Size)">
<summary>
Compute the desidered size of the panel
</summary>
<param name="availableSize"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.ResizingPanel.ArrangeOverride(System.Windows.Size)">
<summary>
Arranges children giving them a proportional space according to their <see cref="!:SplitSize"/> attached property value
</summary>
<param name="finalSize"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.ResizingPanel.splitter_DragDelta(System.Object,System.Windows.Controls.Primitives.DragDeltaEventArgs)">
<summary>
This method is called by a splitter when it is dragged
</summary>
<param name="splitter">Dragged splitter</param>
<param name="delta"></param>
</member>
<member name="M:AvalonDock.ResizingPanel.RemoveChild(System.Windows.FrameworkElement)">
<summary>
Remove a child from children collection
</summary>
<param name="childToRemove"></param>
</member>
<member name="M:AvalonDock.ResizingPanel.InsertChildRelativeTo(System.Windows.FrameworkElement,System.Windows.FrameworkElement,System.Boolean)">
<summary>
Insert a new child element into the children collection.
</summary>
<param name="childToInsert">New child element to insert.</param>
<param name="relativeChild">Child after or before which <see cref="!:childToInsert"/> element must be insert.</param>
<param name="next">True if new child must be insert after the <see cref="!:relativeChild"/> element. False otherwise.</param>
</member>
<member name="P:AvalonDock.ResizingPanel.Orientation">
<summary>
Gets or sets the orientation of the panel
</summary>
<remarks>If horizontal oriented children are positioned from left to right and width of each child is computed according to <see cref="!:ResizingWidth"/> attached property value. When vertical oriented children are arranged from top to bottom, according to <see cref="!:ResizingHeight"/> of each child.</remarks>
</member>
<member name="P:AvalonDock.RequestDocumentCloseEventArgs.DocumentToClose">
<summary>
Document content that user wants to close
</summary>
</member>
<member name="P:AvalonDock.DeserializationCallbackEventArgs.Name">
<summary>
Gets the name of the content to deserialize
</summary>
</member>
<member name="P:AvalonDock.DeserializationCallbackEventArgs.Content">
<summary>
Gets/Sets the content manually deserialized
</summary>
</member>
<member name="T:AvalonDock.DockableFloatingWindowCommands">
<summary>
Encapsulates the
</summary>
</member>
<member name="T:AvalonDock.IDropSurface">
<summary>
Defines an interface that must be implemented by objects that can host dragged panes
</summary>
</member>
<member name="M:AvalonDock.IDropSurface.OnDragEnter(System.Windows.Point)">
<summary>
Called by <see cref="!:DragPaneService"/> when user dragged pane enter this surface
</summary>
<param name="point">Location of the mouse</param>
</member>
<member name="M:AvalonDock.IDropSurface.OnDragOver(System.Windows.Point)">
<summary>
Called by <see cref="!:DragPaneService"/> when user dragged pane is over this surface
</summary>
<param name="point">Location of the mouse</param>
</member>
<member name="M:AvalonDock.IDropSurface.OnDragLeave(System.Windows.Point)">
<summary>
Called by <see cref="!:DragPaneService"/> when user dragged pane leave this surface
</summary>
<param name="point">Location of the mouse</param>
</member>
<member name="M:AvalonDock.IDropSurface.OnDrop(System.Windows.Point)">
<summary>
Called by <see cref="!:DragPaneService"/> when user drops a pane to this surface
</summary>
<param name="point">Location of the mouse</param>
</member>
<member name="P:AvalonDock.IDropSurface.IsSurfaceVisible">
<summary>
Gets a value indicating if this area is avilable for drop a dockable pane
</summary>
</member>
<member name="P:AvalonDock.IDropSurface.SurfaceRectangle">
<summary>
Gets the sensible area for drop a pane
</summary>
</member>
<member name="F:AvalonDock.Pane.ContainsActiveContentPropertyKey">
<summary>
ContainsActiveContent Read-Only Dependency Property
</summary>
<remarks>This property is specially intended for use in restyling.</remarks>
</member>
<member name="M:AvalonDock.Pane.SetContainsActiveContent(System.Boolean)">
<summary>
Provides a secure method for setting the ContainsActiveContent property.
This dependency property indicates if this <see cref="T:AvalonDock.Pane"/> contains a <see cref="T:AvalonDock.ManagedContent"/> set as active content into the parent <see cref="T:AvalonDock.DockingManager"/> object.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.Pane.OnContainsActiveContentChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the ContainsActiveContent property.
</summary>
</member>
<member name="M:AvalonDock.Pane.OnContainsActiveContentChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the ContainsActiveContent property.
</summary>
</member>
<member name="M:AvalonDock.Pane.Dock">
<summary>
Dock contained contents to the container <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="M:AvalonDock.Pane.FocusContent">
<summary>
Move focus to pane content and activate it
</summary>
</member>
<member name="M:AvalonDock.Pane.OpenOptionsMenu(System.Windows.UIElement)">
<summary>
Open the option context menu
</summary>
<param name="menuTarget">Target element under which context menu will be shown. Pass null if context menu
should be shown at mouse position.</param>
<returns>True if context menu resource was found and open, false otherwise.</returns>
</member>
<member name="M:AvalonDock.Pane.CloseOptionsMenu">
<summary>
Close the options context menu
</summary>
</member>
<member name="P:AvalonDock.Pane.ContainsActiveContent">
<summary>
Gets the ContainsActiveContent property. This dependency property
indicates if this <see cref="T:AvalonDock.Pane"/> contains a <see cref="T:AvalonDock.ManagedContent"/> set as active content into the parent <see cref="T:AvalonDock.DockingManager"/> object.
</summary>
</member>
<member name="P:AvalonDock.Pane.ShowHeader">
<summary>
Gest or set a value indicating if pane should show the tab header
</summary>
</member>
<member name="P:AvalonDock.Pane.IsOptionsMenuOpen">
<summary>
Gets a value indicating if the options context menu is open
</summary>
</member>
<member name="F:AvalonDock.DocumentPane.ContainsActiveDocumentPropertyKey">
<summary>
ContainsActiveDocument Read-Only Dependency Property
</summary>
<remarks>This property is especially intended for use in restyling.</remarks>
</member>
<member name="M:AvalonDock.DocumentPane.SetContainsActiveDocument(System.Boolean)">
<summary>
Provides a secure method for setting the ContainsActiveDocument property.
This dependency property indicates if this pane contains a <see cref="T:AvalonDock.DocumentPane"/> that has <see cref="P:AvalonDock.ManagedContent.IsActiveDocument"/> property set to true.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.DocumentPane.OnContainsActiveDocumentChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the ContainsActiveDocument property.
</summary>
</member>
<member name="M:AvalonDock.DocumentPane.OnContainsActiveDocumentChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the ContainsActiveDocument property.
</summary>
</member>
<member name="P:AvalonDock.DocumentPane.IsMainDocumentPane">
<summary>
Returns a value indicating if this pane is the main document pane
</summary>
<remarks>The main document pane is the default pane that remains always visible.</remarks>
</member>
<member name="P:AvalonDock.DocumentPane.ContainsActiveDocument">
<summary>
Gets the ContainsActiveDocument property. This dependency property
indicates if this pane contains a <see cref="T:AvalonDock.DocumentPane"/> that has <see cref="P:AvalonDock.ManagedContent.IsActiveDocument"/> property set to true.
</summary>
</member>
<member name="T:AvalonDock.DocumentContent">
<summary>
Represent a document which can be host by a <see cref="T:AvalonDock.DocumentPane"/>.
</summary>
<remarks>A document is always hosted by a <see cref="T:AvalonDock.DocumentPane"/> usually in the central area of <see cref="T:AvalonDock.DockingManager"/>.
It has limited dragging features becaus it can be only moved to an other <see cref="T:AvalonDock.DocumentPane"/> and can't float as a separate window.
You can access all documents within <see cref="T:AvalonDock.DockingManager"/> with property <see cref="P:AvalonDock.DockingManager.Documents"/>.</remarks>
</member>
<member name="F:AvalonDock.DocumentContent.InfoTipProperty">
<summary>
InfoTip Dependency Property
</summary>
</member>
<member name="F:AvalonDock.DocumentContent.ContentTypeDescriptionProperty">
<summary>
ContentTypeDescription Dependency Property
</summary>
</member>
<member name="F:AvalonDock.DocumentContent.IsFloatingPropertyKey">
<summary>
IsFloating Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DocumentContent.SetIsFloating(System.Boolean)">
<summary>
Provides a secure method for setting the IsFloating property.
This dependency property indicates if the DocumentContent is floating inside an external window.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.DocumentContent.Show">
<summary>
Show <see cref="T:AvalonDock.DocumentContent"/> as tabbed document
</summary>
</member>
<member name="M:AvalonDock.DocumentContent.Show(AvalonDock.DockingManager)">
<summary>
Show <see cref="T:AvalonDock.DocumentContent"/> as tabbed document inside the provided <see cref="T:AvalonDock.DockingManager"/>
</summary>
<param name="manager">Docking manager target</param>
</member>
<member name="M:AvalonDock.DocumentContent.Show(System.Boolean)">
<summary>
Show <see cref="T:AvalonDock.DocumentContent"/> as tabbed document or inside a floating window
</summary>
</member>
<member name="M:AvalonDock.DocumentContent.Show(AvalonDock.DockingManager,System.Boolean)">
<summary>
Show <see cref="T:AvalonDock.DocumentContent"/> as tabbed document inside the provided <see cref="T:AvalonDock.DockingManager"/>
</summary>
<param name="manager">Docking manager target</param>
<param name="showAsFloatingWindow">True if document should be shown inside a floating window (<see cref="T:AvalonDock.DocumentFloatingWindow"/>)</param>
</member>
<member name="M:AvalonDock.DocumentContent.Activate">
<summary>
Activate the document showing its header if it's not visible
</summary>
</member>
<member name="M:AvalonDock.DocumentContent.CanExecuteCommand(System.Windows.Input.ICommand)">
<summary>
Retrive a value indicating if the command can be executed based to the dockable content state
</summary>
<param name="command"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.DocumentContent.InternalClose">
<summary>
Close this content without notifications
</summary>
</member>
<member name="M:AvalonDock.DocumentContent.Close">
<summary>
Close this document removing it from its parent container
</summary>
<remarks>Use this function to close a document and remove it from its parent container. Please note
that if you simply remove it from its parent <see cref="T:AvalonDock.DocumentPane"/> without call this method, events like
<see cref="!:OnClosing"/>/<see cref="!:OnClosed"/> are not called.
</remarks>
</member>
<member name="M:AvalonDock.DocumentContent.Hide">
<summary>
Hide the <see cref="T:AvalonDock.DocumentContent"/> (Close the document)
</summary>
<returns></returns>
</member>
<member name="P:AvalonDock.DocumentContent.InfoTip">
<summary>
Gets or sets the InfoTip property. This dependency property
indicates information text attached to the document content.
</summary>
<remarks>This text is usually displayed when users switch between documents and helps them to choose the right one.</remarks>
</member>
<member name="P:AvalonDock.DocumentContent.ContentTypeDescription">
<summary>
Gets or sets the ContentTypeDescription property. This dependency property
indicates a text which describes the type of content contained in this document.
</summary>
</member>
<member name="P:AvalonDock.DocumentContent.IsFloatingAllowed">
<summary>
Gets or sets a value indicating if this document can float over main window (VS2010 Feature).
</summary>
</member>
<member name="P:AvalonDock.DocumentContent.IsFloating">
<summary>
Gets the IsFloating property. This dependency property
indicates if the DocumentContent is floating inside an external window.
</summary>
</member>
<member name="T:AvalonDock.DockingManager">
<summary>
Represents a control which manages a dockable layout for its children
</summary>
</member>
<member name="F:AvalonDock.DockingManager.layoutFileVersion">
<summary>
Layout format version
</summary>
</member>
<member name="M:AvalonDock.DockingManager.Dispose">
<summary>
Call this function if you want to deallocate external floating windows, that otherwise are closed when main window is closed.
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnApplyTemplate">
<summary>
Overriden to get a reference to underlying template elements
</summary>
</member>
<member name="F:AvalonDock.DockingManager.ActiveDocumentProperty">
<summary>
ActiveDocument Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnActiveDocumentChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the ActiveDocument property.
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnActiveDocumentChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the ActiveDocument property.
</summary>
</member>
<member name="M:AvalonDock.DockingManager.CoerceActiveDocumentValue(System.Windows.DependencyObject,System.Object)">
<summary>
Coerces the ActiveDocument value.
</summary>
</member>
<member name="F:AvalonDock.DockingManager.ActiveContentProperty">
<summary>
ActiveContent Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnActiveContentChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the ActiveContent property.
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnActiveContentChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the ActiveContent property.
</summary>
</member>
<member name="M:AvalonDock.DockingManager.CoerceActiveContentValue(System.Windows.DependencyObject,System.Object)">
<summary>
Coerces the ActiveContent value.
</summary>
</member>
<member name="F:AvalonDock.DockingManager.DockableContentsPropertyKey">
<summary>
DockableContents Read-Only Dependency Property
</summary>
</member>
<member name="F:AvalonDock.DockingManager.DocumentsPropertyKey">
<summary>
DockableContents Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockingManager.GetMainDocumentPane(AvalonDock.ResizingPanel)">
<summary>
Returns the main document pane
</summary>
<param name="parentPanel"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.DockingManager.EnsureContentNotEmpty">
<summary>
This method ensure that content of this <see cref="T:AvalonDock.DockingManager"/> is not empty
</summary>
</member>
<member name="M:AvalonDock.DockingManager.Anchor(AvalonDock.DockablePane,AvalonDock.AnchorStyle)">
<summary>
Anchor a dockable pane to a border
</summary>
<param name="paneToAnchor"></param>
<param name="anchor"></param>
</member>
<member name="M:AvalonDock.DockingManager.Anchor(AvalonDock.Pane,AvalonDock.Pane,AvalonDock.AnchorStyle)">
<summary>
Anchor a pane (<see cref="T:AvalonDock.DockablePane"/> and <see cref="T:AvalonDock.DocumentPane"/>) to a border of a another pane
</summary>
<param name="paneToAnchor">Pane to anchor</param>
<param name="relativePane">Pane relative</param>
<param name="anchor">Position relative to the target pane</param>
</member>
<member name="M:AvalonDock.DockingManager.Anchor(AvalonDock.DockablePane,AvalonDock.DocumentPane,AvalonDock.AnchorStyle)">
<summary>
Anchor a dockable pane (<see cref="T:AvalonDock.DockablePane"/>) to a border of a document pane
</summary>
<param name="paneToAnchor">Pane to anchor</param>
<param name="relativePane">Pane relative</param>
<param name="anchor"></param>
</member>
<member name="M:AvalonDock.DockingManager.Anchor(AvalonDock.DocumentPane,AvalonDock.DocumentPane,AvalonDock.AnchorStyle)">
<summary>
Anchor a document pane (<see cref="T:AvalonDock.DocumentPane"/>) to a border of an other document pane
</summary>
<param name="paneToAnchor">Pane to anchor</param>
<param name="relativePane">Pane relative</param>
<param name="anchor"></param>
</member>
<member name="M:AvalonDock.DockingManager.Anchor(AvalonDock.DockablePane,AvalonDock.DockablePane,AvalonDock.AnchorStyle)">
<summary>
Anchor a dockable pane (<see cref="T:AvalonDock.DockablePane"/>) to a border of an other dockable pane
</summary>
<param name="paneToAnchor">Pane to anchor</param>
<param name="relativePane">Pane relative</param>
<param name="anchor"></param>
</member>
<member name="M:AvalonDock.DockingManager.RemovePaneFromTabGroups(AvalonDock.DockablePane)">
<summary>
Remove a pane from border tab groups
</summary>
<param name="pane">Pane to remove</param>
<returns>True if pane was removed, false otherwise</returns>
</member>
<member name="M:AvalonDock.DockingManager.CheckValidPanesFromTabGroups">
<summary>
Check if only vali panes are referenced by anchor tabs
</summary>
</member>
<member name="M:AvalonDock.DockingManager.ToggleAutoHide(AvalonDock.DockablePane)">
<summary>
Autohides/redock a dockable pane
</summary>
<param name="pane">Pane to auto hide/redock</param>
</member>
<member name="M:AvalonDock.DockingManager.Hide(AvalonDock.DockableContent)">
<summary>
Hide a dockable content removing it from its container <see cref="T:AvalonDock.Pane"/>
</summary>
<param name="content">Content to hide</param>
<remarks>Note that if you simply remove a content from its container without calling this method, the
layout serializer component can't managed correctly the removed content.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.Show(AvalonDock.DocumentContent)">
<summary>
Show or add a document in AvalonDock
</summary>
<param name="document">Document to show/add.</param>
<remarks>If document provided is not present in the <see cref="P:AvalonDock.DockingManager.Documents"/> list, this method inserts it in first position of <see cref="!:MainDocumentPane.Items"/> collection.
In both cases select it in the container <see cref="T:AvalonDock.DocumentPane"/>.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.Show(AvalonDock.DocumentContent,System.Boolean)">
<summary>
Show or add a document in AvalonDock
</summary>
<param name="document">Document to show/add.</param>
<param name="floating">Indicates if the document should be placed in a floating window</param>
<remarks>If document provided is not present in the <see cref="P:AvalonDock.DockingManager.Documents"/> list, this method inserts it in first position of <see cref="!:MainDocumentPane.Items"/> collection.
In both cases select it in the container <see cref="T:AvalonDock.DocumentPane"/>.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.Show(AvalonDock.DockableContent)">
<summary>
Show a dockable content in its container <see cref="T:AvalonDock.Pane"/>
</summary>
<param name="content">Content to show</param>
</member>
<member name="M:AvalonDock.DockingManager.Show(AvalonDock.DockableContent,AvalonDock.DockableContentState)">
<summary>
Show a dockable content in its container with a desidered state
</summary>
<param name="content">Content to show</param>
<param name="desideredState">State desidered</param>
</member>
<member name="M:AvalonDock.DockingManager.Show(AvalonDock.DockableContent,AvalonDock.DockableContentState,AvalonDock.AnchorStyle)">
<summary>
Show a dockable content in its container with a desidered state
</summary>
<param name="content">Content to show</param>
<param name="desideredState">State desidered</param>
<param name="desideredAnchor">Border to which anchor the newly created container pane</param>
<remarks></remarks>
</member>
<member name="M:AvalonDock.DockingManager.UpdateAnchorStyle(AvalonDock.ResizingPanel)">
<summary>
Update the <see cref="P:AvalonDock.DockablePane.Anchor"/> property relative to the <see cref="T:AvalonDock.DocumentContent"/> object
</summary>
<param name="panel"></param>
<returns></returns>
<remarks>Traverse the logical tree starting from root <see cref="T:AvalonDock.ResizingPanel"/> and set property <see cref="P:AvalonDock.DockablePane.Anchor"/> of dockable pane found.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.ForceAnchorStyle(AvalonDock.ResizingPanel,AvalonDock.AnchorStyle)">
<summary>
Called by <see cref="M:AvalonDock.DockingManager.UpdateAnchorStyle"/> whene a <see cref="T:AvalonDock.DocumentContent"/> object has been found
</summary>
<param name="panel"></param>
<param name="forcedAnchor"></param>
</member>
<member name="F:AvalonDock.DockingManager._flyoutWindow">
<summary>
Stores the only one flyout window that can be open at time
</summary>
</member>
<member name="F:AvalonDock.DockingManager._wndInteropWrapper">
<summary>
This object is used to handle interop events (i.e. WindowsPosChanging) of the main window the contains this
DockingManager object
</summary>
<remarks>WindowsPosChanging are useful to automatically resize the FlyoutWindow when user move
the main window.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.HideFlyoutWindow">
<summary>
Closes the flyout window
</summary>
</member>
<member name="M:AvalonDock.DockingManager.ShowFlyoutWindow(AvalonDock.DockableContent,AvalonDock.DockablePaneAnchorTab)">
<summary>
Shows a flyout window for a content
</summary>
<param name="content">Content to show</param>
</member>
<member name="M:AvalonDock.DockingManager.OnRenderSizeChanged(System.Windows.SizeChangedInfo)">
<summary>
Handles the resize changed event to update location and size of the flyout window
</summary>
<param name="sizeInfo"></param>
</member>
<member name="M:AvalonDock.DockingManager.OnFlyoutWindowClosing(System.Object,System.ComponentModel.CancelEventArgs)">
<summary>
Handle the closing event of the flyout window to reset internal variables
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:AvalonDock.DockingManager.UpdateFlyoutWindowPosition">
<summary>
Update location and size of the flyout window
</summary>
</member>
<member name="M:AvalonDock.DockingManager.UpdateFlyoutWindowPosition(System.Boolean)">
<summary>
Update location and size of the flyout window
</summary>
<param name="initialSetup">Indicates if thw current flyout window should be setup for the first time.</param>
</member>
<member name="M:AvalonDock.DockingManager.Drag(AvalonDock.FloatingWindow,System.Windows.Point,System.Windows.Point)">
<summary>
Begins dragging operations
</summary>
<param name="floatingWindow">Floating window containing pane which is dragged by user</param>
<param name="point">Current mouse position</param>
<param name="offset">Offset to be use to set floating window screen position</param>
<returns>Retruns True is drag is completed, false otherwise</returns>
</member>
<member name="M:AvalonDock.DockingManager.CompleteDragging(System.Windows.Point)">
<summary>
Ends all previously initiated dragging operations
</summary>
<param name="ptEndDrag"></param>
</member>
<member name="F:AvalonDock.DockingManager._overlayWindow">
<summary>
Overlay window which shows docking placeholders
</summary>
</member>
<member name="M:AvalonDock.DockingManager.AvalonDock#IDropSurface#OnDragEnter(System.Windows.Point)">
<summary>
Handles this sourface mouse entering (show current overlay window)
</summary>
<param name="point">Current mouse position</param>
</member>
<member name="M:AvalonDock.DockingManager.AvalonDock#IDropSurface#OnDragOver(System.Windows.Point)">
<summary>
Handles mouse overing this surface
</summary>
<param name="point"></param>
</member>
<member name="M:AvalonDock.DockingManager.AvalonDock#IDropSurface#OnDragLeave(System.Windows.Point)">
<summary>
Handles mouse leave event during drag (hide overlay window)
</summary>
<param name="point"></param>
</member>
<member name="M:AvalonDock.DockingManager.AvalonDock#IDropSurface#OnDrop(System.Windows.Point)">
<summary>
Handler drop events
</summary>
<param name="point">Current mouse position</param>
<returns>Returns alwasy false because this surface doesn't support direct drop</returns>
</member>
<member name="M:AvalonDock.DockingManager.SaveLayout(System.IO.TextWriter)">
<summary>
Save layout as xml to a <see cref="T:System.IO.TextWriter"/>
</summary>
<param name="textWriter">Text writter object which receive the xml text</param>
<remarks>The writer is not closed.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.SaveLayout(System.IO.Stream)">
<summary>
Save layout as xml to generic stream
</summary>
<param name="backendStream">Stream receiving the xml string</param>
<remarks>The stream is not closed</remarks>
</member>
<member name="M:AvalonDock.DockingManager.SaveLayout(System.String)">
<summary>
Save layout as xml text into a file
</summary>
<param name="filename">Path to the file</param>
<remarks>The file is created as new or overwritten is already exist a file with same name.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.SaveLayout(System.Xml.XmlWriter)">
<summary>
Send layout configuration to a <see cref="T:System.Xml.XmlTextWriter"/> object
</summary>
<param name="sw">Object which stores the xml</param>
<remarks>The writer is not closed.</remarks>
</member>
<member name="M:AvalonDock.DockingManager.RestoreLayout(System.IO.Stream)">
<summary>
Restore a <see cref="T:AvalonDock.DockingManager"/> layout from xml
</summary>
<param name="backendStream"></param>
</member>
<member name="M:AvalonDock.DockingManager.RestoreLayout(System.Xml.XmlReader)">
<summary>
Restore a <see cref="T:AvalonDock.DockingManager"/> layout from xml
</summary>
<param name="reader"></param>
</member>
<member name="M:AvalonDock.DockingManager.RestoreLayout(System.String)">
<summary>
Loads a xml content from a file and restore the <see cref="T:AvalonDock.DockingManager"/> layout contained in it
</summary>
<param name="filename"></param>
</member>
<member name="M:AvalonDock.DockingManager.RestoreLayout(System.IO.TextReader)">
<summary>
Restore a <see cref="T:AvalonDock.DockingManager"/> layout from a xml string
</summary>
<param name="reader"></param>
</member>
<member name="M:AvalonDock.DockingManager.RestoreLayout(System.Xml.XmlElement,AvalonDock.DockableContent[],AvalonDock.DocumentContent[],AvalonDock.DocumentPane@)">
<summary>
Restore from xml a resizing panel or a documentpane
</summary>
<param name="mainElement"></param>
<param name="actualContents"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.DockingManager.RestoreLayout(System.Xml.XmlDocument)">
<summary>
Internal main restore layout method
</summary>
<param name="doc">Document Xml from which restore layout</param>
</member>
<member name="F:AvalonDock.DockingManager.GLConverter">
<summary>
Static converter used to convert GridLength from/to string
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnDocumentClosing(System.ComponentModel.CancelEventArgs)">
<summary>
Ovveride this method to handle <see cref="E:AvalonDock.DockingManager.DocumentClosing"/> event.
</summary>
</member>
<member name="M:AvalonDock.DockingManager.OnDocumentClosed">
<summary>
Ovveride this method to handle <see cref="E:AvalonDock.DockingManager.DocumentClosed"/> event.
</summary>
</member>
<member name="P:AvalonDock.DockingManager.ActiveDocument">
<summary>
Gets or sets the ActiveDocument property. This dependency property
indicates currently active document.
</summary>
<remarks>The active document not neessary receive keyboard focus. To set keyboard focus on a content see <see cref="P:AvalonDock.DockingManager.ActiveContent"/></remarks>
</member>
<member name="E:AvalonDock.DockingManager.ActiveDocumentChanged">
<summary>
Raised whenever the <see cref="P:AvalonDock.DockingManager.ActiveDocument"/> property changes
</summary>
</member>
<member name="P:AvalonDock.DockingManager.ActiveContent">
<summary>
Gets or sets the ActiveContent property. This dependency property
indicates the active content.
</summary>
</member>
<member name="E:AvalonDock.DockingManager.ActiveContentChanged">
<summary>
Raised whenever the <see cref="P:AvalonDock.DockingManager.ActiveContent"/> changes
</summary>
</member>
<member name="P:AvalonDock.DockingManager.ActiveDockableContent">
<summary>
Gets the active dockable content
</summary>
<remarks>If no dockbale content us active at the moment returns null.</remarks>
</member>
<member name="P:AvalonDock.DockingManager.DockableContents">
<summary>
Gets the DockableContents property. This dependency property
retrives the collection of <see cref="T:AvalonDock.DockableContent"/> that are bound to <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="P:AvalonDock.DockingManager.Documents">
<summary>
Gets the DockableContents property. This dependency property
retrives the collection of <see cref="T:AvalonDock.DocumentContent"/> that are bound to <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="P:AvalonDock.DockingManager.DocumentsSource">
<summary>
Get or set the source collection for documents
</summary>
</member>
<member name="P:AvalonDock.DockingManager.MainDocumentPane">
<summary>
Gets the main <see cref="T:AvalonDock.DocumentPane"/> that can be used to add new document
</summary>
</member>
<member name="P:AvalonDock.DockingManager.FloatingWindows">
<summary>
Get all floating windows created by the <see cref="T:AvalonDock.DockingManager"/> while user dragged contents
</summary>
</member>
<member name="P:AvalonDock.DockingManager.IsAnimationEnabled">
<summary>
Gets or sets a value indicating if flyout windows should animate when are open or closed
</summary>
</member>
<member name="P:AvalonDock.DockingManager.AvalonDock#IDropSurface#SurfaceRectangle">
<summary>
Returns a rectangle where this surface is active
</summary>
</member>
<member name="P:AvalonDock.DockingManager.OverlayWindow">
<summary>
Returns current overlay window
</summary>
</member>
<member name="P:AvalonDock.DockingManager.RestoringLayout">
<summary>
True while is restoring a layout
</summary>
</member>
<member name="E:AvalonDock.DockingManager.DocumentClosing">
<summary>
Event fired when the document is about to be closed
</summary>
</member>
<member name="E:AvalonDock.DockingManager.DocumentClosed">
<summary>
Event fired when a document has been closed
</summary>
<remarks>Note that when a document is closed, property like <see cref="P:AvalonDock.ManagedContent.ContainerPane"/> or <see cref="P:AvalonDock.ManagedContent.Manager"/> returns null.</remarks>
</member>
<member name="M:AvalonDock.OverlayWindow.OnDragEnter(AvalonDock.OverlayWindowDockingButton,System.Windows.Point)">
<summary>
Shows a highlighting rectangle
</summary>
<param name="overlayWindowDockingButton"></param>
<param name="point"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.OverlayWindow.OnDragLeave(AvalonDock.OverlayWindowDockingButton,System.Windows.Point)">
<summary>
Hides the highlighting rectangle
</summary>
<param name="overlayWindowDockingButton"></param>
<param name="point"></param>
<returns></returns>
</member>
<member name="F:AvalonDock.OverlayWindow.OverlayButtonHoverPropertyKey">
<summary>
OverlayButtonHover Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.OverlayWindow.SetOverlayButtonHover(AvalonDock.OverlayButtonHover)">
<summary>
Provides a secure method for setting the OverlayButtonHover property.
This dependency property indicates indicates which anchor button is currently highlighted by user.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="P:AvalonDock.OverlayWindow.OverlayButtonHover">
<summary>
Gets the OverlayButtonHover property. This dependency property
indicates ....
</summary>
</member>
<member name="T:AvalonDock.FloatingWindow">
<summary>
Represents the base class for <see cref="T:AvalonDock.DockableFloatingWindow"/> and <see cref="T:AvalonDock.DocumentFloatingWindow"/> classes
</summary>
<remarks>Provides base services for floating windows</remarks>
</member>
<member name="F:AvalonDock.FloatingWindow.ContentTitlePropertyKey">
<summary>
ContentTitle Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.FloatingWindow.SetContentTitle(System.Object)">
<summary>
Provides a secure method for setting the ContentTitle property.
This dependency property indicates title of the content currectly hosted in the floating window.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.FloatingWindow.Close(System.Boolean)">
<summary>
Closes the window regardless of result of contents CanClose method call
</summary>
<param name="force"></param>
</member>
<member name="M:AvalonDock.FloatingWindow.Dock">
<summary>
Redock contained <see cref="T:AvalonDock.ManagedContent"/> object to the <see cref="!:DcokingManager"/>
</summary>
</member>
<member name="P:AvalonDock.FloatingWindow.ContentTitle">
<summary>
Gets the ContentTitle property. This dependency property
indicates title of the content currectly hosted in the floating window.
</summary>
</member>
<member name="T:AvalonDock.DockablePaneAnchorTab">
<summary>
Represents a tab displayed in a border of the docking manager
</summary>
<remarks></remarks>
</member>
<member name="M:AvalonDock.DockablePaneAnchorTab.OnPaneAttached(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles the referencedContent property changes in order to update the Anchor property
</summary>
<param name="depObj"></param>
<param name="e"></param>
</member>
<member name="F:AvalonDock.DockablePaneAnchorTab.AnchorPropertyKey">
<summary>
Anchor Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockablePaneAnchorTab.SetAnchor(AvalonDock.AnchorStyle)">
<summary>
Provides a secure method for setting the Anchor property.
This dependency property indicates the achor style of referenced content that is in autohidden state.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="F:AvalonDock.DockablePaneAnchorTab.IconPropertyKey">
<summary>
Icon Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockablePaneAnchorTab.SetIcon(System.Object)">
<summary>
Provides a secure method for setting the Icon property.
This dependency property indicates icon of the referenced content in autohidden state.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="F:AvalonDock.DockablePaneAnchorTab.TitlePropertyKey">
<summary>
Title Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockablePaneAnchorTab.SetTitle(System.Object)">
<summary>
Provides a secure method for setting the Title property.
This dependency property indicates title of the content that is hosted in autohidden pane.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.DockablePaneAnchorTab.OnMouseMove(System.Windows.Input.MouseEventArgs)">
<summary>
Handles the MouseMove event
</summary>
<param name="e"></param>
<remarks>Notify the docking manager that the referenced content should appears</remarks>
</member>
<member name="M:AvalonDock.DockablePaneAnchorTab.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
<summary>
Handles the MouseDown event
</summary>
<param name="e"></param>
<remarks>Notify the docking manager that the referenced content should appears and should be activated</remarks>
</member>
<member name="P:AvalonDock.DockablePaneAnchorTab.ReferencedContent">
<summary>
Gets or sets the referenced content
</summary>
</member>
<member name="P:AvalonDock.DockablePaneAnchorTab.Anchor">
<summary>
Gets the Anchor property. This dependency property
indicates the achor style of referenced content that is in autohidden state.
</summary>
</member>
<member name="P:AvalonDock.DockablePaneAnchorTab.Icon">
<summary>
Gets the Icon property. This dependency property
indicates icon of the referenced content in autohidden state.
</summary>
</member>
<member name="P:AvalonDock.DockablePaneAnchorTab.Title">
<summary>
Gets the Title property. This dependency property
indicates title of the content that is hosted in autohidden pane.
</summary>
</member>
<member name="T:AvalonDock.ThemeFactory">
<summary>
Is used for color-support to change the colors depending on a base theme.
</summary>
</member>
<member name="M:AvalonDock.ThemeFactory.ChangeTheme(System.String)">
<summary>
Change the theme to one from AvalonDock.
</summary>
<param name="theme">for example: "aero.normalcolor" (default style)</param>
</member>
<member name="M:AvalonDock.ThemeFactory.ChangeTheme(System.Uri)">
<summary>
Change the theme to one from AvalonDock.
</summary>
<param name="theme">for example: /AvalonDock;component/themes/aero.normalcolor.xaml" (default style)</param>
</member>
<member name="M:AvalonDock.ThemeFactory.ChangeColors(System.Windows.Media.Color)">
<summary>
Change the colors based on the aero-theme from AvalonDock.
<para>
<example>Example: ChangeColors(Colors.DarkGreen)</example>
</para>
</summary>
<param name="color">the new Color</param>
</member>
<member name="M:AvalonDock.ThemeFactory.ChangeColors(System.String,System.Windows.Media.Color)">
<summary>
Change the colors based on a theme-name from AvalonDock.
<para>
<example>Example: ChangeColors("classic", Colors.DarkGreen)</example>
</para>
</summary>
<param name="baseTheme">the string of the base theme we want to change</param>
<param name="color">the new Color</param>
</member>
<member name="M:AvalonDock.ThemeFactory.ResetTheme">
<summary>
Reset custom colors to theme defaults
</summary>
</member>
<member name="M:AvalonDock.ThemeFactory.ChangeBrush(AvalonDock.AvalonDockBrushes,System.Windows.Media.Brush)">
<summary>
Change a specified brush inside the actual theme.
Look at AvalonDockBrushes.cs for possible values.
</summary>
<param name="brushName">an AvalonDockBrushes value</param>
<param name="brush">The new brush. It can be every brush type that is derived from Brush-class.</param>
</member>
<member name="M:AvalonDock.ThemeFactory.ChangeBrush(System.String,System.Windows.Media.Brush)">
<summary>
Change a specified brush inside the actual theme.
</summary>
<param name="brushName">a brush name</param>
<param name="brush">The new brush. It can be every brush type that is derived from Brush-class.</param>
</member>
<member name="M:AvalonDock.ThemeFactory.ChangeKeysInResourceDictionary(System.Windows.ResourceDictionary,System.Windows.Media.Color)">
<summary>
Searches for keys in the ResourceDictionary for brushes and changes the color-values
</summary>
<param name="rd">the ResourceDictionary</param>
<param name="color">the new Color</param>
</member>
<member name="T:AvalonDock.DockablePane">
<summary>
Defines a pane that can contain contents of type <see cref="T:AvalonDock.DockableContent"/>
</summary>
<remarks>Usually a <see cref="T:AvalonDock.DockablePane"/> is used to arrange a series of <see cref="T:AvalonDock.DockableContent"/> in TabControl like model.
A DockablePane can be redocked to a border of the parent <see cref="T:AvalonDock.DockingManager"/>, can be floated in an external window and can be autohidden.
When docked into a docking manager the <see cref="P:AvalonDock.DockablePane.Anchor"/> property gives the border to which it's docked.
See <see cref="T:AvalonDock.DockablePaneCommands"/> to get commands that are supported by DockablePane objects.</remarks>
<seealso cref="T:AvalonDock.DockableContent"/>
<seealso cref="T:AvalonDock.DockingManager"/>
</member>
<member name="F:AvalonDock.DockablePane.ID">
<summary>
This guid is saved with the dockable content so that can be restored in the case is
referenced by a dockable content
</summary>
</member>
<member name="F:AvalonDock.DockablePane.CanAutohidePropertyKey">
<summary>
CanAutohide Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockablePane.SetCanAutohide(System.Boolean)">
<summary>
Provides a secure method for setting the CanAutohide property.
This dependency property indicates if contents inside pane can be autohidden.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="M:AvalonDock.DockablePane.CanExecuteCommand(System.Windows.Input.ICommand)">
<summary>
Retrive a value indicating if the command can be executed based to the dockable content state
</summary>
<param name="command"></param>
<returns></returns>
</member>
<member name="M:AvalonDock.DockablePane.ToggleAutoHide">
<summary>
Toggle auto hide state to all content inside the pane
</summary>
</member>
<member name="M:AvalonDock.DockablePane.Close">
<summary>
Close pane and all contained contents
</summary>
<returns>True if all content has been closed, false if at least one content couldn't be closed.</returns>
<remarks></remarks>
</member>
<member name="M:AvalonDock.DockablePane.Hide">
<summary>
Close pane and hide all contained contents
</summary>
<returns>True if all content has been hidden, false if at least one content couldn't be hidden.</returns>
<remarks></remarks>
</member>
<member name="M:AvalonDock.DockablePane.CloseOrHideCurrentContent">
<summary>
Closes or hides current content depending on HideOnClose property
</summary>
</member>
<member name="P:AvalonDock.DockablePane.CanAutohide">
<summary>
Gets the CanAutohide property. This dependency property
indicates if contents inside pane can be autohidden.
</summary>
</member>
<member name="T:AvalonDock.ContextMenuElement">
<summary>
Defines a list of context menu resources
</summary>
</member>
<member name="F:AvalonDock.ContextMenuElement.DockablePane">
<summary>
Context menu related to a <see cref="F:AvalonDock.ContextMenuElement.DockablePane"/>
</summary>
</member>
<member name="F:AvalonDock.ContextMenuElement.DocumentPane">
<summary>
Context menu related to a <see cref="F:AvalonDock.ContextMenuElement.DocumentPane"/>
</summary>
</member>
<member name="F:AvalonDock.ContextMenuElement.DockableFloatingWindow">
<summary>
Context menu related to a <see cref="F:AvalonDock.ContextMenuElement.DockableFloatingWindow"/>
</summary>
</member>
<member name="F:AvalonDock.ContextMenuElement.DocumentFloatingWindow">
<summary>
Context menu related to a <see cref="F:AvalonDock.ContextMenuElement.DocumentFloatingWindow"/>
</summary>
</member>
<member name="M:AvalonDock.ManagedContentCollection`1.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
<summary>
Override collection changed event to setup manager property on <see cref="T:AvalonDock.ManagedContent"/> objects
</summary>
<param name="e"></param>
</member>
<member name="M:AvalonDock.ManagedContentCollection`1.Add(`0)">
<summary>
Add a content to the list
</summary>
<param name="contentToAdd"></param>
</member>
<member name="P:AvalonDock.ManagedContentCollection`1.Manager">
<summary>
Get associated <see cref="T:AvalonDock.DockingManager"/> object
</summary>
</member>
<member name="T:AvalonDock.NavigatorWindowItem">
<summary>
Represent an navigator item within lists of contents that user can choose from the <see cref="T:AvalonDock.NavigatorWindow"/>
</summary>
</member>
<member name="T:AvalonDock.NavigatorWindowDocumentItem">
<summary>
Specialized class of <see cref="T:AvalonDock.NavigatorWindowItem"/> for <see cref="T:AvalonDock.DocumentContent"/> objects
</summary>
</member>
<member name="T:AvalonDock.NavigatorWindow">
<summary>
Window that is automatically shown when user press Ctrl+Tab combination
</summary>
<remarks>This window allow user to rapidly select a <see cref="T:AvalonDock.DockableContent"/> object or a <see cref="T:AvalonDock.DocumentContent"/> object.
When selected a content is also activate with the function <see cref="M:AvalonDock.ManagedContent.Activate"/></remarks>
</member>
<member name="M:AvalonDock.NavigatorWindow.OnSelectedContentChanged(AvalonDock.NavigatorWindowItem,AvalonDock.NavigatorWindowItem)">
<summary>
Provides derived classes an opportunity to handle changes to the SelectedContent property.
</summary>
</member>
<member name="F:AvalonDock.NavigatorWindow.DocumentsPropertyKey">
<summary>
Documents Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.NavigatorWindow.SetDocuments(System.Windows.Data.CollectionView)">
<summary>
Provides a secure method for setting the Documents property.
This dependency property indicates documents currently hosted by parent <see cref="T:AvalonDock.DockingManager"/>.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="F:AvalonDock.NavigatorWindow.DockableContentsPropertyKey">
<summary>
DockableContents Read-Only Dependency Property
</summary>
</member>
<member name="M:AvalonDock.NavigatorWindow.SetDockableContents(System.Windows.Data.CollectionView)">
<summary>
Provides a secure method for setting the DockableContents property.
This dependency property indicates dockable contents hosted in parent <see cref="T:AvalonDock.DockingManager"/> object.
</summary>
<param name="value">The new value for the property.</param>
</member>
<member name="P:AvalonDock.NavigatorWindow.Documents">
<summary>
Gets the Documents property. This dependency property
indicates documents currently hosted by parent <see cref="T:AvalonDock.DockingManager"/>.
</summary>
</member>
<member name="P:AvalonDock.NavigatorWindow.DockableContents">
<summary>
Gets the DockableContents property. This dependency property
indicates dockable contents hosted in parent <see cref="T:AvalonDock.DockingManager"/> object.
</summary>
</member>
<member name="T:AvalonDock.AvalonDockBrushes">
<summary>
Defines a list of brushes used by AvalonDock templates
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DefaultBackgroundBrush">
<summary>
Default brush for DockingManager background
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DockablePaneTitleBackground">
<summary>
Brush used for the title background of a <see cref="T:AvalonDock.DockablePane"/>.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DockablePaneTitleBackgroundSelected">
<summary>
Brush used for the title background of a <see cref="T:AvalonDock.DockablePane"/> when is focused.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DockablePaneTitleForeground">
<summary>
Brush used for the title foreground of a <see cref="T:AvalonDock.DockablePane"/>.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DockablePaneTitleForegroundSelected">
<summary>
Brush used for the title foreground of a <see cref="T:AvalonDock.DockablePane"/> when is focused.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.PaneHeaderCommandBackground">
<summary>
Brush used for the background of the pane command pins.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.PaneHeaderCommandBorderBrush">
<summary>
Brush used for the border of the pane command pins.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBackground">
<summary>
Brush used for the background of a document header.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderForeground">
<summary>
Brush used for the foreground of a document header.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderForegroundSelected">
<summary>
Brush used for fonts while a document header is selected but not activated
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderForegroundSelectedActivated">
<summary>
Brush used for fonts while a document header is selected and activated
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBackgroundSelected">
<summary>
Brush used for the background of a document header when selected (<see cref="P:AvalonDock.ManagedContent.IsActiveContent"/>).
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBackgroundSelectedActivated">
<summary>
Brush used for the background of a document header when active and selected (<see cref="P:AvalonDock.ManagedContent.IsActiveDocument"/>).
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBackgroundMouseOver">
<summary>
Brush used for the background of a document header when mouse is over it.
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBorderBrushMouseOver">
<summary>
Brush used for the border brush of a document header when mouse is over it (but is not selected).
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBorder">
<summary>
Brush for the document header border
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBorderSelected">
<summary>
Brush for the document header border when contains a document selected
</summary>
</member>
<member name="F:AvalonDock.AvalonDockBrushes.DocumentHeaderBorderSelectedActivated">
<summary>
Brush for the document header border when contains a document selected and activated
</summary>
</member>
<member name="T:AvalonDock.DockableContentCommands">
<summary>
Defines commands that can be executed against a DockableContent
</summary>
</member>
<member name="P:AvalonDock.DockableContentCommands.ShowAsDocument">
<summary>
Shows the DockableContent as a tabbed document
</summary>
</member>
<member name="P:AvalonDock.DockableContentCommands.FloatingWindow">
<summary>
Shows the <see cref="T:AvalonDock.DockableContent"/> as a <see cref="P:AvalonDock.DockableContentCommands.FloatingWindow"/> which overlays the <see cref="T:AvalonDock.DockingManager"/>
</summary>
<remarks>A floating window can't be redocked to the docking manager.</remarks>
</member>
<member name="P:AvalonDock.DockableContentCommands.DockableFloatingWindow">
<summary>
Shows the <see cref="T:AvalonDock.DockableContent"/> as a <see cref="P:AvalonDock.DockableContentCommands.DockableFloatingWindow"/> which overlays the <see cref="T:AvalonDock.DockingManager"/>
</summary>
<remarks>A floating window can't be redocked to the docking manager.</remarks>
</member>
<!-- Badly formed XML comment ignored for member "P:AvalonDock.DockableContentCommands.ToggleAutoHide" -->
<member name="T:AvalonDock.BoolToVisibilityConverter">
<summary>
Converter from boolean values to visibility (inverse mode)
</summary>
</member>
<member name="T:AvalonDock.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockableContentCommands_DockableFloatingWindow">
<summary>
Looks up a localized string similar to Float.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockableContentCommands_FloatingWindow">
<summary>
Looks up a localized string similar to Float.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockableContentCommands_ShowAsDocument">
<summary>
Looks up a localized string similar to Dock as Tabbed Document.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockableContentCommands_ToggleAutoHide">
<summary>
Looks up a localized string similar to Auto Hide.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockablePane_ShowOptionsMenu">
<summary>
Looks up a localized string similar to Window Position.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockablePaneCommands_Close">
<summary>
Looks up a localized string similar to Close.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockablePaneCommands_Hide">
<summary>
Looks up a localized string similar to Hide.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DockablePaneCommands_ToggleAutoHide">
<summary>
Looks up a localized string similar to Auto Hide.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DocumentContentCommands_FloatingDocument">
<summary>
Looks up a localized string similar to Float.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DocumentContentCommands_TabbedDocument">
<summary>
Looks up a localized string similar to Dock as Tabbed Document.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DocumentPaneCommands_CloseAllButThis">
<summary>
Looks up a localized string similar to Close All But This.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DocumentPaneCommands_CloseThis">
<summary>
Looks up a localized string similar to Close.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DocumentPaneCommands_NewHorizontalTabGroup">
<summary>
Looks up a localized string similar to New Horizontal Tab Group.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.DocumentPaneCommands_NewVerticalTabGroup">
<summary>
Looks up a localized string similar to New VerticalTab Group.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.ManagedContentCommands_Activate">
<summary>
Looks up a localized string similar to Activate.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.ManagedContentCommands_Close">
<summary>
Looks up a localized string similar to Close.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.ManagedContentCommands_Hide">
<summary>
Looks up a localized string similar to Hide.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.ManagedContentCommands_Show">
<summary>
Looks up a localized string similar to Show.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.NavigatorWindow_ActiveFiles">
<summary>
Looks up a localized string similar to Active Files.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.NavigatorWindow_ActiveToolWindows">
<summary>
Looks up a localized string similar to Active Tool Windows.
</summary>
</member>
<member name="P:AvalonDock.Properties.Resources.PaneCommands_Dock">
<summary>
Looks up a localized string similar to Dock.
</summary>
</member>
<member name="T:AvalonDock.DragPaneServices">
<summary>
Provides drag-drop functionalities for dockable panes
</summary>
</member>
<member name="T:AvalonDock.AnchorStyle">
<summary>
Anchor types
</summary>
</member>
<member name="F:AvalonDock.AnchorStyle.None">
<summary>
No anchor style, while content is hosted in a <see cref="T:AvalonDock.DocumentPane"/> or a <see cref="T:AvalonDock.FloatingWindow"/>
</summary>
</member>
<member name="F:AvalonDock.AnchorStyle.Top">
<summary>
Top border anchor
</summary>
</member>
<member name="F:AvalonDock.AnchorStyle.Left">
<summary>
Left border anchor
</summary>
</member>
<member name="F:AvalonDock.AnchorStyle.Bottom">
<summary>
Bottom border anchor
</summary>
</member>
<member name="F:AvalonDock.AnchorStyle.Right">
<summary>
Right border anchor
</summary>
</member>
<member name="F:AvalonDock.DockableFloatingWindow.IsDockableWindowProperty">
<summary>
IsDockableWindow Dependency Property
</summary>
</member>
<member name="M:AvalonDock.DockableFloatingWindow.OnIsDockableWindowChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Handles changes to the IsDockableWindow property.
</summary>
</member>
<member name="M:AvalonDock.DockableFloatingWindow.OnIsDockableWindowChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Provides derived classes an opportunity to handle changes to the IsDockableWindow property.
</summary>
</member>
<member name="P:AvalonDock.DockableFloatingWindow.IsDockableWindow">
<summary>
Gets or sets the IsDockableWindow property. This dependency property
indicates that <see cref="T:AvalonDock.FloatingWindow"/> can be docked to <see cref="T:AvalonDock.DockingManager"/>.
</summary>
</member>
<member name="M:AvalonDock.RoutedEventHelper.RaiseEvent(System.Windows.DependencyObject,System.Windows.RoutedEventArgs)">
<summary>
A static helper method to raise a routed event on a target UIElement or ContentElement.
</summary>
<param name="target">UIElement or ContentElement on which to raise the event</param>
<param name="args">RoutedEventArgs to use when raising the event</param>
</member>
<member name="M:AvalonDock.RoutedEventHelper.AddHandler(System.Windows.DependencyObject,System.Windows.RoutedEvent,System.Delegate)">
<summary>
A static helper method that adds a handler for a routed event
to a target UIElement or ContentElement.
</summary>
<param name="element">UIElement or ContentElement that listens to the event</param>
<param name="routedEvent">Event that will be handled</param>
<param name="handler">Event handler to be added</param>
</member>
<member name="M:AvalonDock.RoutedEventHelper.RemoveHandler(System.Windows.DependencyObject,System.Windows.RoutedEvent,System.Delegate)">
<summary>
A static helper method that removes a handler for a routed event
from a target UIElement or ContentElement.
</summary>
<param name="element">UIElement or ContentElement that listens to the event</param>
<param name="routedEvent">Event that will no longer be handled</param>
<param name="handler">Event handler to be removed</param>
</member>
<member name="T:AvalonDock.FlyoutPaneWindow">
<summary>
Implements a flyout window
</summary>
<remarks>
The flyout window is showed when user activate a ManagedContent that is in the AutoHide state.
The flyout window appears from a border of the parent docking manager according to the property Anchor.
It contains the selected content under the property ReferencedPane.
When user move focus to an other object outside this window, it automaticcaly is closed.
</remarks>
</member>
<member name="F:AvalonDock.FlyoutPaneWindow._winFormsHost">
<summary>
Points to the internal windows forms control (if exist)
</summary>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.OnClosed(System.EventArgs)">
<summary>
Handles the closed event
</summary>
<param name="e"></param>
</member>
<member name="F:AvalonDock.FlyoutPaneWindow._refPane">
<summary>
Refrenced pane
</summary>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.OnInitialized(System.EventArgs)">
<summary>
Initialize the window
</summary>
<param name="e"></param>
</member>
<member name="F:AvalonDock.FlyoutPaneWindow._resizerPopup">
<summary>
Popup window that hosts the resizer thumb
</summary>
<remarks>Resizer is host in a popup window becaus it needs to overlay winforms controls.</remarks>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.InitClosingTimer">
<summary>
Creates the closing timer
</summary>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.StopClosingTimer">
<summary>
Stop the closing timer
</summary>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.ForceCloseWindow(System.Object,System.EventArgs)">
<summary>
This handler is called when the closing time delay is elapsed (user is focusing to something else of the UI)
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.CloseWidthAnimation">
<summary>
Initiate a closing animation
</summary>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.OpenWidthAnimation">
<summary>
Initiate an opening animation
</summary>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.OpenPane">
<summary>
Open the flyout window with or without animation depending on the ShowAnimated flag
</summary>
</member>
<member name="M:AvalonDock.FlyoutPaneWindow.ClosePane">
<summary>
Close the flyout window with or without animation depending on the ShowAnimated flag
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.TargetWidth">
<summary>
Gets or sets the final width of the window
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.TargetHeight">
<summary>
Gets or sets the final height of the window
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.IsClosed">
<summary>
Gets a value indicating i fthis window is closed
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.Anchor">
<summary>
Anchor of the flyout window
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.CorrectedAnchor">
<summary>
Get th anchor of the window corrected with the FlowDirection property
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.ReferencedPane">
<summary>
Gets the pane that is hosted in flyout window
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.IsResizing">
<summary>
Gets a value indicating if user is resizer the window
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.IsClosing">
<summary>
Gets a value indicating if the flyout window is closing
</summary>
</member>
<member name="P:AvalonDock.FlyoutPaneWindow.IsOpening">
<summary>
Gets a flag indicating if flyout window is opening
</summary>
</member>
<member name="T:AvalonDock.DocumentContentCommands">
<summary>
Contains a list of commands that can be applied to a <see cref="T:AvalonDock.DocumentContent"/>
</summary>
</member>
<member name="P:AvalonDock.DocumentContentCommands.FloatingDocument">
<summary>
Shows the <see cref="T:AvalonDock.DocumentContent"/> as a floating window document
</summary>
</member>
<member name="P:AvalonDock.DocumentContentCommands.TabbedDocument">
<summary>
Shows the <see cref="T:AvalonDock.DocumentContent"/> as a tabbed document
</summary>
</member>
<member name="T:AvalonDock.ManagedContentCommands">
<summary>
Defines commands shared beteween all contents (Dockable or Documents)
</summary>
</member>
<member name="P:AvalonDock.ManagedContentCommands.Close">
<summary>
This command closes the content
</summary>
</member>
<member name="P:AvalonDock.ManagedContentCommands.Hide">
<summary>
This command hides the content
</summary>
</member>
<member name="P:AvalonDock.ManagedContentCommands.Show">
<summary>
This command shows the content
</summary>
<remarks>How content is shown by default depends from the type of content. A <see cref="T:AvalonDock.DockableContent"/> is shown as docked pane, instead
a <see cref="T:AvalonDock.DocumentContent"/> is shown as tabbed document</remarks>
</member>
<member name="P:AvalonDock.ManagedContentCommands.Activate">
<summary>
This command activate the commands (i.e. select it inside the conatiner pane)
</summary>
<remarks>Activating a content means essentially putting it in evidence. For a content that is auto-hidden this command opens a flyout window containing the content.</remarks>
</member>
<member name="T:AvalonDock.GreyableImage">
<summary>
Image control that get's greyed out when disabled.
This control is intended to be used for toolbar, menu or button icons where ability of an icon to
grey itself out when disabled is essential.
<remarks>
1) Greyscale image is created using FormatConvertedBitmap class. Unfortunately when converting the
image to greyscale this class does n0t preserve transparency information. To overcome that, there is
an opacity mask created from original image that is applied to greyscale image in order to preserve
transparency information. Because of that if an OpacityMask is applied to original image that mask
has to be combined with that special opacity mask of greyscale image in order to make a proper
greyscale image look. If you know how to combine two opacity masks please let me know.
2) DrawingImage source is not supported at the moment.
3) Have not tried to use any BitmapSource derived sources accept for BitmapImage so it may not be
able to convert some of them to greyscale.
4) When specifying source Uri from XAML try to use Absolute Uri otherwise the greyscale image
may not be created in some scenarious. There is some code to improve the situation but I cannot
guarantee it will work in all possible scenarious.
5) In case the greyscaled version cannot be created for whatever reason the original image with
60% opacity (i.e. dull colours) will be used instead (that will work even with the DrawingImage
source).
</remarks>
</summary>
</member>
<member name="M:AvalonDock.GreyableImage.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>
Overwritten to handle changes of IsEnabled, Source and OpacityMask properties
</summary>
<param name="e"></param>
</member>
<member name="M:AvalonDock.GreyableImage.SetSources">
<summary>
Cashes original ImageSource, creates and caches greyscale ImageSource and greyscale opacity mask
</summary>
</member>
<member name="T:AvalonDock.DockablePaneCommands">
<summary>
Defines commands that can be applied to a dockable pane
</summary>
</member>
<member name="P:AvalonDock.DockablePaneCommands.Close">
<summary>
This command closes the <see cref="T:AvalonDock.DockablePane"/> and closes all the contained <see cref="T:AvalonDock.DockableContent"/>s inside it
</summary>
</member>
<member name="P:AvalonDock.DockablePaneCommands.Hide">
<summary>
This command closes the <see cref="T:AvalonDock.DockablePane"/> and hides all the contained <see cref="T:AvalonDock.DockableContent"/>s inside it
</summary>
</member>
<member name="P:AvalonDock.DockablePaneCommands.ToggleAutoHide">
<summary>
This commands auto-hides the pane with all contained <see cref="T:AvalonDock.DockableContent"/>s inside it
</summary>
</member>
<member name="T:AvalonDock.ILinqToTree`1">
<summary>
Defines an adapter that must be implemented in order to use the LinqToTree
extension methods
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="M:AvalonDock.ILinqToTree`1.Children">
<summary>
Obtains all the children of the Item.
</summary>
<returns></returns>
</member>
<member name="P:AvalonDock.ILinqToTree`1.Parent">
<summary>
The parent of the Item.
</summary>
</member>
<member name="P:AvalonDock.ILinqToTree`1.Item">
<summary>
The item being adapted.
</summary>
</member>
<member name="M:AvalonDock.ILinqToTreeExts.Descendants``1(AvalonDock.ILinqToTree{``0})">
<summary>
Returns a collection of descendant elements.
</summary>
</member>
<member name="M:AvalonDock.ILinqToTreeExts.Ancestors``1(AvalonDock.ILinqToTree{``0})">
<summary>
Returns a collection of ancestor elements.
</summary>
</member>
<member name="M:AvalonDock.ILinqToTreeExts.Elements``1(AvalonDock.ILinqToTree{``0})">
<summary>
Returns a collection of child elements.
</summary>
</member>
<member name="T:AvalonDock.VisualTreeAdapter">
<summary>
An adapter for DependencyObject which implements ILinqToTree in
order to allow Linq queries on the visual tree
</summary>
</member>
<member name="T:AvalonDock.LogicalTreeAdapter">
<summary>
An adapter for DependencyObject which implements ILinqToTree in
order to allow Linq queries on the logical tree
</summary>
</member>
<member name="P:AvalonDock.PaneCommands.Dock">
<summary>
Dock <see cref="T:AvalonDock.Pane"/> to container <see cref="T:AvalonDock.DockingManager"/>
</summary>
</member>
<member name="T:XamlGeneratedNamespace.GeneratedInternalTypeHelper">
<summary>
GeneratedInternalTypeHelper
</summary>
</member>
<member name="M:XamlGeneratedNamespace.GeneratedInternalTypeHelper.CreateInstance(System.Type,System.Globalization.CultureInfo)">
<summary>
CreateInstance
</summary>
</member>
<member name="M:XamlGeneratedNamespace.GeneratedInternalTypeHelper.GetPropertyValue(System.Reflection.PropertyInfo,System.Object,System.Globalization.CultureInfo)">
<summary>
GetPropertyValue
</summary>
</member>
<member name="M:XamlGeneratedNamespace.GeneratedInternalTypeHelper.SetPropertyValue(System.Reflection.PropertyInfo,System.Object,System.Object,System.Globalization.CultureInfo)">
<summary>
SetPropertyValue
</summary>
</member>
<member name="M:XamlGeneratedNamespace.GeneratedInternalTypeHelper.CreateDelegate(System.Type,System.Object,System.String)">
<summary>
CreateDelegate
</summary>
</member>
<member name="M:XamlGeneratedNamespace.GeneratedInternalTypeHelper.AddEventHandler(System.Reflection.EventInfo,System.Object,System.Delegate)">
<summary>
AddEventHandler
</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Etc/DotSpatial.Projections.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Etc/DotSpatial.Projections.xml
0,0 → 1,5090
<?xml version="1.0"?>
<doc>
<assembly>
<name>DotSpatial.Projections</name>
</assembly>
<members>
<member name="T:DotSpatial.Projections.Robinson">
<summary>
Robinson
</summary>
</member>
<member name="T:DotSpatial.Projections.Transform">
<summary>
TransverseMercator is a class allowing the transverse mercator transform as transcribed
from the 4.6 version of the Proj4 library (pj_tmerc.c)
</summary>
</member>
<member name="T:DotSpatial.Projections.ITransform">
<summary>
ITransform
</summary>
</member>
<member name="M:DotSpatial.Projections.ITransform.Init(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the parameters from the projection info
</summary>
<param name="proj">The projection information used to control this transform</param>
</member>
<member name="M:DotSpatial.Projections.ITransform.Forward(System.Double[],System.Int32,System.Int32)">
<summary>
Transforms all the coordinates by cycling through them in a loop,
transforming each one. Only the 0 and 1 values of each coordinate will be
transformed, higher dimensional values will be copied.
</summary>
</member>
<member name="M:DotSpatial.Projections.ITransform.Inverse(System.Double[],System.Int32,System.Int32)">
<summary>
Transforms all the coordinates by cycling through them in a loop,
transforming each one. Only the 0 and 1 values of each coordinate will be
transformed, higher dimensional values will be copied.
</summary>
</member>
<member name="M:DotSpatial.Projections.ITransform.Special(System.Double[],DotSpatial.Projections.ProjectionInfo,DotSpatial.Projections.Factors)">
<summary>
Special factor calculations for a factors calculation
</summary>
<param name="lp"></param>
<param name="p"></param>
<param name="fac"></param>
</member>
<member name="P:DotSpatial.Projections.ITransform.Name">
<summary>
Gets or sets the string name of this projection. This should uniquely define the projection,
and controls what appears in the .prj files. This name is required.
</summary>
</member>
<member name="P:DotSpatial.Projections.ITransform.Proj4Name">
<summary>
Gets or sets the string name of this projection as it is known to proj4, or should appear
in a proj4 string. This name is required to read and write to proj4 strings.
</summary>
</member>
<member name="P:DotSpatial.Projections.ITransform.Proj4Aliases">
<summary>
This is the list of alternate names to check besides the Proj4Name. This will not be used
for writing Proj4 strings, but may be helpful for reading them.
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.HALF_PI">
<summary>
Pi/2
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.FORT_PI">
<summary>
Math.Pi / 4
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.TWO_PI">
<summary>
2 * Math.Pi
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.EPS10">
<summary>
1E-10
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.IS_ANAL_HK">
<summary>
Analytic Hk
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.IS_ANAL_CONV">
<summary>
Analytic Conv
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.IS_ANAL_XL_YL">
<summary>
Analytic Xl Yl
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.IS_ANAL_XP_YP">
<summary>
Analytic Xp Yp
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.RAD_TO_DEG">
<summary>
Radians to Degrees
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.DEG_TO_RAD">
<summary>
Degrees to Radians
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.LAMBDA">
<summary>
The integer index representing lambda values in arrays representing geodetic coordinates
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.PHI">
<summary>
The integer index representing phi values in arrays representing geodetic coordinates
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.X">
<summary>
The integer index representing X values in arrays representing linear coordinates
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Y">
<summary>
The integer index representing Y values in arrays representing linear coordinates
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.R">
<summary>
The integer index representing real values in arrays representing complex numbers
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.I">
<summary>
The integer index representing immaginary values in arrays representing complex numbers
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.A">
<summary>
The major axis
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Ra">
<summary>
1/a
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.OneEs">
<summary>
1 - e^2;
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.ROneEs">
<summary>
1/OneEs
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.E">
<summary>
Eccentricity
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.IsElliptical">
<summary>
True if the spheroid is flattened
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Es">
<summary>
Eccentricity Squared
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Phi0">
<summary>
Central Latitude
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Lam0">
<summary>
Central Longitude
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.X0">
<summary>
False Easting
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Y0">
<summary>
False Northing
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.K0">
<summary>
Scaling Factor
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.ToMeter">
<summary>
Scaling to meter
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.FromMeter">
<summary>
Scaling from meter
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.B">
<summary>
The B parameter, which should be consisten with the semi-minor axis
</summary>
</member>
<member name="M:DotSpatial.Projections.Transform.Init(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the parameters from the projection info
</summary>
<param name="proj">The projection information used to control this transform</param>
</member>
<member name="M:DotSpatial.Projections.Transform.FromKnownTransform(DotSpatial.Projections.KnownTransform)">
<summary>
Uses an enumeration to generate a new instance of a known transform class
</summary>
<param name="value">The member of the KnownTransforms to instantiate</param>
<returns>A new ITransform interface representing the specific transform</returns>
</member>
<member name="M:DotSpatial.Projections.Transform.Forward(System.Double[],System.Int32,System.Int32)">
<summary>
Transforms all the coordinates by cycling through them in a loop,
transforming each one. Only the 0 and 1 values of each coordinate will be
transformed, higher dimensional values will be copied.
</summary>
</member>
<member name="M:DotSpatial.Projections.Transform.Inverse(System.Double[],System.Int32,System.Int32)">
<summary>
Transforms all the coordinates by cycling through them in a loop,
transforming each one. Only the 0 and 1 values of each coordinate will be
transformed, higher dimensional values will be copied.
</summary>
</member>
<member name="M:DotSpatial.Projections.Transform.Special(System.Double[],DotSpatial.Projections.ProjectionInfo,DotSpatial.Projections.Factors)">
<summary>
Special factor calculations for a factors calculation
</summary>
<param name="lp">lambda-phi</param>
<param name="p">The projection</param>
<param name="fac">The Factors</param>
</member>
<member name="M:DotSpatial.Projections.Transform.OnSpecial(System.Double[],DotSpatial.Projections.ProjectionInfo,DotSpatial.Projections.Factors)">
<summary>
Allows for some custom code during a process method
</summary>
<param name="lp">lambda-phi</param>
<param name="p">The projection coordinate system information</param>
<param name="fac">The Factors</param>
</member>
<member name="M:DotSpatial.Projections.Transform.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.Transform.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Transforms cartesian x, y to geodetic lambda, phi
</summary>
<param name="lp">in -> the lambda, phi coordinates</param>
<param name="xy">out -> the cartesian x, y</param>
<param name="startIndex">The zero based starting point index. If this is 1, for instance, reading will skip the x and y of the first point and start at the second point.</param>
<param name="numPoints">The integer count of the pairs of xy values to consider.</param>
</member>
<member name="M:DotSpatial.Projections.Transform.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
The inverse transform from linear units to geodetic units
</summary>
<param name="xy">The double values for the input x and y values stored in an array</param>
<param name="lp">The double values for the output lambda and phi values stored in an array</param>
<param name="startIndex">The zero based starting point index. If this is 1, for instance, reading will skip the x and y of the first point and start at the second point.</param>
<param name="numPoints">The integer count of the pairs of xy values to consider</param>
</member>
<member name="M:DotSpatial.Projections.Transform.Clone">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Transform.OnCopy(DotSpatial.Projections.Transform)">
<summary>
This allows for custom behavior to override the base behavior
</summary>
<param name="duplicate"></param>
</member>
<member name="P:DotSpatial.Projections.Transform.Name">
<summary>
Gets or sets the string name of this projection as it appears in .prj files and
ESRI wkt. This can also be several names separated by a semicolon.
</summary>
</member>
<member name="P:DotSpatial.Projections.Transform.Proj4Name">
<summary>
Gets or sets the string name of this projection as it should appear in proj4 strings.
This can also be several names deliminated by a semicolon.
</summary>
</member>
<member name="P:DotSpatial.Projections.Transform.Proj4Aliases">
<summary>
Gets or sets a list of optional aliases that can be used in the place of the Proj4Name.
This will only be used during reading, and will not be used during writing.
</summary>
</member>
<member name="T:DotSpatial.Projections.Transform.Modes">
<summary>
For transforms that distinguish between polar, oblique and equitorial modes
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Modes.NorthPole">
<summary>
North Pole
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Modes.SouthPole">
<summary>
South Pole
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Modes.Equitorial">
<summary>
Equitorial
</summary>
</member>
<member name="F:DotSpatial.Projections.Transform.Modes.Oblique">
<summary>
Oblique
</summary>
</member>
<member name="M:DotSpatial.Projections.Robinson.#ctor">
<summary>
Creates a new instance of Robinson
</summary>
</member>
<member name="M:DotSpatial.Projections.Robinson.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Robinson.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.ObliqueStereographicAlternative">
<summary>
ObliqueStereographicAlternative
</summary>
</member>
<member name="M:DotSpatial.Projections.ObliqueStereographicAlternative.#ctor">
<summary>
Creates a new instance of ObliqueStereographicAlternative
</summary>
</member>
<member name="M:DotSpatial.Projections.ObliqueStereographicAlternative.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.ObliqueStereographicAlternative.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.ObliqueStereographicAlternative.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.McBrydeThomasFlatPolarSine">
<summary>
McBrydeThomasFlatPolarSine is a tweaked version of Qaurtic Authalic
</summary>
</member>
<member name="T:DotSpatial.Projections.QuarticAuthalic">
<summary>
QuarticAuthalic
</summary>
</member>
<member name="M:DotSpatial.Projections.QuarticAuthalic.#ctor">
<summary>
Creates a new instance of QuarticAuthalic
</summary>
</member>
<member name="M:DotSpatial.Projections.QuarticAuthalic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.QuarticAuthalic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.QuarticAuthalic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.QuarticAuthalic.Setup(System.Double,System.Double,System.Boolean)">
<summary>
Setup
</summary>
<param name="p"></param>
<param name="q"></param>
<param name="mode"></param>
</member>
<member name="M:DotSpatial.Projections.McBrydeThomasFlatPolarSine.#ctor">
<summary>
Creates a new instance of McBrydeThomasFlatPolarSine
</summary>
</member>
<member name="M:DotSpatial.Projections.McBrydeThomasFlatPolarSine.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Loximuthal">
<summary>
Loximuthal
</summary>
</member>
<member name="M:DotSpatial.Projections.Loximuthal.#ctor">
<summary>
Creates a new instance of Loximuthal
</summary>
</member>
<member name="M:DotSpatial.Projections.Loximuthal.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Loximuthal.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Loximuthal.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Krovak">
<summary>
Krovak
NOTES: According to EPSG the full Krovak projection method should have
the following parameters. Within PROJ.4 the azimuth, and pseudo
standard parallel are hardcoded in the algorithm and can't be
altered from outside. The others all have defaults to match the
common usage with Krovak projection.
lat_0 = latitude of centre of the projection
lon_0 = longitude of centre of the projection
** = azimuth (true) of the centre line passing through the centre of the projection
** = latitude of pseudo standard parallel
k = scale factor on the pseudo standard parallel
x_0 = False Easting of the centre of the projection at the apex of the cone
y_0 = False Northing of the centre of the projection at the apex of the cone
</summary>
</member>
<member name="M:DotSpatial.Projections.Krovak.#ctor">
<summary>
Creates a new instance of Krovak
</summary>
</member>
<member name="M:DotSpatial.Projections.Krovak.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Krovak.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Krovak.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Eckert2">
<summary>
Eckert2
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert2.#ctor">
<summary>
Creates a new instance of Eckert2
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert2.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Eckert2.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.AlbersConicEqualArea">
<summary>
AlbersConicEqualArea
</summary>
</member>
<member name="T:DotSpatial.Projections.AlbersEqualArea">
<summary>
AlbersEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.AlbersEqualArea.#ctor">
<summary>
Creates a new instance of AlbersEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.AlbersEqualArea.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.AlbersEqualArea.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.AlbersEqualArea.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.AlbersEqualArea.Setup">
<summary>
Internal code handling the setup operations for the transform
</summary>
</member>
<member name="P:DotSpatial.Projections.AlbersEqualArea.Phi1">
<summary>
Gets or sets the Phi1 parameter
</summary>
</member>
<member name="P:DotSpatial.Projections.AlbersEqualArea.Phi2">
<summary>
Gets or sets the Phi2 parameter
</summary>
</member>
<member name="M:DotSpatial.Projections.AlbersConicEqualArea.#ctor">
<summary>
Creates a new instance of AlbersConicEqualArea
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.Minnesota">
<summary>
Not sure why we have all these county based Minnesota and Wisconsin projections
</summary>
</member>
<member name="T:DotSpatial.Projections.CoordinateSystemCategory">
<summary>
CoordinateSystem
</summary>
</member>
<member name="M:DotSpatial.Projections.CoordinateSystemCategory.#ctor">
<summary>
Creates a new instance of CoordinateSystem
</summary>
</member>
<member name="M:DotSpatial.Projections.CoordinateSystemCategory.GetProjection(System.String)">
<summary>
Retrieves the specified projection given the specified name.
</summary>
<param name="name">The string name of the projection to obtain information for</param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.CoordinateSystemCategory.ToArray">
<summary>
Obtains all the members of this category, building a single
array of the projection info classes. This returns the
original classes, not a copy.
</summary>
<returns>The array of projection info classes</returns>
</member>
<member name="P:DotSpatial.Projections.CoordinateSystemCategory.Names">
<summary>
Gets the list of names of all the members on this object
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.Minnesota.#ctor">
<summary>
Creates a new instance of Minnesota
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.Africa">
<summary>
Africa
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.Africa.#ctor">
<summary>
Creates a new instance of Africa
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.Europe">
<summary>
Europe
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.Europe.#ctor">
<summary>
Creates a new instance of Europe
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjPropertyInfoEm">
<summary>
PropertyInfoEM
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjPropertyInfoEm.GetFirst(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},System.String)">
<summary>
Gets the first member in the enumerable collection of property info with the specified name.
</summary>
<param name="self"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjPropertyInfoEm.Contains(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo},System.String)">
<summary>
Determines whether there is a member with the specified name
</summary>
<param name="self"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="T:DotSpatial.Projections.Wagner6">
<summary>
Wagner6
</summary>
</member>
<member name="M:DotSpatial.Projections.Wagner6.#ctor">
<summary>
Creates a new instance of Wagner6
</summary>
</member>
<member name="M:DotSpatial.Projections.Wagner6.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Wagner6.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Polyconic">
<summary>
Polygconic
</summary>
</member>
<member name="T:DotSpatial.Projections.EllipticalTransform">
<summary>
Elliptical Transform supports a built in framework for assuming a
separate function occurs if the spheroid is elliptical
</summary>
</member>
<member name="M:DotSpatial.Projections.EllipticalTransform.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.EllipticalTransform.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Calculates the forward transformation from geodetic lambda and phi coordinates to
linear xy coordinates for projections that have elliptical earth models.
</summary>
<param name="lp">The input interleaved lambda-phi coordinates where lambda is longitude in radians and phi is latitude in radians.</param>
<param name="xy">The resulting interleaved x-y coordinates</param>
<param name="startIndex">The zero based integer start index in terms of coordinate pairs</param>
<param name="numPoints">The integer number of xy pairs to evaluate.</param>
</member>
<member name="M:DotSpatial.Projections.EllipticalTransform.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Calculates the forward transformation from geodetic lambda and phi coordinates to
linear xy coordinates for projections that have spherical earth models.
</summary>
<param name="lp">The input interleaved lambda-phi coordinates where lambda is longitude in radians and phi is latitude in radians.</param>
<param name="xy">The resulting interleaved x-y coordinates</param>
<param name="startIndex">The zero based integer start index in terms of coordinate pairs</param>
<param name="numPoints">The integer number of xy pairs to evaluate.</param>
</member>
<member name="M:DotSpatial.Projections.EllipticalTransform.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.EllipticalTransform.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Calculates the inverse transformation from linear xy coordinates to geodetic lambda and phi coordinates
for projections that have elliptical earth models.
</summary>
<param name="xy">The input interleaved x-y coordinates</param>
<param name="lp">The output interleaved lambda-phi coordinates where lambda is longitude in radians and phi is latitude in radians.</param>
<param name="startIndex">The zero based integer start index in terms of coordinate pairs</param>
<param name="numPoints">The integer number of xy pairs to evaluate.</param>
</member>
<member name="M:DotSpatial.Projections.EllipticalTransform.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Calculates the inverse transformation from linear xy coordinates to geodetic lambda and phi coordinates
for projections that have spherical earth models.
</summary>
<param name="xy">The input interleaved x-y coordinates</param>
<param name="lp">The output interleaved lambda-phi coordinates where lambda is longitude in radians and phi is latitude in radians.</param>
<param name="startIndex">The zero based integer start index in terms of coordinate pairs</param>
<param name="numPoints">The integer number of xy pairs to evaluate.</param>
</member>
<member name="M:DotSpatial.Projections.Polyconic.#ctor">
<summary>
Creates a new instance of Polygconic
</summary>
</member>
<member name="M:DotSpatial.Projections.Polyconic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.Polyconic.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Polyconic.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Polyconic.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Polyconic.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.ObliqueMercator">
<summary>
OrthogonalMercator
</summary>
</member>
<member name="M:DotSpatial.Projections.ObliqueMercator.#ctor">
<summary>
Creates a new instance of OrthogonalMercator
</summary>
</member>
<member name="M:DotSpatial.Projections.ObliqueMercator.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.ObliqueMercator.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.ObliqueMercator.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.GoodeHomolosine">
<summary>
GoodeHomolosine
</summary>
</member>
<member name="M:DotSpatial.Projections.GoodeHomolosine.#ctor">
<summary>
Creates a new instance of GoodeHomolosine
</summary>
</member>
<member name="M:DotSpatial.Projections.GoodeHomolosine.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.GoodeHomolosine.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.GoodeHomolosine.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.EquidistantCylindrical">
<summary>
EquidistantCylindrical
</summary>
</member>
<member name="M:DotSpatial.Projections.EquidistantCylindrical.#ctor">
<summary>
Creates a new instance of EquidistantCylindrical
</summary>
</member>
<member name="M:DotSpatial.Projections.EquidistantCylindrical.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.EquidistantCylindrical.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.EquidistantCylindrical.OnInit(DotSpatial.Projections.ProjectionInfo)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Eckert1">
<summary>
Eckert1
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert1.#ctor">
<summary>
Creates a new instance of Eckert1
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert1.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Eckert1.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.BipolarObliqueConformalConic">
<summary>
BipolarObliqueConformalConic
</summary>
</member>
<member name="M:DotSpatial.Projections.BipolarObliqueConformalConic.#ctor">
<summary>
Creates a new instance of BipolarObliqueConformalConic
</summary>
</member>
<member name="M:DotSpatial.Projections.BipolarObliqueConformalConic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.BipolarObliqueConformalConic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.BipolarObliqueConformalConic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.AzimuthalEquidistant">
<summary>
AzimuthalEquidistant
</summary>
</member>
<member name="M:DotSpatial.Projections.AzimuthalEquidistant.#ctor">
<summary>
Creates a new instance of AzimuthalEquidistant
</summary>
</member>
<member name="M:DotSpatial.Projections.AzimuthalEquidistant.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.AzimuthalEquidistant.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.AzimuthalEquidistant.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.AzimuthalEquidistant.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.AzimuthalEquidistant.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Aitoff">
<summary>
Aitoff
</summary>
</member>
<member name="M:DotSpatial.Projections.Aitoff.#ctor">
<summary>
Creates a new instance of Aitoff
</summary>
</member>
<member name="M:DotSpatial.Projections.Aitoff.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.ProjectionInfo">
<summary>
Parameters
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjDescriptor">
<summary>
Descriptors are simple classes that are used for storing symbology or other basic characteristics.
They are presumed to be made up of value types and other descriptors, and are expected to be serializable.
This being said, some basic capabilities are supported for randomizing, copying and comparing the
properties of descriptors.
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjCopyBase">
<summary>
CopyBase
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjCopyBase.#ctor">
<summary>
Creates a new instance of CopyBase
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjCopyBase.System#ICloneable#Clone">
<summary>
Creates a duplicate of this descriptor using MemberwiseClone
</summary>
<returns>A clone of this object as a duplicate</returns>
</member>
<member name="M:DotSpatial.Projections.ProjCopyBase.DistinctNames(System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo})">
<summary>
PropertyInfo returns overridden members as separate entries. We would rather work with each members
only one time.
</summary>
<param name="allProperties">All the properties, including duplicates created by overridden members</param>
<returns>An Array of PropertyInfo members</returns>
</member>
<member name="M:DotSpatial.Projections.ProjCopyBase.OnCopy(DotSpatial.Projections.ProjDescriptor)">
<summary>
This occurs during the Copy method and is overridable by sub-classes
</summary>
<param name="copy">The duplicate descriptor</param>
</member>
<member name="T:DotSpatial.Projections.IProjDescriptor">
<summary>
IDescriptor
</summary>
</member>
<member name="T:DotSpatial.Projections.IProjMatchable">
<summary>
Matching is defined as being a different object, but having properties
that would make it indistinguishable from the comparision property.
This is an alternative to overriding the equals behavior in cases
where you might ALSO need to see if the object reference is the same.
</summary>
</member>
<member name="M:DotSpatial.Projections.IProjMatchable.Matches(DotSpatial.Projections.IProjMatchable,System.Collections.Generic.List{System.String}@)">
<summary>
Tests this object against the comparison object. If any of the
value type members are different, or if any of the properties
are IMatchable and do not match, then this returns false.
</summary>
<param name="other">The other IMatcheable object of the same type</param>
<param name="mismatchedProperties">The list of property names that do not match</param>
<returns>Boolean, true if the properties are comparably equal.</returns>
</member>
<member name="T:DotSpatial.Projections.IProjRandomizable">
<summary>
IRandomizable
</summary>
</member>
<member name="M:DotSpatial.Projections.IProjRandomizable.Randomize(System.Random)">
<summary>
This method will set the values for this class with random values that are
within acceptable parameters for this class.
</summary>
<param name="generator">An existing random number generator so that the random seed can be controlled</param>
</member>
<member name="M:DotSpatial.Projections.IProjDescriptor.CopyProperties(System.Object)">
<summary>
This copies the public descriptor properties from the specified object to
this object.
</summary>
<param name="other">An object that has properties that match the public properties on this object.</param>
</member>
<member name="M:DotSpatial.Projections.ProjDescriptor.#ctor">
<summary>
Creates a new instance of MatchableObject
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjDescriptor.CopyProperties(System.Object)">
<summary>
For each of the publicly accessible properties found on this object, this attempts
to copy a public property from the source object of the same name, if it can find it.
For each matching property name/type, it will attempt to copy the value.
</summary>
<param name="source">The</param>
</member>
<member name="M:DotSpatial.Projections.ProjDescriptor.Matches(DotSpatial.Projections.IProjMatchable,System.Collections.Generic.List{System.String}@)">
<summary>
Compares the properties of this object with the specified IMatchable other.
This does not test every property of other, but does test every property
of this item. As long as the other item has corresponding properties
for every property on this item, the items are said to match.
The IMatchable interface allows custom definitions of matching.
For collections to match, all of their sub-members must match.
</summary>
<param name="other"></param>
<param name="mismatchedProperties"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjDescriptor.Randomize(System.Random)">
<summary>
The default behavior is to cycle through all the properties of this
object, and call Randomize on any that implement the IRandomizable interface.
</summary>
<param name="generator">The Random seed generator for controling how the random content is created</param>
</member>
<member name="M:DotSpatial.Projections.ProjDescriptor.OnCopyProperties(System.Object)">
<summary>
This occurs while copying properties from the specified source, and
is the default handling for subclasses
</summary>
<param name="source"></param>
</member>
<member name="M:DotSpatial.Projections.ProjDescriptor.OnMatch(DotSpatial.Projections.IProjMatchable,System.Collections.Generic.List{System.String})">
<summary>
This gives sub-classes the chance to directly override, control or otherwise tamper
with the matching process. This is also where normal matching is performed,
so to replace it, simply don't call the base.OnMatch method. To tweak the results,
the base method should be performed first, and the results can then be modified.
</summary>
<param name="other"></param>
<param name="mismatchedProperties"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjDescriptor.OnRandomize(System.Random)">
<summary>
This allows overrideable behavior that can replace or extend the basic behavior,
which is to call Randomize on any public properties that are listed as randomizeable.
This does nothing to normal properties or non public members and needs to be overriden
to provide the special case functionality for sub-classes.
</summary>
<param name="generator">The random number generator to be used during randomization</param>
</member>
<member name="T:DotSpatial.Projections.IEsriString">
<summary>
EsriString
</summary>
</member>
<member name="M:DotSpatial.Projections.IEsriString.ToEsriString">
<summary>
Writes the value in the format that it would appear in within a prj file
</summary>
<returns>The a nested portion of the total esri string.</returns>
</member>
<member name="M:DotSpatial.Projections.IEsriString.ReadEsriString(System.String)">
<summary>
This reads the string and attempts to parse the relavent values.
</summary>
<param name="esriString">The string to read</param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.#ctor">
<summary>
Creates a new instance of Parameters
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.#ctor(System.String)">
<summary>
Creates a new projection and automaticalyl reads in the proj4 string
</summary>
<param name="proj4String">THe proj4String to read in while defining the projection</param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.GetUnitText(System.Double)">
<summary>
If this is a geographic coordinate system, this will show decimal degrees. Otherwise,
this will show the linear unit units.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.Equals(DotSpatial.Projections.ProjectionInfo)">
<summary>
Gets a boolean that is true if the proj4 string created by the projections matches.
There are multiple ways to write the same projection, but the output proj4 string
should be a good indicator of whether or not they are the same.
</summary>
<param name="other">The other projection to compare with.</param>
<returns>Boolean, true if the projections are the same.</returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.Open(System.String)">
<summary>
Open a given prj filename
</summary>
<param name="prjFilename"></param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.SaveAs(System.String)">
<summary>
Exports this projection info by saving it to a *.prj file.
</summary>
<param name="prjFilename">The prj file to save to</param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.GetLam0">
<summary>
Gets the lambda 0, or central meridian, in radial coordinates
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.GetPhi0">
<summary>
Gets the phi 0 or latitude of origin in radial coordinates
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.GetPhi1">
<summary>
Gets the lat_1 parameter multiplied by radians
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.GetPhi2">
<summary>
Gets the lat_2 parameter multiplied by radians
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.GetLam1">
<summary>
Gets the lon_1 parameter in radians
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.GetLam2">
<summary>
Gets the lon_2 parameter in radians
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ParamD(System.String)">
<summary>
Obtains the double valued parameter if it is found and can be parsed to a double.
</summary>
<param name="parameterName">The name of the parameter to return as a double value.</param>
<returns>The double valued parameter of the specified name, or zero.</returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ParamR(System.String)">
<summary>
Obtains the double valued parameter after converting from degrees to radians.
</summary>
<param name="parameterName">The name of the parameter to read</param>
<returns>The double valued parameter in radians.</returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ParamI(System.String)">
<summary>
Obtains the integer valued parameter if it is found and can be parsed to an integer
</summary>
<param name="parameterName">The string name of the parameter to find</param>
<returns>An integer value representing the parameter if it was found.</returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.SetLam0(System.Double)">
<summary>
Sets the lambda 0, or central meridian in radial coordinates
</summary>
<param name="value">The value of Lambda 0 in radians</param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.SetPhi0(System.Double)">
<summary>
Sets the phi 0 or latitude of origin in radial coordinates
</summary>
<param name="value"></param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ToEsriString">
<summary>
Expresses the entire projection as the ESRI well known text format that can be found in .prj files
</summary>
<returns>The generated string</returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ToProj4String">
<summary>
Attempts to generate a new proj4 string based on the current projection parameters,
regardless of whether they were read from a proj4 file or from an esri projection file.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ReadProj4String(System.String)">
<summary>
Attempts to parse known parameters from the set of proj4 parameters
</summary>
<param name="proj4String"></param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ReadEPSGCode(System.Int32)">
<summary>
Using the specified code, this will attempt to look up the related reference information
from the appropriate pcs code.
</summary>
<param name="code"></param>
</member>
<member name="M:DotSpatial.Projections.ProjectionInfo.ReadEsriString(System.String)">
<summary>
Parses the entire projection from an esri string. In some cases, this will have
default projection information since only geographic information is obtained.
</summary>
<param name="esriString">The ESRI string to parse</param>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.AuxiliarySphereType">
<summary>
Gets or sets the auxiliary sphere type.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.EpsgCode">
<summary>
Gets or sets the Reference Code
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Authority">
<summary>
Gets or sets the athority, for example EPSG
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Name">
<summary>
Gets or sets the name of this projection information
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.GeographicInfo">
<summary>
The geographic information
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.FalseEasting">
<summary>
The false easting for this coordinate system
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.FalseNorthing">
<summary>
The false northing for this coordinate system
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.CentralMeridian">
<summary>
The horizontal 0 point in geographic terms
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.ScaleFactor">
<summary>
The scale factor for this coordinate system
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.LatitudeOfOrigin">
<summary>
The zero point in geographic terms
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.StandardParallel1">
<summary>
The line of latitude where the scale information is preserved.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.StandardParallel2">
<summary>
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Unit">
<summary>
The unit being used for measurements.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.IsSouth">
<summary>
Gets or sets a boolean indicating whether this projection applies to the
southern coordinate system or not.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Zone">
<summary>
Gets or sets the integer zone parameter if it is specified.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.IsGeocentric">
<summary>
Gets or sets a boolean that indicates whether or not this
projection is geocentric.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.IsLatLon">
<summary>
True if this coordinate system is expressed only using geographic coordinates
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Transform">
<summary>
Gets or sets the transform that converts between geodetic coordinates and projected coordinates.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Geoc">
<summary>
Gets or sets a boolean indicating a geocentric latitude parameter
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Over">
<summary>
Gets or sets a boolean for the over-ranging flag
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.Parameters">
<summary>
Gets or sets the parameters, including special parameters, stored by
the string names.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionInfo.NoDefs">
<summary>
A boolean that indicates whether the proj4 parameter "nodefs" appears.
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGridsJapan">
<summary>
NationalGridsJapan
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGridsJapan.#ctor">
<summary>
Creates a new instance of NationalGridsJapan
</summary>
</member>
<member name="T:DotSpatial.Projections.Meridian">
<summary>
Meridian
</summary>
</member>
<member name="M:DotSpatial.Projections.Meridian.#ctor">
<summary>
Creates a new instance of Meridian
</summary>
</member>
<member name="M:DotSpatial.Projections.Meridian.#ctor(System.Double,System.String)">
<summary>
Generates a custom meridian given a name and a longitude
</summary>
<param name="longitude">The longitude to use</param>
<param name="name">The string name for this meridian</param>
</member>
<member name="M:DotSpatial.Projections.Meridian.#ctor(DotSpatial.Projections.Proj4Meridian)">
<summary>
Creates a new meridian from one of the known, proj4 meridian locations.
Presumably the longitudes here correspond to various standard meridians
rather than some arbitrary longitudes of capital cities.
</summary>
<param name="standardMeridian">One of the enumerations listed</param>
</member>
<member name="M:DotSpatial.Projections.Meridian.#ctor(System.String)">
<summary>
Creates a new meridian from one of the known, proj4 meridian locations.
</summary>
<param name="standardMeridianName">The string name of the meridian to use</param>
</member>
<member name="M:DotSpatial.Projections.Meridian.ReadCode(System.Int32)">
<summary>
Reads the integer code (possibly only an internal GDAL code) for the Meridian.
The value can be from 8901 (Greenwich) to 8913 (Oslo). This will also alter
the name and longitude for this meridian.
</summary>
<param name="code">The integer meridian code.</param>
</member>
<member name="M:DotSpatial.Projections.Meridian.AssignMeridian(DotSpatial.Projections.Proj4Meridian)">
<summary>
Changes the longitude to correspond with the specified standard meridian
</summary>
<param name="standardMeridian"></param>
</member>
<member name="M:DotSpatial.Projections.Meridian.ReadProj4Parameters(System.Collections.Generic.Dictionary{System.String,System.String})">
<summary>
Attempts to parse the parameters in order to read the meridian
</summary>
<param name="parameters"></param>
</member>
<member name="M:DotSpatial.Projections.Meridian.ToEsriString">
<summary>
Writes the longitude and prime meridian content to the esri string
</summary>
<returns>A string that is formatted for an esri prj file</returns>
</member>
<member name="M:DotSpatial.Projections.Meridian.ReadEsriString(System.String)">
<summary>
Reads content from an esri string, learning information about the prime meridian
</summary>
<param name="esriString"></param>
</member>
<member name="P:DotSpatial.Projections.Meridian.Code">
<summary>
Gets or sets the code. Setting this will not impact the longitude or name.
In order to read a standard code (8901-8913) use the ReadCode method.
</summary>
</member>
<member name="P:DotSpatial.Projections.Meridian.Name">
<summary>
Gets or sets the string name
</summary>
</member>
<member name="P:DotSpatial.Projections.Meridian.Longitude">
<summary>
Gets or sets the longitude where the prime meridian for this geographic coordinate occurs.
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.Australia">
<summary>
Australia
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.Australia.#ctor">
<summary>
Creates a new instance of Australia
</summary>
</member>
<member name="T:DotSpatial.Projections.GeocentricGeodetic">
<summary>
Wenzel, H.-G.(1985): Hochauflösende Kugelfunktionsmodelle für
das Gravitationspotential der Erde. Wiss. Arb. Univ. Hannover
Nr. 137, p. 130-131.
</summary>
</member>
<member name="M:DotSpatial.Projections.GeocentricGeodetic.#ctor(DotSpatial.Projections.Spheroid)">
<summary>
Creates a new instance of GeocentricGeodetic
</summary>
</member>
<member name="M:DotSpatial.Projections.GeocentricGeodetic.GeodeticToGeocentric(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Converts lon, lat, height to x, y, z where lon and lat are in radians and everything else is meters
</summary>
<param name="xy"></param>
<param name="z"></param>
<param name="startIndex"></param>
<param name="numPoints"></param>
</member>
<member name="M:DotSpatial.Projections.GeocentricGeodetic.GeocentricToGeodetic(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Converts x, y, z to lon, lat, height
</summary>
<param name="xy"></param>
<param name="z"></param>
<param name="startIndex"></param>
<param name="numPoints"></param>
</member>
<member name="M:DotSpatial.Projections.GeocentricGeodetic.GeocentricToGeodetic(System.Double@,System.Double@,System.Double@)">
<summary>
Converts geocentric x, y, z coords to geodetic lon, lat, h
</summary>
</member>
<member name="M:DotSpatial.Projections.GeocentricGeodetic.GeocentricToGeodeticOld(System.Double@,System.Double@,System.Double@)">
<summary>
Converts geocentric x, y, z coords to geodetic lon, lat, h
</summary>
</member>
<member name="T:DotSpatial.Projections.Wagner5">
<summary>
Wagner5
</summary>
</member>
<member name="T:DotSpatial.Projections.Mollweide">
<summary>
Mollweide also acts as the base for Wag4 and Wag5
</summary>
</member>
<member name="M:DotSpatial.Projections.Mollweide.#ctor">
<summary>
Creates a new instance of Mollweide
</summary>
</member>
<member name="M:DotSpatial.Projections.Mollweide.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Mollweide.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Mollweide.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.Mollweide.Setup(System.Double)">
<summary>
Finalizes the setup based on the provided P paraemter
</summary>
<param name="p"></param>
</member>
<member name="P:DotSpatial.Projections.Mollweide.Cx">
<summary>
Gets or sets the x coefficient
</summary>
</member>
<member name="P:DotSpatial.Projections.Mollweide.Cy">
<summary>
Gets or sets the y coefficient value
</summary>
</member>
<member name="P:DotSpatial.Projections.Mollweide.Cp">
<summary>
Gets or sets the P coefficient
</summary>
</member>
<member name="M:DotSpatial.Projections.Wagner5.#ctor">
<summary>
Creates a new instance of Wagner5
</summary>
</member>
<member name="M:DotSpatial.Projections.Wagner5.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.NewZealandMapGrid">
<summary>
NewZealandMapGrid
</summary>
</member>
<member name="M:DotSpatial.Projections.NewZealandMapGrid.#ctor">
<summary>
Creates a new instance of NewZealandMapGrid
</summary>
</member>
<member name="M:DotSpatial.Projections.NewZealandMapGrid.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.NewZealandMapGrid.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.NewZealandMapGrid.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.MillerCylindrical">
<summary>
MillerCylindrical
</summary>
</member>
<member name="M:DotSpatial.Projections.MillerCylindrical.#ctor">
<summary>
Creates a new instance of MillerCylindrical
</summary>
</member>
<member name="M:DotSpatial.Projections.MillerCylindrical.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.MillerCylindrical.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.LongLat">
<summary>
LongLat
</summary>
</member>
<member name="M:DotSpatial.Projections.LongLat.#ctor">
<summary>
Creates a new instance of LongLat
</summary>
</member>
<member name="M:DotSpatial.Projections.LongLat.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LongLat.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LongLat.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.LambertAzimuthalEqualArea">
<summary>
LambertAzimuthalEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.LambertAzimuthalEqualArea.#ctor">
<summary>
Creates a new instance of LambertAzimuthalEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.LambertAzimuthalEqualArea.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LambertAzimuthalEqualArea.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LambertAzimuthalEqualArea.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LambertAzimuthalEqualArea.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LambertAzimuthalEqualArea.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.ProjectedSystems">
<summary>
Projected
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedSystems.#ctor">
<summary>
Creates a new instance of Projected
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedSystems.GetCategory(System.String)">
<summary>
Given the string name, this will return the specified coordinate category
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="P:DotSpatial.Projections.ProjectedSystems.Names">
<summary>
Gets an array of all the names of the coordinate system categories
in this collection of systems.
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983Harn">
<summary>
StatePlaneNad1983Harn
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983Harn.#ctor">
<summary>
Creates a new instance of StatePlaneNad1983Harn
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGridsSweden">
<summary>
NationalGridsSweden
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGridsSweden.#ctor">
<summary>
Creates a new instance of NationalGridsSweden
</summary>
</member>
<member name="T:DotSpatial.Projections.IReproject">
<summary>
This interface defines how reprojection classes should be accessed
</summary>
</member>
<member name="M:DotSpatial.Projections.IReproject.ReprojectPoints(System.Double[][],DotSpatial.Projections.ProjectionInfo,DotSpatial.Projections.ProjectionInfo,System.Int32,System.Int32)">
<summary>
Reprojects the specified points. The first is the projection info to start from, while the destination
is the projection to end with.
</summary>
<param name="points"></param>
<param name="source"></param>
<param name="dest"></param>
<param name="startIndex"></param>
<param name="numPoints"></param>
<returns></returns>
</member>
<member name="T:DotSpatial.Projections.AngularUnit">
<summary>
Unit
</summary>
</member>
<member name="M:DotSpatial.Projections.AngularUnit.#ctor">
<summary>
Creates a new instance of Unit
</summary>
</member>
<member name="M:DotSpatial.Projections.AngularUnit.ToEsriString">
<summary>
Generates the Esri string from the values in this class
</summary>
<returns>The resulting esri string</returns>
</member>
<member name="M:DotSpatial.Projections.AngularUnit.ReadEsriString(System.String)">
<summary>
Reads an esri string to determine the angular unit
</summary>
<param name="esriString">The esri string to read</param>
</member>
<member name="P:DotSpatial.Projections.AngularUnit.Name">
<summary>
Gets or sets the name of this
</summary>
</member>
<member name="P:DotSpatial.Projections.AngularUnit.Radians">
<summary>
Gets or sets the constant to multiply against this unit to get radians.
</summary>
</member>
<member name="T:DotSpatial.Projections.Wagner4">
<summary>
Wagner4
</summary>
</member>
<member name="M:DotSpatial.Projections.Wagner4.#ctor">
<summary>
Creates a new instance of Wagner4
</summary>
</member>
<member name="M:DotSpatial.Projections.Wagner4.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.SwissObliqueMercator">
<summary>
SwissObliqueMercator
</summary>
</member>
<member name="M:DotSpatial.Projections.SwissObliqueMercator.#ctor">
<summary>
Creates a new instance of SwissObliqueMercator
</summary>
</member>
<member name="M:DotSpatial.Projections.SwissObliqueMercator.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.SwissObliqueMercator.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.SwissObliqueMercator.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Cassini">
<summary>
Cassini
</summary>
</member>
<member name="M:DotSpatial.Projections.Cassini.#ctor">
<summary>
Creates a new instance of Cassini
</summary>
</member>
<member name="M:DotSpatial.Projections.Cassini.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Cassini.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Cassini.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Cassini.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Cassini.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Spheroid">
<summary>
Spheroid (Defaults to WGS84)
</summary>
</member>
<member name="M:DotSpatial.Projections.Spheroid.#ctor">
<summary>
Creates a new instance of Spheroid
</summary>
</member>
<member name="M:DotSpatial.Projections.Spheroid.#ctor(System.Double,System.Double)">
<summary>
Creates a new spheroid using an the equatorial radius in meters and
a flattening coefficient that is the inverse flattening factor.
eg. for WGS84 (6378137.0, 298.257223563)
</summary>
<param name="equatorialRadius">The semi-major axis</param>
<param name="inverseFlattening">The inverse of the flattening factor</param>
</member>
<member name="M:DotSpatial.Projections.Spheroid.#ctor(System.Double)">
<summary>
For perfect spheres, you just need to specify one radius, which will be
applied to both radii. You can then directly change the polar or
equatorial radius if necessary using the properties.
</summary>
<param name="radius">The radius of the sphere</param>
</member>
<member name="M:DotSpatial.Projections.Spheroid.#ctor(DotSpatial.Projections.Proj4Ellipsoid)">
<summary>
The ellps parameter in a proj4 string will only work with certain
pre-defined spheroids, enumerated in the Proj4Ellipsoids enumeration.
Custom spheroids can be specified but will use the a and b parameters
when creating a proj4 parameter instead of using the ellps parameter.
</summary>
<param name="knownEllipse">Any of several predefined geographic ellipses</param>
</member>
<member name="M:DotSpatial.Projections.Spheroid.#ctor(System.String)">
<summary>
Given the proj4 code, this will set the radii correctly.
</summary>
<param name="proj4Ellips"></param>
</member>
<member name="M:DotSpatial.Projections.Spheroid.ReadSedrisCode(System.String)">
<summary>
Assigns a known projection that is defined by a two character SEDRIS code,
using nothing but that code.
</summary>
<param name="code">The two character SEDRIS code defining 22 distinct ellipsoids.</param>
</member>
<member name="M:DotSpatial.Projections.Spheroid.AssignKnownEllipsoid(DotSpatial.Projections.Proj4Ellipsoid)">
<summary>
Given the enumeration of known ellipsoids, this will redefine this spheroid
so that it matches the A and B coefficients for the known ellipsoids.
</summary>
<param name="knownEllipse">The known Ellipse</param>
</member>
<member name="M:DotSpatial.Projections.Spheroid.FlatteningFactor">
<summary>
Calculates the flattening factor, (a - b) / a.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Spheroid.GetProj4String">
<summary>
Uses the current known ellipsoid to return a code name for the proj4 string if possible.
Otherwise, this returns the radial parameters a and b.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Spheroid.Eccentricity">
<summary>
Calculates the eccentrity according to e = sqrt(2f - f^2) where f is the flattening factor.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Spheroid.EccentricitySquared">
<summary>
Calculates the square of eccentricity according to es = (2f - f^2) where f is the flattening factor.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Spheroid.GetInverseFlattening">
<summary>
Calculates the inverse of the flattening factor, commonly saved to ESRI projections,
or else provided as the "rf" parameter for Proj4 strings. This is simply calculated
as a / (a - b) where a is the semi-major axis and b is the semi-minor axis.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Spheroid.IsOblate">
<summary>
Gets a boolean that is true if the spheroid has been flattened.
</summary>
<returns>Boolean, true if the spheroid is oblate (or flattened)</returns>
</member>
<member name="M:DotSpatial.Projections.Spheroid.SetInverseFlattening(System.Double)">
<summary>
Sets the value by using the current semi-major axis (Equatorial Radius) in order to
calculate the semi-minor axis (Polar Radius).
</summary>
</member>
<member name="M:DotSpatial.Projections.Spheroid.ToEsriString">
<summary>
Converts the spheroid parameters into a valid esri expression that uses the semi-major axis
and the reciprocal flattening factor
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Spheroid.ReadEsriString(System.String)">
<summary>
Reads the ESRI string to define the spheroid, which controls how flattened the earth's radius is
</summary>
<param name="esriString"></param>
</member>
<member name="P:DotSpatial.Projections.Spheroid.Code">
<summary>
Gets or sets the two character Synthetic Environment Data
Representation and Interchange Specification (SEDRIS) code
eg. AA represents Airy 1830. Setting this will not modify the values,
To read a SEDRIS Code use the constructor or AssignKnownEllipsoid overload.
</summary>
</member>
<member name="P:DotSpatial.Projections.Spheroid.Proj4Names">
<summary>
Each of the enumerated known ellipsoids is encoded by an ellps parameter specified by
the corresponding string value. Ellipsoids that are not found here or are specified
as "Custom" in the enuemration will be replaced with an 'a' and a 'b' parameter instead.
</summary>
</member>
<member name="P:DotSpatial.Projections.Spheroid.Name">
<summary>
Gets or sets the string name of the spheroid.
e.g.: WGS_1984
</summary>
</member>
<member name="P:DotSpatial.Projections.Spheroid.EquatorialRadius">
<summary>
A spheroid is a pole flattened (oblate) sphere, with the radii of two axes being equal and longer
than the third. This is the radial measure of one of these major axes in meters.
e.g. 6,378,137 for WGS 84
</summary>
</member>
<member name="P:DotSpatial.Projections.Spheroid.PolarRadius">
<summary>
A spheroid is a pole flattened (oblate) sphere, with the radii of two axes being equal and longer
than the third. This is the radial measure of the smaller polar axis in meters. One option is
to specify this directly, but it can also be calculated using the major axis and the flattening factor.
</summary>
</member>
<member name="P:DotSpatial.Projections.Spheroid.KnownEllipsoid">
<summary>
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.WorldSpheroid">
<summary>
WorldSpheroid
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.WorldSpheroid.#ctor">
<summary>
Creates a new instance of WorldSpheroid
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.UtmNad1983">
<summary>
UtmNad1983
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.UtmNad1983.#ctor">
<summary>
Creates a new instance of UtmNad1983
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGridsIndia">
<summary>
IndianSubcontinent
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGridsIndia.#ctor">
<summary>
Creates a new instance of IndianSubcontinent
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.GaussKrugerPulkovo1942">
<summary>
GaussKrugerPulkovo1942
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.GaussKrugerPulkovo1942.#ctor">
<summary>
Creates a new instance of GaussKrugerPulkovo1942
</summary>
</member>
<member name="T:DotSpatial.Projections.PhiLam">
<summary>
PhiLam has two double values and is used like a coordinate.
</summary>
</member>
<member name="F:DotSpatial.Projections.PhiLam.Phi">
<summary>
Geodetic Phi coordinate (latitude)
</summary>
</member>
<member name="F:DotSpatial.Projections.PhiLam.Lambda">
<summary>
Geodetic Lambda coordinate (longitude)
</summary>
</member>
<member name="T:DotSpatial.Projections.LinearUnit">
<summary>
Unit
</summary>
</member>
<member name="M:DotSpatial.Projections.LinearUnit.#ctor">
<summary>
Creates a new instance of Unit
</summary>
</member>
<member name="M:DotSpatial.Projections.LinearUnit.ToEsriString">
<summary>
Generates the part of the ESRI well known text for this linear unit
</summary>
<returns>A string that contains the name and conversion factor to meters </returns>
</member>
<member name="M:DotSpatial.Projections.LinearUnit.ReadEsriString(System.String)">
<summary>
Parses the UNIT member of ESRI well known text into a linear unit
</summary>
<param name="esriString"></param>
</member>
<member name="M:DotSpatial.Projections.LinearUnit.ReadCode(System.Int32)">
<summary>
Interprets a UOM code. For instance 9001 = meters.
These codes and ratios were from GDAL unit_of_measure.csv, and I'm not
sure if the numeric code is used outside of GDAL internal references.
</summary>
<param name="uomCode"></param>
</member>
<member name="P:DotSpatial.Projections.LinearUnit.Name">
<summary>
Gets or sets the name of this
</summary>
</member>
<member name="P:DotSpatial.Projections.LinearUnit.Meters">
<summary>
Gets or sets the constant to multiply with maps distances to get the distances in meters
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.Asia">
<summary>
Asia
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.Asia.#ctor">
<summary>
Creates a new instance of Asia
</summary>
</member>
<member name="T:DotSpatial.Projections.Proj">
<summary>
Proj contains frequently used static helper methods for doing projection calculations
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj.ONE_TOL">
<summary>
Effectively 1 but with a tolerance of 1E-14
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj.ATOL">
<summary>
1E-50
</summary>
</member>
<member name="M:DotSpatial.Projections.Proj.Aasin(System.Double)">
<summary>
Tolerant Arcsin
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Aacos(System.Double)">
<summary>
Tolerant ArcCosine
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Asqrt(System.Double)">
<summary>
Tollerant Sqrt
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Aatan2(System.Double,System.Double)">
<summary>
Tollerant Math.Atan method.
</summary>
<param name="n"></param>
<param name="d"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Hypot(System.Double,System.Double)">
<summary>
Calculates the hypotenuse of a triangle: Sqrt(x*x + y*y);
</summary>
<param name="x">The length of one orthogonal leg of the triangle</param>
<param name="y">The length of the other orthogonal leg of the triangle</param>
<returns>The length of the diagonal.</returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Adjlon(System.Double)">
<summary>
</summary>
<param name="lon"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Authset(System.Double)">
<summary>
Determines latitude from authalic latitude
</summary>
<param name="es">Epsilon squared</param>
<returns>The array of double values for the apa parameter</returns>
</member>
<member name="M:DotSpatial.Projections.Proj.AuthLat(System.Double,System.Double[])">
<summary>
Obtains the authalic latitude
</summary>
<param name="beta"></param>
<param name="apa"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Enfn(System.Double)">
<summary>
Obtains the EN parameters for the Meridional distance
</summary>
<param name="es"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Mlfn(System.Double,System.Double,System.Double,System.Double[])">
<summary>
Meridonal length function
</summary>
<param name="phi"></param>
<param name="sphi"></param>
<param name="cphi"></param>
<param name="en"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.InvMlfn(System.Double,System.Double,System.Double[])">
<summary>
</summary>
<param name="arg"></param>
<param name="es"></param>
<param name="en"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Qsfn(System.Double,System.Double,System.Double)">
<summary>
</summary>
<param name="sinphi"></param>
<param name="e"></param>
<param name="oneEs"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Tsfn(System.Double,System.Double,System.Double)">
<summary>
</summary>
<param name="phi"></param>
<param name="sinphi"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Msfn(System.Double,System.Double,System.Double)">
<summary>
</summary>
<param name="sinphi"></param>
<param name="cosphi"></param>
<param name="es"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Phi2(System.Double,System.Double)">
<summary>
</summary>
<param name="ts"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Zpoly1(System.Double[],System.Double[][],System.Int32)">
<summary>
</summary>
<param name="z"></param>
<param name="c"></param>
<param name="n"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.Proj.Zpolyd1(System.Double[],System.Double[][],System.Int32,System.Double[]@)">
<summary>
</summary>
<param name="z"></param>
<param name="c"></param>
<param name="n"></param>
<param name="der"></param>
<returns></returns>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.Wisconsin">
<summary>
Wisconsin
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.Wisconsin.#ctor">
<summary>
Creates a new instance of Wisconsin
</summary>
</member>
<member name="T:DotSpatial.Projections.Proj4Meridian">
<summary>
Proj4Meridians
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Greenwich">
<summary>
Greenwich, England
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Lisbon">
<summary>
Lisbon, Portugal
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Paris">
<summary>
Paris, France
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Bogota">
<summary>
Bogota, Colombia
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Madrid">
<summary>
Madrid, Spain
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Rome">
<summary>
Rome, Italy
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Bern">
<summary>
Berne, Switzerland
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Jakarta">
<summary>
Jakarta, Indonesia
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Ferro">
<summary>
Brasil
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Brussels">
<summary>
Brussels, Belgiuum
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Stockholm">
<summary>
Stockholm, Sweden
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Athens">
<summary>
Athens, Greece
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Meridian.Oslo">
<summary>
Oslo, Norway
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.SouthAmerica">
<summary>
SouthAmerica
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.SouthAmerica.#ctor">
<summary>
Creates a new instance of SouthAmerica
</summary>
</member>
<member name="T:DotSpatial.Projections.VanderGrinten1">
<summary>
VanderGrinten1
</summary>
</member>
<member name="M:DotSpatial.Projections.VanderGrinten1.#ctor">
<summary>
Creates a new instance of VanderGrinten1
</summary>
</member>
<member name="M:DotSpatial.Projections.VanderGrinten1.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.VanderGrinten1.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.LambertEqualAreaConic">
<summary>
LambertEqualAreaConic
</summary>
</member>
<member name="M:DotSpatial.Projections.LambertEqualAreaConic.#ctor">
<summary>
Creates a new instance of LambertEqualAreaConic
</summary>
</member>
<member name="M:DotSpatial.Projections.LambertEqualAreaConic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.LambertConformalConic">
<summary>
LambertConformalConic
</summary>
</member>
<member name="M:DotSpatial.Projections.LambertConformalConic.#ctor">
<summary>
Creates a new instance of the Lambert Conformal Conic projection
</summary>
</member>
<member name="M:DotSpatial.Projections.LambertConformalConic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LambertConformalConic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.LambertConformalConic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.LambertConformalConic.OnSpecial(System.Double[],DotSpatial.Projections.ProjectionInfo,DotSpatial.Projections.Factors)">
<summary>
Special factor calculations for a factors calculation
</summary>
<param name="lp">lambda-phi</param>
<param name="p">The projection</param>
<param name="fac">The Factors</param>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.StatePlaneOther">
<summary>
StatePlaneOther
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.StatePlaneOther.#ctor">
<summary>
Creates a new instance of StatePlaneOther
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.Nad1983IntlFeet">
<summary>
Nad1983IntlFeet
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.Nad1983IntlFeet.#ctor">
<summary>
Creates a new instance of Nad1983IntlFeet
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.KrugerXian1980">
<summary>
KrugerZian1980
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.KrugerXian1980.#ctor">
<summary>
Creates a new instance of KrugerZian1980
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.GaussKrugerPulkovo1995">
<summary>
GaussKrugerPulkovo1995
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.GaussKrugerPulkovo1995.#ctor">
<summary>
Creates a new instance of GaussKrugerPulkovo1995
</summary>
</member>
<member name="T:DotSpatial.Projections.Proj4Datum">
<summary>
Proj4Datums
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.WGS84">
<summary>
World Geodetic System 1984
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.GGRS87">
<summary>
Greek Geodetic Reference system 1987
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.NAD83">
<summary>
North American Datum 1983
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.NAD27">
<summary>
North American Datum 1927
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.Potsdam">
<summary>
Potsdam Rauenburg 1950 DHDN
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.Carthage">
<summary>
Carthage 1934 Tunisia
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.Hermannskogel">
<summary>
Hermannskogel
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.Ire65">
<summary>
Ireland 1965
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.Nzgd49">
<summary>
New Zealand Grid
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Datum.OSGB36">
<summary>
Airy 1830
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.Africa">
<summary>
Africa
</summary>
</member>
<member name="F:DotSpatial.Projections.GeographicCategories.Africa.Abidjan1987">
<summary>
Abidjan 1987
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.Africa.#ctor">
<summary>
Creates a new instance of Africa
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjMatchableEM">
<summary>
MatchableEM
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjMatchableEM.Matches(DotSpatial.Projections.IProjMatchable,DotSpatial.Projections.IProjMatchable)">
<summary>
This tests the public properties from the two objects. If any properties implement
the IMatchable interface, and do not match, this returns false. If any public
properties are value types, and they are not equal, then this returns false.
</summary>
<param name="self">This matchable item </param>
<param name="other">The other item to compare to this item</param>
<returns>Boolean, true if there is a match</returns>
</member>
<member name="T:DotSpatial.Projections.ProjectionException">
<summary>
ProjectionErrorCodes
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectionException.#ctor(System.Int32)">
<summary>
Creates a new projection exception with the appropriate message code
</summary>
<param name="errorCode"></param>
</member>
<member name="M:DotSpatial.Projections.ProjectionException.#ctor(System.String)">
<summary>
Creates a new projection exception with the specified message
</summary>
<param name="message"></param>
</member>
<member name="M:DotSpatial.Projections.ProjectionException.GetMessage(System.Int32)">
<summary>
Returns a string message given the correct numeric code.
</summary>
<param name="projectionCode"></param>
<returns></returns>
</member>
<member name="P:DotSpatial.Projections.ProjectionException.ErrorCode">
<summary>
Gets the error code that was used when this exception was created
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.World">
<summary>
World
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.World.#ctor">
<summary>
Creates a new instance of World
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.SouthAmerica">
<summary>
SouthAmerica
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.SouthAmerica.#ctor">
<summary>
Creates a new instance of SouthAmerica
</summary>
</member>
<member name="T:DotSpatial.Projections.NadTable">
<summary>
NadRecord is a single entry from an lla file
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable.DEG_TO_RAD">
<summary>
Converts degree values into radians
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable.USecToRad">
<summary>
I think this converts micro-seconds of arc to radians
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable._name">
<summary>
The character based id for this record
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable._lowerLeft">
<summary>
The lower left coordinate
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable._cellSize">
<summary>
The delta lambda and delta phi for a single cell
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable._numLambdas">
<summary>
The total count of coordinates in the lambda direction
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable._numPhis">
<summary>
The total count of coordinates in the phi direction
</summary>
</member>
<member name="F:DotSpatial.Projections.NadTable._cvs">
<summary>
The set of conversion matrix coefficients for lambda
</summary>
</member>
<member name="M:DotSpatial.Projections.NadTable.#ctor">
<summary>
Creates a blank nad Table
</summary>
</member>
<member name="M:DotSpatial.Projections.NadTable.#ctor(System.String)">
<summary>
This initializes a new table with the assumption that the offset is 0
</summary>
<param name="resourceLocation">The resource location</param>
</member>
<member name="M:DotSpatial.Projections.NadTable.#ctor(System.String,System.Int64)">
<summary>
This initializes a new table with the assumption that the offset needs to be specified
because in gsb files, more than one table is listed, and this is a subtable.
</summary>
<param name="resourceLocation">The resource location</param>
<param name="offset">The offset marking the start of the header in the file</param>
</member>
<member name="M:DotSpatial.Projections.NadTable.ReadHeader">
<summary>
Given the resource setup, this causes the file to read the
</summary>
</member>
<member name="M:DotSpatial.Projections.NadTable.FillData">
<summary>
</summary>
</member>
<member name="M:DotSpatial.Projections.NadTable.ReadDouble(System.IO.BinaryReader)">
<summary>
Reads a double in BigEndian format (consistent with ntv1 and ntv2 formats.)
</summary>
<param name="br">The binary reader</param>
<returns>The double value parsed from the binary in big endian byte order.</returns>
</member>
<member name="M:DotSpatial.Projections.NadTable.GetDouble(System.Byte[],System.Int32)">
<summary>
Gets the double value from the specified position in the byte array
Using BigEndian format.
</summary>
<param name="array"></param>
<param name="offset"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.NadTable.FromSourceName(System.String)">
<summary>
This method parses the extension of a resource location and
creates the new resource type.
</summary>
<param name="resourceLocation"></param>
<returns></returns>
</member>
<member name="P:DotSpatial.Projections.NadTable.Name">
<summary>
Gets or sets the string name for this record
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.LowerLeft">
<summary>
Gets or sets the lower left corner in radians
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.CellSize">
<summary>
Gets or sets the angular cell size in radians
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.NumPhis">
<summary>
Gets or sets the integer count of phi coefficients
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.NumLambdas">
<summary>
Gets or sets the integer count of lambda coefficients
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.SubGrids">
<summary>
These represent smaller, higher resolution subgrids that should fall within the extents
of the larger grid. If this list exists, and there is a fit here, it should be used
in preference to the low-resolution main grid.
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.Cvs">
<summary>
Gets or sets the array of lambda coefficients organized
in a spatial Table (phi major)
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.Filled">
<summary>
Gets or sets a boolean indicating whether or not the values have been filled.
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.ManifestResourceString">
<summary>
Gets or sets the location this table should look for source data.
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.DataOffset">
<summary>
Gets or sets the long integer data offset where the stream should skip to to begin reading data
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTable.Format">
<summary>
Gets or sets the format being used.
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.World">
<summary>
World
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.World.#ctor">
<summary>
Creates a new instance of World
</summary>
</member>
<member name="T:DotSpatial.Projections.LlaNadTable">
<summary>
Overrides the NadTable methods in the context of an lla resource file.
</summary>
</member>
<member name="M:DotSpatial.Projections.LlaNadTable.#ctor(System.String)">
<summary>
An LlaNadTable constructor
</summary>
<param name="resourceLocation">The Manifest Assembly resource location</param>
</member>
<member name="M:DotSpatial.Projections.LlaNadTable.ReadHeader">
<inheritdoc></inheritdoc>
</member>
<member name="M:DotSpatial.Projections.LlaNadTable.FillData">
<inheritdoc></inheritdoc>
</member>
<member name="T:DotSpatial.Projections.ProjShallowCopy">
<summary>
Normally, cloning an object starts with MemberwiseClone, which
creates a shallow copy of the object. For any members that
derive from the Descriptor, however, any public properties
or fields that implement ICloneable are copied (deep copy behavior).
This is not always desirable, even if the member CAN be copied.
This attribute causes the deep copy behavior to skip over
properties marked with this attribute.
</summary>
</member>
<member name="T:DotSpatial.Projections.PutinsP1">
<summary>
PutinsP1
</summary>
</member>
<member name="M:DotSpatial.Projections.PutinsP1.#ctor">
<summary>
Creates a new instance of PutinsP1
</summary>
</member>
<member name="M:DotSpatial.Projections.PutinsP1.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.PutinsP1.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.GeneralSinusoidal">
<summary>
GeneralSinusoidal
</summary>
</member>
<member name="T:DotSpatial.Projections.Sinusoidal">
<summary>
Sinusoidal
</summary>
</member>
<member name="M:DotSpatial.Projections.Sinusoidal.#ctor">
<summary>
Creates a new instance of Sinusoidal
</summary>
</member>
<member name="M:DotSpatial.Projections.Sinusoidal.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Sinusoidal.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Sinusoidal.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Sinusoidal.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Sinusoidal.Setup">
<summary>
Handles the original configuration of sinusoidal transforms
</summary>
</member>
<member name="M:DotSpatial.Projections.Sinusoidal.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="P:DotSpatial.Projections.Sinusoidal.M">
<summary>
Gets or sets the double M value
</summary>
</member>
<member name="P:DotSpatial.Projections.Sinusoidal.N">
<summary>
Gets or sets the N value
</summary>
</member>
<member name="M:DotSpatial.Projections.GeneralSinusoidal.#ctor">
<summary>
Creates a new instance of GeneralSinusoidal
</summary>
</member>
<member name="M:DotSpatial.Projections.GeneralSinusoidal.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983HarnFeet">
<summary>
StatePlaneNad1983HarnFeet
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983HarnFeet.#ctor">
<summary>
Creates a new instance of StatePlaneNad1983HarnFeet
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983">
<summary>
StatePlaneNad1983
</summary>
</member>
<member name="F:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983.MichiganGeoRef2008">
<summary>
Michigan Geo Ref 2008
</summary>
</member>
<member name="F:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983.NAD1983Maine2000CentralZone">
<summary>
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983.#ctor">
<summary>
Creates a new instance of StatePlaneNad1983
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.GaussKrugerOther">
<summary>
GaussKrugerOther
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.GaussKrugerOther.#ctor">
<summary>
Creates a new instance of GaussKrugerOther
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.SolarSystem">
<summary>
SolarSystem
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.SolarSystem.#ctor">
<summary>
Creates a new instance of SolarSystem
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.CountySystems">
<summary>
CountySystems
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.CountySystems.#ctor">
<summary>
Creates a new instance of CountySystems
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjFieldInfoEM">
<summary>
FieldInfo
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjFieldInfoEM.GetFirst(System.Collections.Generic.IEnumerable{System.Reflection.FieldInfo},System.String)">
<summary>
</summary>
<param name="self"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.ProjFieldInfoEM.Contains(System.Collections.Generic.IEnumerable{System.Reflection.FieldInfo},System.String)">
<summary>
Determines whether there is a member with the specified name
</summary>
<param name="self"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="T:DotSpatial.Projections.UniversalTransverseMercator">
<summary>
UniversalTransverseMercator
</summary>
</member>
<member name="T:DotSpatial.Projections.TransverseMercator">
<summary>
TransverseMercator
</summary>
</member>
<member name="M:DotSpatial.Projections.TransverseMercator.#ctor">
<summary>
Creates a new instance of TransverseMercator
</summary>
</member>
<member name="M:DotSpatial.Projections.TransverseMercator.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.TransverseMercator.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
The forward transform in the special case where there is no flattening of the spherical model of the earth.
</summary>
<param name="lp">The input lambda and phi geodetic values organized in an array</param>
<param name="xy">The output x and y values organized in an array</param>
<param name="startIndex">The zero based integer start index</param>
<param name="numPoints">The integer count of the number of xy pairs in the lp and xy arrays</param>
</member>
<member name="M:DotSpatial.Projections.TransverseMercator.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
The forward transform where the spheroidal model of the earth has a flattening factor,
matching more closely with the oblique spheroid of the actual earth
</summary>
<param name="lp">The double values for geodetic lambda and phi organized into a one dimensional array</param>
<param name="xy">The double values for linear x and y organized into a one dimensional array</param>
<param name="startIndex">The zero based integer start index</param>
<param name="numPoints">The integer count of the number of xy pairs in the lp and xy arrays</param>
</member>
<member name="M:DotSpatial.Projections.TransverseMercator.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Performs the inverse transform from a single coordinate of linear units to the same coordinate in geodetic lambda and
phi units in the special case where the shape of the earth is being approximated as a perfect sphere.
</summary>
<param name="xy">The double linear input x and y values organized into a 1 dimensional array</param>
<param name="lp">The double geodetic output lambda and phi values organized into a 1 dimensional array</param>
<param name="startIndex">The zero based integer start index</param>
<param name="numPoints">The integer count of the number of xy pairs in the lp and xy arrays</param>
</member>
<member name="M:DotSpatial.Projections.TransverseMercator.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<summary>
Performs the inverse transfrom from a single coordinate of linear units to the same coordinate in geodetic units
</summary>
<param name="xy">The double linear input x and y values organized into a 1 dimensional array</param>
<param name="lp">The double geodetic output lambda and phi values organized into a 1 dimensional array</param>
<param name="startIndex">The zero based integer start index</param>
<param name="numPoints">The integer count of the number of xy pairs in the lp and xy arrays</param>
</member>
<member name="M:DotSpatial.Projections.UniversalTransverseMercator.#ctor">
<summary>
Creates a new instance of UniversalTransverseMercator. The only difference
for this one is that the proj4 name is a little different and when reading
from proj4, we have to parse the zone and south parameters in order to
create the transverse mercator projection.
</summary>
</member>
<member name="M:DotSpatial.Projections.UniversalTransverseMercator.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Mercator">
<summary>
Mercator
</summary>
</member>
<member name="M:DotSpatial.Projections.Mercator.#ctor">
<summary>
Creates a new instance of Mercator
</summary>
</member>
<member name="M:DotSpatial.Projections.Mercator.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Mercator.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Mercator.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Mercator.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Mercator.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Kavraisky7">
<summary>
Kavraisky6
</summary>
</member>
<member name="M:DotSpatial.Projections.Kavraisky7.#ctor">
<summary>
Creates a new instance of Kavraisky6
</summary>
</member>
<member name="M:DotSpatial.Projections.Kavraisky7.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Kavraisky7.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.GeostationarySatellite">
<summary>
GeostationarySatellite
</summary>
</member>
<member name="M:DotSpatial.Projections.GeostationarySatellite.#ctor">
<summary>
Creates a new instance of GeostationarySatellite
</summary>
</member>
<member name="M:DotSpatial.Projections.GeostationarySatellite.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.GeostationarySatellite.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.GeostationarySatellite.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.GeostationarySatellite.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.GeostationarySatellite.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.GaussKruger">
<summary>
Gauss Kruger is basically transverse mercator
</summary>
</member>
<member name="M:DotSpatial.Projections.GaussKruger.#ctor">
<summary>
Creates a new instance of GaussKruger
</summary>
</member>
<member name="T:DotSpatial.Projections.IProjectionCategory">
<summary>
IProjectionCategory
</summary>
</member>
<member name="P:DotSpatial.Projections.IProjectionCategory.MainCategory">
<summary>
Gets or sets the main category for this projection
</summary>
</member>
<member name="P:DotSpatial.Projections.IProjectionCategory.Category">
<summary>
Gets or sets the category for this projection
</summary>
</member>
<member name="P:DotSpatial.Projections.IProjectionCategory.Name">
<summary>
Gets or sets the string name
</summary>
</member>
<member name="P:DotSpatial.Projections.IProjectionCategory.Proj4String">
<summary>
Gets or sets the proj4 string that defines this projection
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.Antarctica">
<summary>
Antarctica
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.Antarctica.#ctor">
<summary>
Creates a new instance of Antarctica
</summary>
</member>
<member name="T:DotSpatial.Projections.Datum">
<summary>
Datum
</summary>
</member>
<member name="M:DotSpatial.Projections.Datum.#ctor">
<summary>
Creates a new instance of Datum
</summary>
</member>
<member name="M:DotSpatial.Projections.Datum.#ctor(System.String)">
<summary>
uses a string name of a standard datum to create a new instance of the Datum class
</summary>
<param name="standardDatum">The string name of the datum to use</param>
</member>
<member name="M:DotSpatial.Projections.Datum.#ctor(DotSpatial.Projections.Proj4Datum)">
<summary>
Uses a Proj4Datums enumeration in order to specify a known datum to
define the spheroid and to WGS calculation method and parameters
</summary>
<param name="standardDatum">The Proj4Datums enumeration specifying the known datum</param>
</member>
<member name="M:DotSpatial.Projections.Datum.Matches(DotSpatial.Projections.Datum)">
<summary>
Compares two datums to see if they are actually describing the same thing and
therefore don't need to be transformed.
</summary>
<param name="otherDatum">The other datum to compare against</param>
<returns>The boolean result of the operation.</returns>
</member>
<member name="M:DotSpatial.Projections.Datum.ToEsriString">
<summary>
Creates an esri well known text string for the datum part of the string
</summary>
<returns>The datum portion of the esri well known text</returns>
</member>
<member name="M:DotSpatial.Projections.Datum.ReadEsriString(System.String)">
<summary>
parses the datum from the esri string
</summary>
<param name="esriString">The string to parse values from</param>
</member>
<member name="M:DotSpatial.Projections.Datum.ReadProj4Params(System.Collections.Generic.Dictionary{System.String,System.String})">
<summary>
Reads the proj4 parameters and parses out the ones that control the
datum.
</summary>
<param name="parameters"></param>
<remarks>Originally ported from pj_datum_set.c</remarks>
</member>
<member name="P:DotSpatial.Projections.Datum.Name">
<summary>
Gets or sets the name of the datum defining the spherical characteristics of the model of the earth
</summary>
</member>
<member name="P:DotSpatial.Projections.Datum.Spheroid">
<summary>
The spheroid of the earth, defining the maximal radius and the flattening factor
</summary>
</member>
<member name="P:DotSpatial.Projections.Datum.ToWGS84">
<summary>
Gets or sets the set of double parameters, (this can either be 3 or 7 parameters)
used to transform this
</summary>
</member>
<member name="P:DotSpatial.Projections.Datum.DatumType">
<summary>
Gets or sets the datum type, which clarifies how to perform transforms to WGS84
</summary>
</member>
<member name="P:DotSpatial.Projections.Datum.Description">
<summary>
Gets or sets an english description for this datum
</summary>
</member>
<member name="P:DotSpatial.Projections.Datum.NadGrids">
<summary>
Gets or sets the array of string nadGrid
</summary>
</member>
<member name="T:DotSpatial.Projections.TransformManager">
<summary>
TransformManager
</summary>
</member>
<member name="M:DotSpatial.Projections.TransformManager.#ctor">
<summary>
Creates a new instance of TransformManager
</summary>
</member>
<member name="M:DotSpatial.Projections.TransformManager.GetProj4(System.String)">
<summary>
Given the proj4 string, returns the matching transform eg: tmerc.
</summary>
<param name="name">The string name</param>
<returns>The ITransform that has the matching proj4 name</returns>
</member>
<member name="M:DotSpatial.Projections.TransformManager.GetProjection(System.String)">
<summary>
Given the .prj name (ESRI wkt), returns the matching transform
</summary>
<param name="name">The string name for the trnasform eg. Transverse_Mercator</param>
<returns>The ITransform that has the matching ESRI wkt name</returns>
</member>
<member name="P:DotSpatial.Projections.TransformManager.Transforms">
<summary>
The entire list of transforms
</summary>
</member>
<member name="P:DotSpatial.Projections.TransformManager.DefaultTransformManager">
<summary>
Gets the default instance of the transform manager
</summary>
</member>
<member name="T:DotSpatial.Projections.ObliqueCylindricalEqualArea">
<summary>
ObliqueCylindricalEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.ObliqueCylindricalEqualArea.#ctor">
<summary>
Creates a new instance of ObliqueCylindricalEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.ObliqueCylindricalEqualArea.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.ObliqueCylindricalEqualArea.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.ObliqueCylindricalEqualArea.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.GallStereographic">
<summary>
GallStereographic
</summary>
</member>
<member name="M:DotSpatial.Projections.GallStereographic.#ctor">
<summary>
Creates a new instance of GallStereographic
</summary>
</member>
<member name="M:DotSpatial.Projections.GallStereographic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.GallStereographic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Foucaut">
<summary>
Foucaut is a tweaked version of QuarticAuthalic that uses tan mode.
</summary>
</member>
<member name="M:DotSpatial.Projections.Foucaut.#ctor">
<summary>
Creates a new instance of Foucaut
</summary>
</member>
<member name="M:DotSpatial.Projections.Foucaut.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.CylindricalEqualArea">
<summary>
CylindricalEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.CylindricalEqualArea.#ctor">
<summary>
Creates a new instance of CylindricalEqualArea
</summary>
</member>
<member name="M:DotSpatial.Projections.CylindricalEqualArea.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.CylindricalEqualArea.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.CylindricalEqualArea.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.CylindricalEqualArea.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.CylindricalEqualArea.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Bonne">
<summary>
Bonne
</summary>
</member>
<member name="M:DotSpatial.Projections.Bonne.#ctor">
<summary>
Creates a new instance of Bonne
</summary>
</member>
<member name="M:DotSpatial.Projections.Bonne.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Bonne.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Bonne.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Bonne.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Bonne.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.StateSystems">
<summary>
StateSystems
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.StateSystems.#ctor">
<summary>
Creates a new instance of StateSystems
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGridsAustralia">
<summary>
NatGridsAustralia
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGridsAustralia.#ctor">
<summary>
Creates a new instance of NatGridsAustralia
</summary>
</member>
<member name="T:DotSpatial.Projections.Orthographic">
<summary>
Orthographic
</summary>
</member>
<member name="M:DotSpatial.Projections.Orthographic.#ctor">
<summary>
Creates a new instance of Orthographic
</summary>
</member>
<member name="M:DotSpatial.Projections.Orthographic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Orthographic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Orthographic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Kavraisky5">
<summary>
Kavraisky5 is just a tweaked version of Quartic Authalic
</summary>
</member>
<member name="M:DotSpatial.Projections.Kavraisky5.#ctor">
<summary>
Creates a new instance of Kavraisky5
</summary>
</member>
<member name="M:DotSpatial.Projections.Kavraisky5.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.EquidistantConic">
<summary>
EquidistantConic
</summary>
</member>
<member name="M:DotSpatial.Projections.EquidistantConic.#ctor">
<summary>
Creates a new instance of EquidistantConic
</summary>
</member>
<member name="M:DotSpatial.Projections.EquidistantConic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.EquidistantConic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.EquidistantConic.OnSpecial(System.Double[],DotSpatial.Projections.ProjectionInfo,DotSpatial.Projections.Factors)">
<summary>
This exists in the case that we ever develop code to perform the special proj4 calculations
</summary>
<param name="lp"></param>
<param name="p"></param>
<param name="fac"></param>
</member>
<member name="M:DotSpatial.Projections.EquidistantConic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.AnalyticModes">
<summary>
AnalyticCodes
</summary>
</member>
<member name="F:DotSpatial.Projections.AnalyticModes.IsAnalXlYl">
<summary>
Derivatives of lon analytic
</summary>
</member>
<member name="F:DotSpatial.Projections.AnalyticModes.IsAnalXpYp">
<summary>
Derivatives of lat analytic
</summary>
</member>
<member name="F:DotSpatial.Projections.AnalyticModes.IsAnalHk">
<summary>
h and k are analytic
</summary>
</member>
<member name="F:DotSpatial.Projections.AnalyticModes.IsAnalConv">
<summary>
convergence analytic
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectionMessages">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.DuplicateTableName">
<summary>
Looks up a localized string similar to The name %S was found for more than one lla Table in the Nad folder..
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err1_NoArguments">
<summary>
Looks up a localized string similar to No arguments in initialization list.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err10_ZeroRecFlattening">
<summary>
Looks up a localized string similar to The reciprocal flattening (1/f) = 0.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err11_LatitudeOutOfBounds">
<summary>
Looks up a localized string similar to The Latitude was greater than 90 or less than -90.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err12_ESquareNegative">
<summary>
Looks up a localized string similar to The square of eccentricity cannot be a negative value..
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err13_NoMajorRadius">
<summary>
Looks up a localized string similar to The given semi-major axis was 0 or not given..
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err14_LatLonOutOfBounds">
<summary>
Looks up a localized string similar to The Latitude or Longitude exceeded limits.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err15_InvalidXY">
<summary>
Looks up a localized string similar to The cartesian X or Y coordinate was invalid.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err16_ImproperDMS">
<summary>
Looks up a localized string similar to The Degree Minute Second value is formed imporperly.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err17_NonConvergentRMeridDist">
<summary>
Looks up a localized string similar to The inverse meridinal distance was non-convergent.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err18_NonConvergentRPhi2">
<summary>
Looks up a localized string similar to The inverse Phi2 value was non-converngent.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err19_TrigException">
<summary>
Looks up a localized string similar to The ArcCosign or ArcSign value was too large..
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err2_NoOptions">
<summary>
Looks up a localized string similar to No options found in &apos;init&apos; file.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err20_ToleranceConditionError">
<summary>
Looks up a localized string similar to Tolerance Condition Error.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err21_ConicLatitudeError">
<summary>
Looks up a localized string similar to The conic lat_1 value cannot be its -lat_2.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err22_Lat1TooLarge">
<summary>
Looks up a localized string similar to Latitude 1 cannot be greater than or equal to 90.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err23_Lat1TooSmall">
<summary>
Looks up a localized string similar to Latitude 2 cannot be equal to 0.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err24_Lat_tsTooLarge">
<summary>
Looks up a localized string similar to The lat_ts parameter cannot be greater than or equal to 90.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err25_NoControlPtSeparation">
<summary>
Looks up a localized string similar to There was no distance between the control points.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err26_ProjectionNotRotated">
<summary>
Looks up a localized string similar to Projection not selected to be rotated.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err27_WorMTooSmall">
<summary>
Looks up a localized string similar to W &lt;= 0 or M &lt;= 0.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err28_LsatOutOfBounds">
<summary>
Looks up a localized string similar to lsat not in 1-5 range.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err29_PathNotInRange">
<summary>
Looks up a localized string similar to Path not in range.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err3_NoColon">
<summary>
Looks up a localized string similar to No colon in init= string.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err30_HTooSmall">
<summary>
Looks up a localized string similar to H was negative or 0.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err31_KTooSmall">
<summary>
Looks up a localized string similar to K was less than 0.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err32_LatOutOfBounds">
<summary>
Looks up a localized string similar to The central latitude was 0 or 90 or alpha = 90.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err33_InvalidLatitudes">
<summary>
Looks up a localized string similar to Lat_1 = lat_2 or lat_1 = 0 or lat_2 = 90.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err34_EllipticalRequired">
<summary>
Looks up a localized string similar to Elliptical Usage Required.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err35_InvalidUTMZone">
<summary>
Looks up a localized string similar to The UTM zone parameter was invalid.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err36_TchebyException">
<summary>
Looks up a localized string similar to The arguments were out of range for Tcheby eval.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err37_ProjNotFound">
<summary>
Looks up a localized string similar to Failed to find projection to be rotated.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err38_CorrectionNotFound">
<summary>
Looks up a localized string similar to Failed to load NAD27-83 correction file.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err39_NorMnotSpecified">
<summary>
Looks up a localized string similar to Both n and m must be specified and &gt; 0.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err4_NotNamed">
<summary>
Looks up a localized string similar to Projection not named.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err40_InvalidN">
<summary>
Looks up a localized string similar to N&lt;= 0, n &gt; 1 or not specified.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err41_Lat1OrLat2Missing">
<summary>
Looks up a localized string similar to lat_1 or lat_2 not specified.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err42_Lat1EqualsLat2">
<summary>
Looks up a localized string similar to |lat_1| =|lat_2| .
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err43_MeanLatError">
<summary>
Looks up a localized string similar to lat_0 is pi/2 from mean lat.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err44_CoordinateUnreadable">
<summary>
Looks up a localized string similar to Failed to parse coordinate system definition.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err45_GeocentricMissingZ">
<summary>
Looks up a localized string similar to Geocentric transformation missing z or ellips.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err46_UknownPMID">
<summary>
Looks up a localized string similar to Uknown prime meridian conversion ID.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err5_UknownProjection">
<summary>
Looks up a localized string similar to UnknownProjectionId.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err6_EffectiveEccentricity1">
<summary>
Looks up a localized string similar to Effective eccentricity = 1.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err7_UknownUnitID">
<summary>
Looks up a localized string similar to Unkown unit conversion ID.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err8_Invalidboolean">
<summary>
Looks up a localized string similar to Invalid boolean parameter argument.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.Err9_UknownEllipse">
<summary>
Looks up a localized string similar to The elliptical parameter ellps= was unkown.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.IndexMismatch">
<summary>
Looks up a localized string similar to There was an index mismatch problem with the specified file..
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.InverseShiftFailed">
<summary>
Looks up a localized string similar to Inverse grid shift iteration faield, presumably at grid edge. Using first approximation..
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionMessages.InvShiftConvergeFailed">
<summary>
Looks up a localized string similar to Inverse grid shift iterator failed to converge..
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.UtmNad1927">
<summary>
UtmNad1927
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.UtmNad1927.#ctor">
<summary>
Creates a new instance of UtmNad1927
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.TransverseMercatorSystems">
<summary>
TransverseMercator
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.TransverseMercatorSystems.#ctor">
<summary>
Creates a new instance of TransverseMercator
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGridsNewZealand">
<summary>
NationalGridsNewZealand
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGridsNewZealand.#ctor">
<summary>
Creates a new instance of NationalGridsNewZealand
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicSystems">
<summary>
GeographicSystems
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicSystems.#ctor">
<summary>
Creates a new instance of GeographicSystems
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicSystems.GetCategory(System.String)">
<summary>
Given the string name, this will return the specified coordinate category
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="P:DotSpatial.Projections.GeographicSystems.Names">
<summary>
Gets an array of all the names of the coordinate system categories
in this collection of systems.
</summary>
</member>
<member name="T:DotSpatial.Projections.KnownTransform">
<summary>
KnownTransforms
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Aitoff">
<summary>
Aitoff
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Albers_Equal_Area">
<summary>
Albers Equal Area
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Azimuthal_Equidistant">
<summary>
Azimuthal Equidistant
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Bipolar_Oblique_Conformal_Conic">
<summary>
Bipolar Oblique Conformal Conic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Bonne">
<summary>
Bonne
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Cassini">
<summary>
Cassini
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Craster_Parabolic">
<summary>
Craster Parabolic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Cylindrical_Equal_Area">
<summary>
Cylindrical Equal Area
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Eckert_I">
<summary>
Eckert 1
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Eckert_II">
<summary>
Eckert 2
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Eckert_III">
<summary>
Eckert 3
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Eckert_IV">
<summary>
Eckert 4
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Eckert_V">
<summary>
Eckert 5
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Eckert_VI">
<summary>
Eckert 6
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Elliptical_Transform">
<summary>
Elliptical Transform
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Equidistant_Conic">
<summary>
Equidistant Conic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Equidistant_Cylindrical">
<summary>
Equidistant_Cylindrical
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Foucaut">
<summary>
Foucaut
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Gall_Stereographic">
<summary>
Gall Stereographic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.General_Sinusoidal">
<summary>
General Sinusoidal
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Geostationary_Satellite">
<summary>
Geostationary Satellite
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Gnomonic">
<summary>
Gnomonic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Goode_Homolosine">
<summary>
Goode Homolosine
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Hammer_Aitoff">
<summary>
Hammer Aitoff
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Kavraisky_V">
<summary>
Kavraisky 5
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Kavraisky_VII">
<summary>
Kavraisky 7
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Krovak">
<summary>
Krovak
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Lambert_Azimuthal_Equal_Area">
<summary>
Lambert Azimuthal Equal Area
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Lambert_Conformal_Conic">
<summary>
Lambert Conformal Conic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Lambert_Equal_Area_Conic">
<summary>
Lambert Equal Area Conic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.LongLat">
<summary>
Latitude / Longitude
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Loximuthal">
<summary>
Loximuthal
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.McBryde_Thomas_Flat_Polar_Sine">
<summary>
McBryde Thomas Flat Polar Sine
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Mercator">
<summary>
Mercator
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Miller_Cylindrical">
<summary>
Miller Cylindrical
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Mollweide">
<summary>
Mollweide
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.New_Zealand_Map_Grid">
<summary>
New Zealand Map Grid
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Oblique_Cylindrical_Equal_Area">
<summary>
Oblique Cylindrical Equal Area
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Oblique_Mercator">
<summary>
Oblique Mercator
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Oblique_Stereographic_Alternative">
<summary>
Oblique Stereographic Alternative
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Orthographic">
<summary>
Orthographic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Polyconic">
<summary>
Polyconic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Putins_P1">
<summary>
PutinsP1
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Quartic_Authalic">
<summary>
Quartic Authalic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Robinson">
<summary>
Robinson
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Sinusoidal">
<summary>
Sinusoidal
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Stereographic">
<summary>
Stereographic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Swiss_Oblique_Mercator">
<summary>
Swiss Oblique Mercator
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Transverse_Mercator">
<summary>
Transverse Mercator
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Two_Point_Equidistant">
<summary>
Two Point Equidistant
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Universal_Polar_Stereographic">
<summary>
Universal Polar Stereographic
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Universal_Transverse_Mercator">
<summary>
Universal Transverse Mercator
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Vander_Grinten_I">
<summary>
Vander Grinten 1
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Wagner_IV">
<summary>
Wagner 4
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Wagner_V">
<summary>
Wagner 5
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Wagner6">
<summary>
Wagner 6
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Winkel_I">
<summary>
Winkel 1
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Winkel_II">
<summary>
Winkel 2
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownTransform.Winkel_Tripel">
<summary>
Winkel Tripel
</summary>
</member>
<member name="T:DotSpatial.Projections.HotineObliqueMercatorAzimuthCenter">
<summary>
HotineObliqueMercatorAzimuthalCenter - Used to properly direct the Swiss Oblique Mercator
when it appears as Hotine Oblique Mercator Azimuthal Center. At current, the Azimuth
parameter is ignored as I don't know how to send it into Proj4.
</summary>
</member>
<member name="M:DotSpatial.Projections.HotineObliqueMercatorAzimuthCenter.#ctor">
<summary>
Creates a new instance of HotineObliqueMercatorAzimuthalCenter
</summary>
</member>
<member name="T:DotSpatial.Projections.HammerAitoff">
<summary>
HammerAitoff
</summary>
</member>
<member name="M:DotSpatial.Projections.HammerAitoff.#ctor">
<summary>
Creates a new instance of HammerAitoff
</summary>
</member>
<member name="M:DotSpatial.Projections.HammerAitoff.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.HammerAitoff.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.GaussKrugerBeijing1954">
<summary>
GaussKrugerBeijing1954
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.GaussKrugerBeijing1954.#ctor">
<summary>
Creates a new instance of GaussKrugerBeijing1954
</summary>
</member>
<member name="T:DotSpatial.Projections.NadTables">
<summary>
NadTables
</summary>
</member>
<member name="M:DotSpatial.Projections.NadTables.#ctor">
<summary>
Creates a new instance of NadTables
</summary>
</member>
<member name="P:DotSpatial.Projections.NadTables.Tables">
<summary>
Gets an array of the lla tables that have been added as a resource
</summary>
</member>
<member name="T:DotSpatial.Projections.MeridionalDistance">
<summary>
MeridinalDistance
</summary>
</member>
<member name="M:DotSpatial.Projections.MeridionalDistance.GetEn(System.Double)">
<summary>
Formerly pj_enfn from Proj4
</summary>
<param name="es"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.MeridionalDistance.MeridionalLength(System.Double,System.Double,System.Double,System.Double[])">
<summary>
Formerly pj_mlfn
Given geodetic angular displacement phi, this calculates the equivalent meridional distance
</summary>
<param name="phi">The geodetic angular displacement</param>
<param name="sphi"></param>
<param name="cphi"></param>
<param name="en"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.MeridionalDistance.AngularDistance(System.Double,System.Double,System.Double[])">
<summary>
Formerly pj_inv_mlfn
Given the linear distance, this calculates the equivalent geodetic angular displacement
</summary>
<param name="arg"></param>
<param name="es"></param>
<param name="en"></param>
<returns></returns>
</member>
<member name="T:DotSpatial.Projections.GridShift">
<summary>
GridShift
</summary>
</member>
<member name="M:DotSpatial.Projections.GridShift.Apply(System.String[],System.Boolean,System.Double[],System.Int32,System.Int64)">
<summary>
Applies either a forward or backward gridshift based on the specified name
</summary>
<param name="names"></param>
<param name="inverse"></param>
<param name="xy"></param>
<param name="startIndex"></param>
<param name="numPoints"></param>
</member>
<member name="M:DotSpatial.Projections.GridShift.NadInterpolate(DotSpatial.Projections.PhiLam,DotSpatial.Projections.NadTable)">
<summary>
</summary>
<param name="t"></param>
<param name="ct"></param>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.GridShift.GetValue(System.Int32,System.Int32,DotSpatial.Projections.NadTable)">
<summary>
Checks the edges to make sure that we are not attempting to interpolate
from cells that don't exist.
</summary>
<param name="iPhi">The cell index in the phi direction</param>
<param name="iLam">The cell index in the lambda direction</param>
<param name="table">The Table with the values</param>
<returns>A PhiLam that has the shift coefficeints.</returns>
</member>
<member name="T:DotSpatial.Projections.ProjCloneableEM">
<summary>
CloneableEM
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjCloneableEM.Copy``1(``0)">
<summary>
The type parameter T is optional, so the intended use would be like:
ObjectType copy = myObject.Copy();
</summary>
<typeparam name="T">The type of the object</typeparam>
<param name="original">The original object</param>
<returns>A new object of the same type as the type being copied.</returns>
</member>
<member name="T:DotSpatial.Projections.AuxiliarySphereType">
<summary>
AuxiliarySphereTypes
</summary>
</member>
<member name="F:DotSpatial.Projections.AuxiliarySphereType.NotSpecified">
<summary>
This indicates that this parameter should not appear in the projection string.
</summary>
</member>
<member name="F:DotSpatial.Projections.AuxiliarySphereType.SemimajorAxis">
<summary>
Use semimajor axis or radius of the geographic coordinate system
</summary>
</member>
<member name="F:DotSpatial.Projections.AuxiliarySphereType.SemiminorAxis">
<summary>
Use semiminor axis or radius
</summary>
</member>
<member name="F:DotSpatial.Projections.AuxiliarySphereType.Authalic">
<summary>
Calculate and use authalic radius
</summary>
</member>
<member name="F:DotSpatial.Projections.AuxiliarySphereType.AuthalicWithConvertedLatitudes">
<summary>
Use authalic radius and convert geodetic latitudes to authalic latitudes
</summary>
</member>
<member name="T:DotSpatial.Projections.Winkel2">
<summary>
Winkel2
</summary>
</member>
<member name="M:DotSpatial.Projections.Winkel2.#ctor">
<summary>
Creates a new instance of Winkel2
</summary>
</member>
<member name="M:DotSpatial.Projections.Winkel2.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.Winkel2.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.StereographicNorthPole">
<summary>
StereographicNorthPole
</summary>
</member>
<member name="T:DotSpatial.Projections.Stereographic">
<summary>
Stereographic
</summary>
</member>
<member name="M:DotSpatial.Projections.Stereographic.#ctor">
<summary>
Creates a new instance of Stereographic
</summary>
</member>
<member name="M:DotSpatial.Projections.Stereographic.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Stereographic.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Stereographic.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Stereographic.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Stereographic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.StereographicNorthPole.#ctor">
<summary>
Creates a new instance of StereographicNorthPole
</summary>
</member>
<member name="T:DotSpatial.Projections.Gnomonic">
<summary>
Gnomonic
</summary>
</member>
<member name="M:DotSpatial.Projections.Gnomonic.#ctor">
<summary>
Creates a new instance of Gnomonic
</summary>
</member>
<member name="M:DotSpatial.Projections.Gnomonic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Gnomonic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Gnomonic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Factors">
<summary>
Factors
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Xl">
<summary>
derivatives of x for lambda
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Xp">
<summary>
derivatives of x for phi
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Yl">
<summary>
derivatives of y for lambda
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Yp">
<summary>
derivatives of y for phi
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.H">
<summary>
Meridinal scale
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.K">
<summary>
parallel scale
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Omega">
<summary>
Angular distortion
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Thetap">
<summary>
theta prime
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Conv">
<summary>
Convergence
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.S">
<summary>
Areal scale factor
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.A">
<summary>
max scale error
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.B">
<summary>
min scale error
</summary>
</member>
<member name="F:DotSpatial.Projections.Factors.Code">
<summary>
Info as to analytics
</summary>
</member>
<member name="T:DotSpatial.Projections.MercatorAuxiliarySphere">
<summary>
Mercator
</summary>
</member>
<member name="M:DotSpatial.Projections.MercatorAuxiliarySphere.#ctor">
<summary>
Creates a new instance of Mercator
</summary>
</member>
<member name="M:DotSpatial.Projections.MercatorAuxiliarySphere.EllipticalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.MercatorAuxiliarySphere.SphericalForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.MercatorAuxiliarySphere.EllipticalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.MercatorAuxiliarySphere.SphericalInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.MercatorAuxiliarySphere.Np(System.Double)">
<summary>
n' is a calculation based on the eccentricity
</summary>
<param name="phi"></param>
</member>
<member name="M:DotSpatial.Projections.MercatorAuxiliarySphere.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.UtmOther">
<summary>
UtmOther
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.UtmOther.#ctor">
<summary>
Creates a new instance of UtmOther
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983Feet">
<summary>
StatePlaneNad1983Feet
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1983Feet.#ctor">
<summary>
Creates a new instance of StatePlaneNad1983Feet
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.SpheroidBased">
<summary>
SpheroidBased
</summary>
</member>
<member name="F:DotSpatial.Projections.ProjectedCategories.SpheroidBased.Lambert2">
<summary>
Lambert 2 (Central France)
</summary>
</member>
<member name="F:DotSpatial.Projections.ProjectedCategories.SpheroidBased.Lambert2Wide">
<summary>
Lambert 2 (Étendu)
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.SpheroidBased.#ctor">
<summary>
Creates a new instance of SpheroidBased
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGrids">
<summary>
NationalGrids
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGrids.#ctor">
<summary>
Creates a new instance of NationalGrids
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.Europe">
<summary>
Europe
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.Europe.#ctor">
<summary>
Creates a new instance of Europe
</summary>
</member>
<member name="T:DotSpatial.Projections.GridShiftTableFormat">
<summary>
GridShiftTableFormats
</summary>
</member>
<member name="F:DotSpatial.Projections.GridShiftTableFormat.DAT">
<summary>
The data format used by ntv1
</summary>
</member>
<member name="F:DotSpatial.Projections.GridShiftTableFormat.GSB">
<summary>
The data format used by ntv2 and many others
</summary>
</member>
<member name="F:DotSpatial.Projections.GridShiftTableFormat.LLA">
<summary>
The data format use by several other grid types
</summary>
</member>
<member name="T:DotSpatial.Projections.DatNadTable">
<summary>
Handles the specific case of dat files like the ntv1 file format.
</summary>
</member>
<member name="M:DotSpatial.Projections.DatNadTable.#ctor(System.String)">
<summary>
Creates a new instance of GsbNadTable
</summary>
</member>
<member name="M:DotSpatial.Projections.DatNadTable.ReadHeader">
<inheritdoc></inheritdoc>
</member>
<member name="M:DotSpatial.Projections.DatNadTable.FillData">
<inheritdoc></inheritdoc>
</member>
<member name="T:DotSpatial.Projections.Winkel1">
<summary>
Winkel1
</summary>
</member>
<member name="M:DotSpatial.Projections.Winkel1.#ctor">
<summary>
Creates a new instance of Winkel1
</summary>
</member>
<member name="M:DotSpatial.Projections.Winkel1.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.Winkel1.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Winkel1.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Gauss">
<summary>
Gauss
</summary>
</member>
<member name="M:DotSpatial.Projections.Gauss.#ctor(System.Double,System.Double,System.Double@,System.Double@)">
<summary>
Creates a new instance of Gauss
</summary>
</member>
<member name="M:DotSpatial.Projections.Gauss.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Gauss.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Eckert6">
<summary>
Eckert6
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert6.#ctor">
<summary>
Creates a new instance of Eckert6
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert6.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.CrasterParabolic">
<summary>
CrasterParabolic
</summary>
</member>
<member name="M:DotSpatial.Projections.CrasterParabolic.#ctor">
<summary>
Creates a new instance of CrasterParabolic
</summary>
</member>
<member name="M:DotSpatial.Projections.CrasterParabolic.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.CrasterParabolic.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.ProjectionNames">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionNames.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionNames.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:DotSpatial.Projections.ProjectionNames.Michigan">
<summary>
Looks up a localized string similar to Michigan GeoRef (2008).
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.Polar">
<summary>
Polar
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.Polar.#ctor">
<summary>
Creates a new instance of Polar
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGridsCanada">
<summary>
NationalGridsCanada
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGridsCanada.#ctor">
<summary>
Creates a new instance of NationalGridsCanada
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.Asia">
<summary>
Asia
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.Asia.#ctor">
<summary>
Creates a new instance of Asia
</summary>
</member>
<member name="T:DotSpatial.Projections.Proj4Ellipsoid">
<summary>
Proj4Ellipsoids
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Custom">
<summary>
Custom will use the a parameter for the major axis and the
rf parameter for the flattening divisor
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Merit_1983">
<summary>
MERIT 1983
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.SovietGeodeticSystem_1985">
<summary>
Soviet Geodetic System 85
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.GRS_1980">
<summary>
Geodetic Reference System 1980(IUGG, 1980)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.IAU_1976">
<summary>
International Astronomical Union 1976
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Airy_1830">
<summary>
Sir George Biddell Airy 1830 (Britain)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.AppPhysics_1965">
<summary>
App. Physics. 1965
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.NavalWeaponsLab_1965">
<summary>
Naval Weapons Lab., 1965
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.AiryModified">
<summary>
Modified Airy
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Andrae_1876">
<summary>
Andrae 1876 (Den., Iclnd.)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Austrailia_SouthAmerica">
<summary>
Austrailian National and South American 1969
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.GRS_1967">
<summary>
Geodetic Reference System 67 (IUGG 1967)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Bessel_1841">
<summary>
Bessel 1841
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.BesselNamibia">
<summary>
Bessel 1841 (Namibia)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Clarke_1866">
<summary>
Clarke 1866
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.ClarkeModified_1880">
<summary>
Clarke 1880 Modified
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.CPM_1799">
<summary>
Comm. des Poids et Mesures 1799
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Delambre_1810">
<summary>
Delambre 1810 (Belgium)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Engelis_1985">
<summary>
Engelis 1985
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Everest_1830">
<summary>
Everest 1830
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Everest_1948">
<summary>
Everest 1948
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Everest_1956">
<summary>
Everest 1956
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Everest_1969">
<summary>
Everest 1969
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Everest_SS">
<summary>
Everest (Sabah and Sarawak)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Everest_Pakistan">
<summary>
Everest (Pakistan)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Fischer_1960">
<summary>
Fischer (Mercury Datum) 1960
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.FischerModified_1960">
<summary>
Modified Fischer 1960
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Fischer_1968">
<summary>
Fischer 1968
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Helmert_1906">
<summary>
Helmert 1906
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Hough">
<summary>
Hough
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Indonesian_1974">
<summary>
Indonesian 1974
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.International_1909">
<summary>
International 1909
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Krassovsky_1942">
<summary>
Krassovsky 1942
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Kaula_1961">
<summary>
Kaula 1961
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Lerch_1979">
<summary>
Lerch 1979
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Maupertius_1738">
<summary>
Maupertius 1738
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.InternationalNew_1967">
<summary>
New International 1967
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Plessis_1817">
<summary>
Plessis 1817 (France)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.SoutheastAsia">
<summary>
Southeast Asia
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Walbeck">
<summary>
Walbekc (Germany)
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.WGS_1960">
<summary>
World Geodetic System 1960
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.WGS_1966">
<summary>
World Geodetic System 1966
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.WGS_1972">
<summary>
World Geodetic System 1972
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.WGS_1984">
<summary>
World Geodetic System 1984
</summary>
</member>
<member name="F:DotSpatial.Projections.Proj4Ellipsoid.Sphere">
<summary>
Normal Sphere
</summary>
</member>
<member name="T:DotSpatial.Projections.KnownCoordinateSystems">
<summary>
KnownCoordinateSystems
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownCoordinateSystems.Geographic">
<summary>
Geographic systems operate in angular units, but can use different
spheroid definitions or angular offsets.
</summary>
</member>
<member name="F:DotSpatial.Projections.KnownCoordinateSystems.Projected">
<summary>
Projected systems are systems that use linear units like meters or feet
rather than angular units like degrees or radians
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.SpheroidBased">
<summary>
SpheroidBased
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.SpheroidBased.#ctor">
<summary>
Creates a new instance of SpheroidBased
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.NorthAmerica">
<summary>
NorthAmerica
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.NorthAmerica.#ctor">
<summary>
Creates a new instance of NorthAmerica
</summary>
</member>
<member name="T:DotSpatial.Projections.GsbNadTable">
<summary>
This is a special case of a NadTable and has specific reading techniques that need to be handled
</summary>
</member>
<member name="M:DotSpatial.Projections.GsbNadTable.#ctor(System.String,System.Int64)">
<summary>
Creates a new instance of GsbNadTable
</summary>
</member>
<member name="M:DotSpatial.Projections.GsbNadTable.ReadHeader">
<inheritdoc/>
</member>
<member name="M:DotSpatial.Projections.GsbNadTable.Initialize">
<summary>
This handles the creation of the
</summary>
</member>
<member name="M:DotSpatial.Projections.GsbNadTable.FillData">
<inheritdoc/>
</member>
<member name="M:DotSpatial.Projections.GsbNadTable.GetDouble(System.Byte[],System.Int32)">
<summary>
Gets the double value from the specified position in the byte array
Using BigEndian format.
</summary>
<param name="array"></param>
<param name="offset"></param>
<returns></returns>
</member>
<member name="T:DotSpatial.Projections.WinkelTripel">
<summary>
WinkelTripel
</summary>
</member>
<member name="M:DotSpatial.Projections.WinkelTripel.#ctor">
<summary>
Creates a new instance of WinkelTripel
</summary>
</member>
<member name="M:DotSpatial.Projections.WinkelTripel.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.WinkelTripel.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.TwoPointEquidistant">
<summary>
TwoPointEquidistant
</summary>
</member>
<member name="M:DotSpatial.Projections.TwoPointEquidistant.#ctor">
<summary>
Creates a new instance of TwoPointEquidistant
</summary>
</member>
<member name="M:DotSpatial.Projections.TwoPointEquidistant.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="M:DotSpatial.Projections.TwoPointEquidistant.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.TwoPointEquidistant.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Eckert5">
<summary>
Eckert5
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert5.#ctor">
<summary>
Creates a new instance of Eckert5
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert5.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Eckert5.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1927">
<summary>
StatePlaneNad1927
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.StatePlaneNad1927.#ctor">
<summary>
Creates a new instance of StatePlaneNad1927
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NationalGridsNorway">
<summary>
NationalGridsNorway
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NationalGridsNorway.#ctor">
<summary>
Creates a new instance of NationalGridsNorway
</summary>
</member>
<member name="T:DotSpatial.Projections.UniversalPolarStereographic">
<summary>
UniversalPolarStereographic
</summary>
</member>
<member name="M:DotSpatial.Projections.UniversalPolarStereographic.#ctor">
<summary>
Creates a new instance of UniversalPolarStereographic
</summary>
</member>
<member name="M:DotSpatial.Projections.UniversalPolarStereographic.OnInit(DotSpatial.Projections.ProjectionInfo)">
<summary>
Initializes the transform using the parameters from the specified coordinate system information
</summary>
<param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param>
</member>
<member name="T:DotSpatial.Projections.Eckert4">
<summary>
Eckert4
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert4.#ctor">
<summary>
Creates a new instance of Eckert4
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert4.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Eckert4.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.Reproject">
<summary>
Reproject
</summary>
</member>
<member name="M:DotSpatial.Projections.Reproject.ReprojectPoints(System.Double[],System.Double[],DotSpatial.Projections.ProjectionInfo,DotSpatial.Projections.ProjectionInfo,System.Int32,System.Int32)">
<summary>
</summary>
<param name="xy">The xy array should be in interleaved set of xy coordinates like [x1, y1, x2, y2, ... xn, yn]</param>
<param name="z">The z array is the array of all the z values</param>
<param name="source"></param>
<param name="dest"></param>
<param name="startIndex"></param>
<param name="numPoints"></param>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.UtmWgs1984">
<summary>
UtmWgs1984
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.UtmWgs1984.#ctor">
<summary>
Creates a new instance of UtmWgs1984
</summary>
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.NorthAmerica">
<summary>
NorthAmerica
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.NorthAmerica.#ctor">
<summary>
Creates a new instance of NorthAmerica
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicInfo">
<summary>
GeographicInfo
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicInfo.#ctor">
<summary>
Creates a new instance of GeographicInfo
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicInfo.ToEsriString">
<summary>
Generates an esri string from the information in this geographic info class, including the name, datum, meridian, and unit.
</summary>
<returns></returns>
</member>
<member name="M:DotSpatial.Projections.GeographicInfo.ReadEsriString(System.String)">
<summary>
Reads an esri string in order to parse the datum, meridian and unit as well as the name.
</summary>
<param name="esriString">The string to parse</param>
</member>
<member name="M:DotSpatial.Projections.GeographicInfo.ReadProj4Parameters(System.Collections.Generic.Dictionary{System.String,System.String})">
<summary>
Reads in parameters from the proj4 string that control the datum and prime meridian
</summary>
<param name="parameters">The dictionary of all the parameter names and values in string form</param>
</member>
<member name="P:DotSpatial.Projections.GeographicInfo.Datum">
<summary>
Gets or sets the datum
eg: D_WGS_1984
</summary>
</member>
<member name="P:DotSpatial.Projections.GeographicInfo.Meridian">
<summary>
Gets or sets the prime meridian longitude of the 0 mark, relative to Greenwitch
</summary>
</member>
<member name="P:DotSpatial.Projections.GeographicInfo.Name">
<summary>
Gets or sets the geographic coordinate system name
eg: GCS_WGS_1984
</summary>
</member>
<member name="P:DotSpatial.Projections.GeographicInfo.Unit">
<summary>
Gets or sets the units
</summary>
</member>
<member name="T:DotSpatial.Projections.GeographicCategories.Oceans">
<summary>
Oceans
</summary>
</member>
<member name="M:DotSpatial.Projections.GeographicCategories.Oceans.#ctor">
<summary>
Creates a new instance of Oceans
</summary>
</member>
<member name="T:DotSpatial.Projections.Eckert3">
<summary>
Eckert3
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert3.#ctor">
<summary>
Creates a new instance of Eckert3
</summary>
</member>
<member name="M:DotSpatial.Projections.Eckert3.OnForward(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:DotSpatial.Projections.Eckert3.OnInverse(System.Double[],System.Double[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:DotSpatial.Projections.ProjectedCategories.UtmWgs1972">
<summary>
UtmWgs1972
</summary>
</member>
<member name="M:DotSpatial.Projections.ProjectedCategories.UtmWgs1972.#ctor">
<summary>
Creates a new instance of UtmWgs1972
</summary>
</member>
<member name="T:DotSpatial.Projections.DatumType">
<summary>
DatumTypes
</summary>
</member>
<member name="F:DotSpatial.Projections.DatumType.Unknown">
<summary>
The datum type is not with a well defined ellips or grid-shift
</summary>
</member>
<member name="F:DotSpatial.Projections.DatumType.Param3">
<summary>
The datum transform to WGS84 can be defined using 3 double parameters
</summary>
</member>
<member name="F:DotSpatial.Projections.DatumType.Param7">
<summary>
The datum transform to WGS84 can be defined using 7 double parameters
</summary>
</member>
<member name="F:DotSpatial.Projections.DatumType.GridShift">
<summary>
The transform requires a special nad gridshift
</summary>
</member>
<member name="F:DotSpatial.Projections.DatumType.WGS84">
<summary>
The datum is already the WGS84 datum
</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Etc/Microsoft.Maps.MapControl.WPF.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Etc/Microsoft.Maps.MapControl.WPF.xml
0,0 → 1,1509
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>Microsoft.Maps.MapControl.WPF</name>
</assembly>
<members>
<member name="N:Microsoft.Maps.MapControl.WPF">
<summary>The Microsoft.Maps.MapControl.WPF namespace contains the most commonly used classes of the wpf_product_name.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.AerialMode">
<summary>Represents Aerial and Aerial with labels map modes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.AerialMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.AerialMode"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.AerialMode.#ctor(System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.AerialMode"></see> class.</summary>
<param name="labels">A bool indicating whether or not to display map labels.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.AerialMode.Labels">
<summary>Gets or sets whether to show map labels.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.AltitudeReference">
<summary>Represents the starting plane of the altitude measurement.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.AltitudeReference.Ellipsoid">
<summary>The altitude is measured from the ellipsoid.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.AltitudeReference.Ground">
<summary>The altitude is measured from the ground.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.AltitudeReference.SeaLevel">
<summary>The altitude is measured from sea level.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.AltitudeReference.Surface">
<summary>The altitude is measured from the surface.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.AnimationLevel">
<summary>Determines when map navigation is animated.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.AnimationLevel.Full">
<summary>Map navigation is always animated.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.AnimationLevel.None">
<summary>The map navigates to a new view by snapping to it instead of using animation.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.AnimationLevel.UserInput">
<summary>Map navigation is only animated in response to user input.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider">
<summary>Provides credentials in the form of an application ID (a maps_ticket).</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider"></see> class using the specified application ID.</summary>
<param name="applicationId">The application ID, or Bing Maps Key, to use.</param>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider.PropertyChanged">
<summary>Occurs when a property of this class changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider.GetCredentials(System.Action{Microsoft.Maps.MapControl.WPF.Credentials})">
<summary>Retrieves the credentials for the map control. This method can be used to pass your Bing Maps Key to other Bing Maps APIs, such as the Bing Maps REST Serviceshttp://msdn.microsoft.com/en-us/library/ff701713.aspx.</summary>
<param name="callback">The function to call when credentials are retrieved.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider.OnPropertyChanged(System.String)">
<summary>Enables the ability to provide custom handling when a property of this class changes.</summary>
<param name="propertyName">The name of the property that changed.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider.ApplicationId">
<summary>Gets or sets the application ID. The application ID is your Bing Maps Key. Information about getting a Bing Maps Key is found in Getting a Bing Maps Keyhttp://msdn.microsoft.com/en-us/library/ff428642.aspx.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Credentials">
<summary>Contains information used to authenticate requests.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Credentials.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Credentials"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Credentials.Equals(System.Object)">
<summary>Determines whether the credentials are equal to the specified object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to compare to.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Credentials.GetHashCode">
<summary>Retrieves the hash code for the credentials.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Credentials.op_Equality(Microsoft.Maps.MapControl.WPF.Credentials,Microsoft.Maps.MapControl.WPF.Credentials)">
<summary>Determines whether two credentials are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="credentials2">The second credentials object to compare.</param>
<param name="credentials1">The first credentials object to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Credentials.op_Inequality(Microsoft.Maps.MapControl.WPF.Credentials,Microsoft.Maps.MapControl.WPF.Credentials)">
<summary>Determines whether two credentials are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="credentials2">The second credentials object to compare.</param>
<param name="credentials1">The first credentials object to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Credentials.ToString">
<summary>Converts the credentials to a string.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Credentials.ApplicationId">
<summary>Gets or sets the application ID, or Bing Maps Key, for these credentials.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Credentials.Token">
<summary>The wpf_product_name does not support the use of tokens for authentication.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.LoadingErrorEventArgs">
<summary>Provides error data when the map does not load.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LoadingErrorEventArgs.#ctor(System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LoadingErrorEventArgs"></see> class.</summary>
<param name="loadingException">The exception that that causes the map to not load correctly.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LoadingErrorEventArgs.LoadingException">
<summary>Gets the exception that caused the map loading error.</summary>
<returns>Returns <see cref="T:System.Exception"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Location">
<summary>Contains the altitude and coordinate values of a location on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see> structure.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.#ctor(Microsoft.Maps.MapControl.WPF.Location)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see> structure using the given location.</summary>
<param name="location">The location to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.#ctor(System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF Location"></see> structure using the given latitude and longitude values.</summary>
<param name="latitude">The latitude of the location.</param>
<param name="longitude">The longitude of the location.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.#ctor(System.Double,System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF Location"></see> structure using the given latitude, longitude and altitude values.</summary>
<param name="latitude">The latitude of the location.</param>
<param name="altitude">The altitude of the location.</param>
<param name="longitude">The longitude of the location.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.#ctor(System.Double,System.Double,System.Double,Microsoft.Maps.MapControl.WPF.AltitudeReference)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Location"></see> structure using the given latitude, longitude, altitude and altitude reference values.</summary>
<param name="latitude">The latitude of the location.</param>
<param name="altitudeReference">The reference plane used to measure the altitude.</param>
<param name="altitude">The altitude of the location.</param>
<param name="longitude">The longitude of the location.</param>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Location.MaxLatitude">
<summary>Specifies the maximum latitude in degrees.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Location.MaxLongitude">
<summary>Specifies the maximum longitude in degrees.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Location.MinLatitude">
<summary>Specifies the minimum latitude in degrees.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Location.MinLongitude">
<summary>Specifies the minimum longitude in degrees.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.Equals(System.Object)">
<summary>Determines whether this location is the same as the given object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.GetHashCode">
<summary>Retrieves the hash code for this location.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.NormalizeLongitude(System.Double)">
<summary>Converts an invalid longitude value to be within the valid range, which is -180 to 180.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
<param name="longitude">The longitude value to normalize.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.op_Equality(Microsoft.Maps.MapControl.WPF.Location,Microsoft.Maps.MapControl.WPF.Location)">
<summary>Determines whether two instances of <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see> are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="location2">The second location to compare.</param>
<param name="location1">The first location to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.op_Inequality(Microsoft.Maps.MapControl.WPF.Location,Microsoft.Maps.MapControl.WPF.Location)">
<summary>Determines whether two instances of <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see> are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="location2">The second location to compare.</param>
<param name="location1">The first location to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.ToString">
<summary>Converts the location to a formatted string containing the latitude, longitude, and altitude values.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Location.ToString(System.IFormatProvider)">
<summary>Converts the location to a formatted string containing the latitude, longitude, and altitude values using the specified format provider.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
<param name="provider">An <see cref="T:System.IFormatProvider"></see> implementation that supplies culture-specific formatting information.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Location.Altitude">
<summary>Gets or sets altitude for a location.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Location.AltitudeReference">
<summary>Gets or sets the reference plane used to measure the altitude.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.AltitudeReference"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Location.Latitude">
<summary>Gets or sets the latitude of the location.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Location.Longitude">
<summary>Gets or sets the longitude of the location.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.LocationCollection">
<summary>Contains a collection of <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see> items.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationCollection.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LocationCollection"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationCollection.Add(Microsoft.Maps.MapControl.WPF.Location)">
<summary>Adds a <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see> to the location collection.</summary>
<param name="location">The location to add.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.LocationRect">
<summary>Represents a rectangle on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.#ctor(Microsoft.Maps.MapControl.WPF.Location,Microsoft.Maps.MapControl.WPF.Location)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> class using the specified locations as northwest and southeast corners of the rectangle.</summary>
<param name="corner1">The location of the northwest corner of the rectangle.</param>
<param name="corner2">The location of the southeast corner of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.#ctor(Microsoft.Maps.MapControl.WPF.Location,System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> class, centered on the specified location.</summary>
<param name="width">The width of the rectangle.</param>
<param name="height">The height of the rectangle.</param>
<param name="center">The location of the center of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.#ctor(Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> class.</summary>
<param name="rect">The location rectangle to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.#ctor(System.Collections.Generic.IList{Microsoft.Maps.MapControl.WPF.Location})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> class using the specified collection of locations.</summary>
<param name="locations">A location collection containing the corners of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.#ctor(System.Double,System.Double,System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> class using the specified borders.</summary>
<param name="east">The latitude of the eastern border of the rectangle.</param>
<param name="west">The latitude of the western border of the rectangle.</param>
<param name="south">The latitude of the southern border of the rectangle.</param>
<param name="north">The latitude of the northern border of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.Equals(System.Object)">
<summary>Determines whether this location rectangle is equal to the specified object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.GetHashCode">
<summary>Retrieves the hash code for this location rectangle.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.Intersection(Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Retrieves the intersection rectangle of this location rectangle and the specified location rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see>.</returns>
<param name="rect">The location rectangle to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.Intersects(Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Determines whether this location rectangle intersects with the specified location rectangle.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="rect">The location rectangle to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.op_Equality(Microsoft.Maps.MapControl.WPF.LocationRect,Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Determines whether two location rectangle instances are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="rect2">The second location rectangle to compare.</param>
<param name="rect1">The first location rectangle to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.op_Inequality(Microsoft.Maps.MapControl.WPF.LocationRect,Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Determines whether two location rectangle instances are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="rect2">The second location rectangle to compare.</param>
<param name="rect1">The first location rectangle to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.ToString">
<summary>Converts the location rectangle to a formatted string containing the latitude, longitude, and altitude values of its corners.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.LocationRect.ToString(System.IFormatProvider)">
<summary>Converts the location rectangle to a formatted string containing the latitude, longitude, and altitude values of its corners using a given format provider.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
<param name="provider">An <see cref="T:System.IFormatProvider"></see> implementation that supplies culture-specific formatting information.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.Center">
<summary>Gets the location of the center of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.East">
<summary>Gets or sets the longitude of the eastern border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.Height">
<summary>Gets the height of the location rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.North">
<summary>Gets or sets the latitude of the northern border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.Northeast">
<summary>Gets or sets the location of the northeast corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.Northwest">
<summary>Gets the location or the northwest corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.South">
<summary>Gets or sets the latitude of the southern border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.Southeast">
<summary>Gets the location of the southeast corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.Southwest">
<summary>Gets or sets the location of the southwest corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.West">
<summary>Gets or sets the longitude of the western border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.LocationRect.Width">
<summary>Gets or sets the width of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Map">
<summary>Represents the default map class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WFF.Map"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.KeyDown">
<summary>Occurs when a key is pressed while focus is on the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.LoadingError">
<summary>Occurs when there is an error loading the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.MapCore.ModeChanged">
<summary>Occurs when the map mode changes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.MouseDoubleClick">
<summary>Occurs when the mouse is used to double click the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.MouseLeftButtonDown">
<summary>Occurs when the left mouse button is pressed down over the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.MouseLeftButtonUp">
<summary>Occurs when the left mouse button is released.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.MouseMove">
<summary>Occurs when the mouse moves over the map.(</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.MouseWheel">
<summary>Occurs when the mouse wheel is used.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.MapCore.TargetViewChanged">
<summary>Occurs when the view towards which the map is animating changes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.TouchDown">
<summary>Occurs when the screen is touched over the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.TouchMove">
<summary>Occurs when the screen is touched and dragged to move the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Map.TouchUp">
<summary>Occurs when the touch of the map on the screen finishes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.MapCore.ViewChangeEnd">
<summary>Occurs when the view is done changing.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.MapCore.ViewChangeOnFrame">
<summary>Occurs for every frame of a view change.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.MapCore.ViewChangeStart">
<summary>Occurs when the view starts changing.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.Finalize">
<summary>Deconstructs the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnApplyTemplate">
<summary>Builds the visual tree for the <see cref="T:Microsoft.Maps.MapControl.WPF.Map"></see> when a new template is applied.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnCredentialsProviderChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the credentials provider changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnKeyDown(System.Windows.Input.KeyEventArgs)">
<summary>Enables the ability to provide custom handling when a keyboard key is pressed.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnMouseDoubleClick(System.Windows.Input.MouseButtonEventArgs)">
<summary>Enables the ability to provide custom handling when the mouse is used to double-click the map.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
<summary>Enables the ability to provide custom handling when the left mouse button is pressed.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
<summary>Enables the ability to provide custom handling when the left mouse button is released.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnMouseMove(System.Windows.Input.MouseEventArgs)">
<summary>Enables the ability to provide custom handling when the mouse cursor is over the map.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnMouseWheel(System.Windows.Input.MouseWheelEventArgs)">
<summary>Enables the ability to provide custom handling when the mouse wheel moves at the same time the mouse cursor is over the map.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnTouchDown(System.Windows.Input.TouchEventArgs)">
<summary>Enables the ability to provide custom handling when a finger touches the screen while it is over the map. </summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnTouchMove(System.Windows.Input.TouchEventArgs)">
<summary>Enables the ability to provide custom handling when a finger moves on the screen while it is over the map.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Map.OnTouchUp(System.Windows.Input.TouchEventArgs)">
<summary>Enables the ability to provide custom handling when a finger is raised off the screen while it is over the map.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Map.MapForegroundStyle">
<summary>Gets or sets the map foreground style.</summary>
<returns>Returns <see cref="T:System.Windows.Style"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Map.SupportedManipulations">
<summary>Gets or sets the current set of supported two-dimensional (2-D) manipulationshttp://msdn.microsoft.com/en-us/library/system.windows.input.manipulations.manipulations2d.aspx.</summary>
<returns>Returns System.Windows.Input.Manipulations.Manipulations2Dhttp://msdn.microsoft.com/en-us/library/system.windows.input.manipulations.manipulations2d.aspx.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Map.UriScheme">
<summary>Gets the protocol (http or https) that is used to request the map.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Map.UseHttps">
<summary>Gets or sets whether to use HTTPS protocol when requesting a map.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Map.UseInertia">
<summary>Gets or sets whether to use the inertial animation effect during map navigation.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapCore">
<summary>Represents the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.MapCore"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapCore.CenterProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.MapCore.Center"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapCore.CredentialsProviderProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.MapCore.CredentialsProvider"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapCore.CultureProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.MapCore.Culture"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapCore.HeadingProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.MapCore.Heading"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapCore.ModeProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.MapCore.Mode"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapCore.ScaleVisibilityProperty">
<summary>Identifies the <see cref="T:Microsoft.Maps.MapControl.WPF.Overlays.Scale"></see>dependency</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapCore.ZoomLevelProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.MapCore.ZoomLevel"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.Dispose">
<summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Additionally, halts any pending downloads of map imagery and allows existing map imagery resources to be freed. This method requires that the control is no longer in the visual tree and therefore has no parent. Once disposed, the control may not be added to the visual tree again.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.Dispose(System.Boolean)">
<summary>Releases unmanaged and managed resources</summary>
<param name="disposing">Set to true to release both managed and unmanaged resources. Set to false to release only unmanaged resources.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.LocationToViewportPoint(Microsoft.Maps.MapControl.WPF.Location)">
<summary>Converts a location to a viewport point.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.OnApplyTemplate">
<summary>When overridden in a derived class, is invoked whenever application code or internal processes call ApplyTemplatehttp://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.applytemplate.aspx</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.OnCredentialsProviderChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Occurs when the user presses and holds down a key or keys on the keyboard.</summary>
<param name="eventArgs">The event data to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.OnScaleVisibilityChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Occurs when the ScaleVisibility property is changed.</summary>
<param name="eventArgs">The event data to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.OnVisualParentChanged(System.Windows.DependencyObject)">
<summary>Invoked when the parent of this element in the visual tree is changed. Overrides System.Windows.UIElement.OnVisualParentChangedhttp://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.onvisualparentchanged.aspx.</summary>
<param name="oldParent">The old parent element. May be nullNothingnullptra null reference (Nothing in Visual Basic) to indicate that the element did not have a visual parent previously. (Type: System.Windows.DependencyObjecthttp://msdn.microsoft.com/en-us/library/system.windows.dependencyobject.aspx)</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.SetView(Microsoft.Maps.MapControl.WPF.Location,System.Double)">
<summary>Sets the map view to the specified center location and zoom level.</summary>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The location of the center of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.SetView(Microsoft.Maps.MapControl.WPF.Location,System.Double,System.Double)">
<summary>Sets the map view to the specified center location, zoom level, and directional heading.</summary>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The location of the center of the map view.</param>
<param name="heading">The directional heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.SetView(System.Double,System.Double)">
<summary>Sets the map view to the specified zoom level and heading.</summary>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="heading">The heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.SetView(Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Sets the map view using the specified location rectangle.</summary>
<param name="boundingRectangle">The rectangle that defines the boundaries of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.SetView(System.Collections.Generic.IEnumerable{Microsoft.Maps.MapControl.WPF.Location},System.Windows.Thickness,System.Double)">
<summary>Sets the map view to the specified center location, margin, and heading.</summary>
<param name="margin">The margin in viewport pixels. This value must be non-negative.</param>
<param name="locations">The location of the center of the map view.</param>
<param name="heading">The heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.SetView(System.Collections.Generic.IEnumerable{Microsoft.Maps.MapControl.WPF.Location},System.Windows.Thickness,System.Double,System.Double)">
<summary>Sets the map view to the specified center location, margin, heading, and zoom level.</summary>
<param name="maxZoomLevel">The maximum zoom level of the map view.</param>
<param name="margin">The margin in viewport pixels. This value must be non-negative.</param>
<param name="locations">The location of the center of the map view.</param>
<param name="heading">The heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.TryLocationToViewportPoint(Microsoft.Maps.MapControl.WPF.Location,System.Windows.Point@)">
<summary>Determines the location on the map associated with a point on the viewport.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="viewportPoint">The viewport point.</param>
<param name="location">The location on the map.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.TryViewportPointToLocation(System.Windows.Point,Microsoft.Maps.MapControl.WPF.Location@)">
<summary>Attempts to convert a viewport point to a location on a map.</summary>
<returns>Returns <see cref="T:System.Boolean"></see> if the point was successfully converted to a point on the map.</returns>
<param name="viewportPoint">A viewport coordinate.</param>
<param name="location">Location on the map the corresponds to the viewport point.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapCore.ViewportPointToLocation(System.Windows.Point)">
<summary>Determines the location associated with the viewport point.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
<param name="viewportPoint">The viewport point.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.AnimationLevel">
<summary>Gets or sets the animation level of the map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.AnimationLevel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.BoundingRectangle">
<summary>Gets the rectangle that defines the boundaries of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.Center">
<summary>Gets the center location of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.Children">
<summary>Gets the child elements of the map.</summary>
<returns>Returns <see cref="T:System.Windows.Controls.UIElementCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.CredentialsProvider">
<summary>Gets or sets the credentials (maps_ticket).</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Core.CredentialsProvider"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.Culture">
<summary>Gets or sets the culture used by the map.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.Heading">
<summary>Gets or sets the directional heading of the map.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.Mode">
<summary>Gets or sets the map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.MapMode"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.ModeCrossFadeDuration">
<summary>Gets or sets the duration in milliseconds that it takes to cross-fade to a new map mode when a new map mode is set. The default value is 500 milliseconds.</summary>
<returns>Returns <see cref="T:System.Windows.Duration"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.ScaleVisibility">
<summary>Gets or sets the visibility of all <see cref="T:Microsoft.Maps.MapControl.WPF.Overlays.Scale"></see> objects on the map. </summary>
<returns>Returns <see cref="T:System.Windows.Visibility"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.TargetCenter">
<summary>Gets the pitch of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.TargetHeading">
<summary>Gets the heading of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.TargetZoomLevel">
<summary>Gets the zoom level of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.ViewportSize">
<summary>Gets the size of the viewport.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapCore.ZoomLevel">
<summary>Gets or sets the zoom level.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapEventArgs">
<summary>Provides data for <see cref="T:Microsoft.Maps.MapControl.WPF.Map"></see> events.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapEventArgs.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MapEventArgs"></see> class.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapEventArgs.Handled">
<summary>Gets or sets whether the map event is handled.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapItemsControl">
<summary>Represents the class that uses a <see cref="T:Microsoft.Maps.MapControl.WPF.MapLayer"></see> as an ItemsPanel. This enables data binding using an ItemsSource and an ItemTemplate. This class inherits from the ItemsControl class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapItemsControl.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MapItemsControl"></see> class.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapLayer">
<summary>Represents a map layer, which positions its child <see cref="T:System.Windows.UIElement"></see> objects using geographic coordinates.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MapLayer"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapLayer.PositionOffsetProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.PositionOffset"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapLayer.PositionOriginProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.PositionOrigin"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapLayer.PositionProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.Position"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.MapLayer.PositionRectangleProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.PositionRectangle"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.WPF.Location)">
<summary>Adds a UIElement to the map layer at the specified location.</summary>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.WPF.Location,System.Windows.Point)">
<summary>Adds a UIElement to the map layer at the specified location using the given pixel offset.</summary>
<param name="offset">The pixel offset to use.</param>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.WPF.Location,Microsoft.Maps.MapControl.WPF.PositionOrigin)">
<summary>Adds a UIElement to the map layer at the specified location using the given position origin.</summary>
<param name="origin">The position origin to use.</param>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Adds a UIElement to the map layer at the specified location rectangle.</summary>
<param name="locationRect">The location rectangle at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the child elements so that they fit into the map layer.</summary>
<returns>Returns the actual <see cref="T:System.Windows.Size"></see> used..</returns>
<param name="finalSize">The final size of the map layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.GetPosition(System.Windows.DependencyObject)">
<summary>Retrieves the map layer’s position.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.GetPositionOffset(System.Windows.DependencyObject)">
<summary>Retrieves the offset of a layer from the position calculated by the map projection, in pixels.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="dependencyObject">The dependency fieldt</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.GetPositionOrigin(System.Windows.DependencyObject)">
<summary>Retrieves the map layer’s position origin.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.PositionOrigin"></see>.</returns>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.GetPositionRectangle(System.Windows.DependencyObject)">
<summary>Retrieves a <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> that <see cref="T:System.Windows.UIElement"></see> objects of the layer are fit into (also known as “arranging”).</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see>.</returns>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.MeasureOverride(System.Windows.Size)">
<summary>Measures the elements that need to fit into the map layer.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
<param name="availableSize">The available size of the map layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.OnPositionChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.Position"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.OnPositionOffsetChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.PositionOffset"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.OnPositionOriginChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.PositionOrigin"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.OnPositionRectangleChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.WPF.PositionRectangle"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.SetPosition(System.Windows.DependencyObject,Microsoft.Maps.MapControl.WPF.Location)">
<summary>Sets the position of the map layer.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="location">The location at which to position the map layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.SetPositionOffset(System.Windows.DependencyObject,System.Windows.Point)">
<summary>Sets the position offset of the map layer.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="point">The pixel offset to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.SetPositionOrigin(System.Windows.DependencyObject,Microsoft.Maps.MapControl.WPF.PositionOrigin)">
<summary>Sets the position of the origin of the map layer.</summary>
<param name="origin">The position origin of the map layer.</param>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapLayer.SetPositionRectangle(System.Windows.DependencyObject,Microsoft.Maps.MapControl.WPF.LocationRect)">
<summary>Sets the position rectangle of the map layer.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="rect">The boundaries of the map layer.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapLayer.Position">
<summary>The child element should not have its Width and Height properties defined, instead its HorizontalAlign and VerticalAlign should both be set to Stretch.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapLayer.PositionOffset">
<summary>Gets the offset of a layer from the position calculated by the map projection, in pixels.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapLayer.PositionOrigin">
<summary>Gets the position origin of the map layer.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.PositionOrigin"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapLayer.PositionRectangle">
<summary>Gets a <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see> that <see cref="T:System.Windows.UIElement"></see> objects are fit into (also known as “arranging”).</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapMode">
<summary>Defines the base class for a map mode. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MapMode"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapMode.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the elements so they fit the given size.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
<param name="arrangeSize">The size in which to fit the elements.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapMode.ModeBackground">
<summary>Gets whether the map mode typically has a light or a dark background. You can use this value to choose the overlay color. Most of the map modes have dark backgrounds.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Core.ModeBackground"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapPolygon">
<summary>Represents a polygon on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapPolygon.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MapPolygon"></see> class.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapPolygon.FillRule">
<summary>Gets or sets the fill rule for the polygon.</summary>
<returns>Returns <see cref="T:System.Windows.Media.FillRule"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapPolygon.ProjectedPoints">
<summary>Gets or sets the vertices of the polygon.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PointCollection"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapPolyline">
<summary>Represents a polyline on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapPolyline.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MapPolygon"></see> class.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapPolyline.FillRule">
<summary>Gets or set the fill rule for the polygon.</summary>
<returns>Returns <see cref="T:System.Windows.Media.FillRule"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapPolyline.ProjectedPoints">
<summary>Gets or sets vertices of the polygon.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PointCollection"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapShapeBase">
<summary>Represents the base class for a shape on the map. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapShapeBase.#ctor(System.Windows.Shapes.Shape)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.WPF.MapShapeBase"></see> class.</summary>
<param name="shape">The shape to initialize on the map.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapShapeBase.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the shape to fit on the map.</summary>
<returns>Returns the actual <see cref="T:System.Windows.Size"></see>.</returns>
<param name="finalSize">The final size of the shape to fit.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapShapeBase.MeasureOverride(System.Windows.Size)">
<summary>Measures the shape to fit the available size.</summary>
<returns>Returns the actual<see cref="T:System.Windows.Size"></see> needed by the shape and its children..</returns>
<param name="availableSize">The available size of the shape.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.EncapsulatedShape">
<summary>Gets the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Shapes.Shape"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.Fill">
<summary>Gets or sets the fill of the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.Locations">
<summary>Gets or sets the locations that define the vertices of the shape.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.LocationCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.Opacity">
<summary>Gets or sets the opacity of the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.OpacityMask">
<summary>Gets or sets the opacity mask for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.ProjectedPoints">
<summary>When overridden in a derived class, gets or sets the projected points of the shape. Use this property to arrange the points of derived classes.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PointCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.Stroke">
<summary>Gets or sets the stroke color of the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeDashArray">
<summary>Gets or sets the StrokeDashArray value of the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.DoubleCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeDashCap">
<summary>Gets or sets the StrokeDashCap value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineCap"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeDashOffset">
<summary>Gets or sets the StrokeDashOffset value for the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeEndLineCap">
<summary>Gets or sets the StrokeEndLineCap value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineCap"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeLineJoin">
<summary>Gets or sets the StrokeLineJoin value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineJoin"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeMiterLimit">
<summary>Gets or sets the StrokeMiterLimit value for the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeStartLineCap">
<summary>Gets or sets the StrokeStartLineCap value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineCap"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapShapeBase.StrokeThickness">
<summary>Gets or sets the StrokeThickness value for the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MapTileLayer">
<summary>Represents a layer of image tiles on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapTileLayer.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MapTileLayer"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MapTileLayer.ArrangeOverride(System.Windows.Size)">
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapTileLayer.TileHeight">
<summary>Gets or sets the height, in pixels, of a tile in the map tile layer.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapTileLayer.TileSource">
<summary>Gets or sets the tile source associated with the map tile layer.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.TileSource"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MapTileLayer.TileWidth">
<summary>Gets or sets the width, in pixels, of a tile in the map tile layer.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.MercatorMode">
<summary>Represents the Mercator map mode.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.MercatorMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.MercatorMode"></see> class.When you instantiate your Map to use the MercatorMode, you can add tile overlays, shapes, images or videos to one or more MapLayer objects.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.MercatorMode.ModeBackground">
<summary>Specifies whether the background is light or dark.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Core.ModeBackground"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.PositionOrigin">
<summary>Represents the anchor point of UIElement, such as an image, at a <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see> on a <see cref="T:Microsoft.Maps.MapControl.WPF.MapLayer"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.PositionOrigin.#ctor(System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see> class.</summary>
<param name="horizontalOrigin">The position of the origin along the x-axis.</param>
<param name="verticalOrigin">The position of the origin along the y-axis.</param>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.BottomCenter">
<summary>Specifies the bottom center of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.BottomLeft">
<summary>Specifies the bottom left of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.BottomRight">
<summary>Specifies the bottom right of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.Center">
<summary>Specifies the center of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.CenterLeft">
<summary>Specifies the center left of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.CenterRight">
<summary>Specifies the center right of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.TopCenter">
<summary>Specifies the top center of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.TopLeft">
<summary>Specifies the top left of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.PositionOrigin.TopRight">
<summary>Specifies the top right of the position.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.PositionOrigin.Equals(System.Object)">
<summary>Determines whether the specified object is equal to this position origin.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to compare to.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.PositionOrigin.Equals(Microsoft.Maps.MapControl.WPF.PositionOrigin)">
<summary>Determines whether the specified position origin is equal to this position origin.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="origin">The position origin to compare to.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.PositionOrigin.GetHashCode">
<summary>Retrieves the hash code for this position origin.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.PositionOrigin.op_Equality(Microsoft.Maps.MapControl.WPF.PositionOrigin,Microsoft.Maps.MapControl.WPF.PositionOrigin)">
<summary>Determines whether two position origin objects are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="origin2">The second position origin to compare.</param>
<param name="origin1">The first position origin to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.PositionOrigin.op_Inequality(Microsoft.Maps.MapControl.WPF.PositionOrigin,Microsoft.Maps.MapControl.WPF.PositionOrigin)">
<summary>Determines whether two position origins are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="origin2">Gets or sets the y-axis position of the position origin.</param>
<param name="origin1">Gets or sets the x-axis position of the position origin.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.PositionOrigin.X">
<summary>Gets or sets the x-axis position of the position origin.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.PositionOrigin.Y">
<summary>Gets or sets the y-axis position of the position origin.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Pushpin">
<summary>Represents a pushpin on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Pushpin.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Pushpin"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Pushpin.HeadingProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.Pushpin.Heading"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Pushpin.LocationDependencyProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.Pushpin.Location"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Pushpin.PositionOriginDependencyProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl,WPF.Pushpin.PositionLocation"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Pushpin.UpdateRenderTransform">
<summary>???</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Pushpin.Heading">
<summary>Gets or sets the heading of the pushpin on the map.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Pushpin.Location">
<summary>Gets or sets the location of the pushpin on the map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Pushpin.PositionOrigin">
<summary>Gets or sets the position origin of the pushpin, which defines the position on the pushpin to anchor to the map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.PositionOrigin"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.RoadMode">
<summary>Represents the Road map mode.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.RoadMode.#ctor">
<summary>Represents the Road map mode.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.RoadMode.ModeBackground">
<summary>Gets the background style of the mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Core.ModeBackground"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.TileSource">
<summary>Retrieves the URI for a tile based on its zoom level and tile position.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.TileSource.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.TileSource"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.TileSource.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.TileSource"></see> class.</summary>
<param name="uriFormat">The format used to create the URI.</param>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.TileSource.PropertyChanged">
<summary>Occurs when a property of the tile source changes.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.TileSource.QuadKeyUriFragment">
<summary>Specifies the piece of the URI that is the quad key.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.TileSource.SubdomainUriFragment">
<summary>Specifies the piece of the URI that is the sub-domain.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.TileSource.UriSchemeUriFragment">
<summary>Specifies the pieces of the URI that specify the URI scheme.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.TileSource.GetSubdomain(Microsoft.Maps.MapControl.WPF.Core.QuadKey)">
<summary>Retrieves the sub-domain for the tile identified by the specified quad key.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.TileSource.GetUri(System.Int32,System.Int32,System.Int32)">
<summary>Retrieves the URI for the tile specified by the given x, y coordinates and zoom level.</summary>
<returns>Returns a <see cref="T:System.Uri"></see> for the tile.</returns>
<param name="zoomLevel">The zoom level of the tile.</param>
<param name="x">The horizontal position of the tile.</param>
<param name="y">The vertical position of the tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.TileSource.OnPropertyChanged(System.String)">
<summary>Enables the ability to provide custom handling when a property of the tile source changes.</summary>
<param name="propertyName">The name of the changed property.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.TileSource.SetSubdomains(System.String[][])">
<summary>Sets a matrix that represents sub-domains.</summary>
<param name="subdomains">A string matrix that specifies the sub-domains.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.TileSource.UriFormat">
<summary>Gets or sets the format used to create the URI.</summary>
<returns>Returns <see cref="T:System.String"></see>.The following markers may be present in the string. {quadkey} The string in the UriFormat that will be replaced with a quad key.{UriScheme} The string in the UriFormat that will be replaced with a URI scheme.{subdomain} The string in the UriFormat that will be replaced with the sub domain.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.TileSource.Visibility">
<summary>Gets or sets the visibility of the tile.</summary>
<returns>Returns <see cref="T:System.Windows.Visibility"></see>.</returns>
</member>
<member name="N:Microsoft.Maps.MapControl.WPF.Core">
<summary>The Microsoft.Maps.MapControl.WPF.Core namespace contains core classes of the map control. More advanced users can override these classes to implement their own features.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.ConfigurationNotLoadedException">
<summary>Represents the exception that is thrown when a configuration has not loaded.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.ConfigurationNotLoadedException.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.ConfigurationNotLoadedException"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.ConfigurationNotLoadedException.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.ConfigurationNotLoadedException"></see> class.</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.ConfigurationNotLoadedException.#ctor(System.String,System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.ConfigurationNotLoadedException"></see> class.</summary>
<param name="innerException">The error type that is the cause of the current exception or null.</param>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.CredentialsInvalidException">
<summary>The exception that is thrown when the specified credentials are invalid.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.CredentialsInvalidException.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.CredentialsInvalidException"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.CredentialsInvalidException.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.CredentialsInvalidException"></see> class.</summary>
<param name="message">The error message.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.CredentialsInvalidException.#ctor(System.String,System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.CredentialsInvalidException"></see> class.</summary>
<param name="innerException">The inner exception.</param>
<param name="message">The error message.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.CredentialsProvider">
<summary>Provides credentials used to authenticate requests. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.CredentialsProvider.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.CredentialsProvider"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.CredentialsProvider.GetCredentials(System.Action{Microsoft.Maps.MapControl.WPF.Credentials})">
<summary>When overridden in a derived class, retrieves the credentials used by the map control.</summary>
<param name="callback">The function to call when the credentials are retrieved.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration">
<summary>Contains asynchronous configuration settings. The configuration settings are loaded when an event handler is added to AsynchronousConfigurationLoaded.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.Loaded">
<summary>Occurs when the configuration is loaded.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.GetSection(System.String,System.String,System.String,Microsoft.Maps.MapControl.WPF.Core.MapConfigurationCallback)">
<summary>Loads the configuration. If configuration is already loaded, this method calls the callback function without trying to load the configuration.</summary>
<param name="version">The version string of the configuration.</param>
<param name="callback">The callback function to call after the configuration is loaded.</param>
<param name="sectionName">The name of the configuration section to load.</param>
<param name="culture">The culture of the configuration.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.GetSection(System.String,System.String,System.String,Microsoft.Maps.MapControl.WPF.Core.MapConfigurationCallback,System.Object)">
<summary>Loads the configuration. If configuration is already loaded, this method calls the callback function without trying to load the configuration.</summary>
<param name="version">The version string of the configuration.</param>
<param name="callback">The callback function to call after the configuration is loaded.</param>
<param name="sectionName">The name of the configuration section.</param>
<param name="userState">An object that stores user defined information. This object is returned in the callback function.</param>
<param name="culture">The culture of the configuration.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.Load(System.Xml.XmlReader)">
<summary>Loads the configuration using the xml provided.</summary>
<param name="config">The configuration xml to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.Load(System.Uri)">
<summary>Loads the configuration from the configuration service.</summary>
<param name="address">The URI that contains the configuration.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.SetServiceUri(System.Uri)">
<summary>Sets the URI of the configuration service.</summary>
<param name="address">The URI of the configuration service.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.MapConfigurationCallback">
<summary>Represents the callback function to call when the map configuration has loaded.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.MapConfigurationLoadedEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.Loaded"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.MapConfigurationLoadedEventArgs.#ctor(System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MapConfigurationLoadedEventArgs"></see> class.</summary>
<param name="error">The error that occurred when the configuration was loaded.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Core.MapConfigurationLoadedEventArgs.Error">
<summary>Gets the error that occurred when the configuration was loaded.</summary>
<returns>Returns <see cref="T:System.Exception"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.MapConfigurationSection">
<summary>Represents a section of the map configuration.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.MapConfigurationSection.Contains(System.String)">
<summary>Returns a bool indicating if the configuration setting identified by the specified key is in the map configuration.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="key">The key to use.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Core.MapConfigurationSection.Item(System.String)">
<summary>Gets the configuration setting identified by the specified key.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
<param name="key">The configuration setting key.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.ModeBackground">
<summary>Contains background styles that allow the foreground controls to choose appropriate foreground styles.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Core.ModeBackground.Dark">
<summary>The background is more typically dark (black).</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Core.ModeBackground.Light">
<summary>The background is more typically light (white).</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Core.QuadKey">
<summary>Represents a Bing Maps quadkey.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.QuadKey.#ctor(System.Int32,System.Int32,System.Int32)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.QuadKey"></see> class specifying the quadkey.</summary>
<param name="zoomLevel">The zoom level of the tile.</param>
<param name="x">The x-axis position of the tile.</param>
<param name="y">The y-axis position of the tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.QuadKey.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Core.QuadKey"></see> class, specifying the position and zoom level of the tile.</summary>
<param name="quadKey">A string containing the quadkey of a tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.QuadKey.Equals(System.Object)">
<summary>Determines whether this quadkey is equal to the specified object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.QuadKey.GetHashCode">
<summary>Retrieves the hash code for this quad key.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.QuadKey.op_Equality(Microsoft.Maps.MapControl.WPF.Core.QuadKey,Microsoft.Maps.MapControl.WPF.Core.QuadKey)">
<summary>Determines whether two tiles are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="tile1">The first tile to compare.</param>
<param name="tile2">The second tile to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Core.QuadKey.op_Inequality(Microsoft.Maps.MapControl.WPF.Core.QuadKey,Microsoft.Maps.MapControl.WPF.Core.QuadKey)">
<summary>Determines whether two tiles are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="tile1">The first time to compare.</param>
<param name="tile2">The second tile to compare.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Core.QuadKey.Key">
<summary>Gets the quadkey string of the tile.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Core.QuadKey.X">
<summary>Gets the x-axis position of the tile.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Core.QuadKey.Y">
<summary>Gets the y-axis position of the tile.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Core.QuadKey.ZoomLevel">
<summary>Gets or sets the zoom level of the tile.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="N:Microsoft.Maps.MapControl.WPF.Design">
<summary>The Microsoft.Maps.MapControl.WPF.Design namespace contains classes such as type converters.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Design.ApplicationIdCredentialsProviderConverter">
<summary>Contains methods that parse a string into an <see cref="T:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.ApplicationIdCredentialsProviderConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Design.ApplicationIdCredentialsProviderConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.ApplicationIdCredentialsProviderConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The type of the object to convert.</param>
<param name="context">The context of the conversion.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.ApplicationIdCredentialsProviderConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the specified object to an <see cref="T:Microsoft.Maps.MapControl.WPF.ApplicationIdCredentialsProvider"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The context to use in the conversion.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Design.LocationCollectionConverter">
<summary>Contains methods that parse a string containing locations into a <see cref="T:Microsoft.Maps.MapControl.WPF.LocationCollection"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationCollectionConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Design.LocationCollectionConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationCollectionConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.WPF.LocationCollection"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationCollectionConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the given object to a <see cref="T:Microsoft.Maps.MapControl.LocationCollection"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Design.LocationConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.WPF.Location"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.LocationConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether or not the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts a given object to a <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type. </param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Design.LocationRectConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationRectConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Design.LocationRectConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationRectConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.WPF.LocationRect"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.LocationRectConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the given object to a <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Design.MapModeConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.WPF.MapMode"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.MapModeConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Design.MapModeConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.MapModeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.WPF.MapMode"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type. </param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.MapModeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the given object to a <see cref="T:Microsoft.Maps.MapControl.WPF.Core.MapMode"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Design.PositionOriginConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.WPF.PositionOrigin"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.PositionOriginConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Design.PositionOriginConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.PositionOriginConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the specified object can be converted to a <see cref="T:Microsoft.Maps.MapControl.WPF.PositionOrigin"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The type of the object to convert.</param>
<param name="context">The context to use in the conversion.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Design.PositionOriginConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the specified object to a <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The context to use in the conversion.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="N:Microsoft.Maps.MapControl.WPF.Overlays">
<summary>The Microsoft.Maps.MapControl.WPF.Overlays namespace contains classes that represent default overlays, such as the map copyright overlay.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.Compass">
<summary>Represents the compass control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Compass.#ctor">
<summary>Initializes a new instance of the <see cref="T: Microsoft.Maps.MapControl.WPF.Overlays.Compass"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.Compass.HeadingProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.Overlays.Compass.Heading"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Compass.InitializeComponent">
<summary>Initialize the compass.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Overlays.Compass.Heading">
<summary>Gets or sets the compass heading.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.Copyright">
<summary>Represents the copyright control on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Copyright.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Overlays.Copyright"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Copyright.InitializeComponent">
<summary>Initializes the copyright control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Copyright.OnAttributionsChanged(System.Collections.IList,System.Collections.IList)">
<summary>Enables derived classes to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.Overlays.Copyright.Attributions"></see> property changes.</summary>
<param name="oldItems">The old attributions values.</param>
<param name="newItems">The new attributions values.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.DistanceUnit">
<summary>Represents the units of distance used by the scale bar.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.DistanceUnit.Default">
<summary>The scale bar uses the default unit of distance of the current country or region.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.DistanceUnit.KilometersMeters">
<summary>The scale bar uses kilometers for long distances and meters for shorter distances.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.DistanceUnit.MilesFeet">
<summary>The scale bar uses miles for long distances and feet for short distances.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.DistanceUnit.MilesYards">
<summary>The scale bar uses miles for long distances and yards for short distances.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.LoadingErrorMessage">
<summary>Represents a Windows Presentation Foundation control that shows an error message.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.LoadingErrorMessage.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Overlays.LoadingErrorMessage"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.LoadingErrorMessage.InitializeComponent">
<summary>Initializes the error message control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.LoadingErrorMessage.SetConfigurationError(System.String)">
<summary>Displays a configuration loading error.</summary>
<param name="culture">The culture to use to localize the error message or null to use the default culture.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.LoadingErrorMessage.SetCredentialsError(System.String)">
<summary>Displays an error if credentials are invalid.</summary>
<param name="culture">The culture in which to display the error message.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.LoadingErrorMessage.SetUriSchemeError(System.String)">
<summary>Displays an error for a bad URL.</summary>
<param name="culture">The culture to use to localize the error message or null to use the default culture.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.Logo">
<summary>Represents the Bing Maps WPF Control logo.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Logo.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Overlays.Logo"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Logo.InitializeComponent">
<summary>Initializes the logo overlay.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.MapForeground">
<summary>Represents the control that displays map overlays such as the logo, scale bar and the copyright information.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.MapForeground.#ctor(Microsoft.Maps.MapControl.WPF.Map)">
<summary>Initializes a new instance of the <see cref="M:Microsoft.Maps.MapControl.WPF.Overlays.MapForeground"></see> class</summary>
<param name="map">The map to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.MapForeground.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a new template is applied to the map foreground.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.Scale">
<summary>Represents the scale bar control on a map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Scale.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.WPF.Overlays.Scale"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.Scale.CultureProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.Overlays.Scale.Culture"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.Scale.DistanceUnitProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.Overlays.Scale.DistanceUnit"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Scale.InitializeComponent">
<summary>Initializes the scale bar control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Scale.OnCultureChanged">
<summary>Enables derived classes to provide custom handling when the culture of the scale bar changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Scale.OnPerPixelChanged">
<summary>Enables derived classes to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.Overlays.WPF.Scale.MetersPerPixel"></see> value of the scale bar changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.Scale.OnUnitChanged">
<summary>Enables derived classes to provide custom handling when the units used by the scale bar changes.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Overlays.Scale.Culture">
<summary>Gets or sets the culture of the scale bar, which determines the language and default units used by the scale bar.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Overlays.Scale.DistanceUnit">
<summary>Gets or sets the distance unit used by the scale bar.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.WPF.Overlays.DistanceUnit"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Overlays.Scale.MetersPerPixel">
<summary>Gets or sets the meters per pixel to display on the scale bar.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText">
<summary>Represents a shadowed text label that is easier to see on the map that text of a single color. The text is displayed by offsetting text in one color on top of another color.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Overlays.WPF.ShadowText"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.ForegroundBottomProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Overlays.WPF.ShadowText.ForegroundBottom"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.ForegroundTopProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.ForegroundTop"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.TextProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.WPF,Overlays.ShadowText.Text"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.InitializeComponent">
<summary>Initializes the shadow text control.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.ForegroundBottom">
<summary>Gets or sets the color of the shadow behind the text.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.ForegroundTop">
<summary>Gets or sets the color of the text.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.WPF.Overlays.ShadowText.Text">
<summary>Gets or sets the text of the shadow text control on the map.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Silverlight/Microsoft.Maps.MapControl.Common.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Silverlight/Microsoft.Maps.MapControl.Common.xml
0,0 → 1,1126
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>Microsoft.Maps.MapControl.Common</name>
</assembly>
<members>
<member name="T:Microsoft.Maps.MapControl.AltitudeReference">
<summary>Represents the starting plane of the altitude measurement.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.AltitudeReference.Ellipsoid">
<summary>The altitude is measured from the ellipsoid.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.AltitudeReference.Ground">
<summary>The altitude is measured from the ground.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.AltitudeReference.SeaLevel">
<summary>The altitude is measured from sea level.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.AltitudeReference.Surface">
<summary>The altitude is measured from the surface.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.AnimationLevel">
<summary>Determines when map navigation is animated.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.AnimationLevel.Full">
<summary>Map navigation is always animated.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.AnimationLevel.None">
<summary>The map navigates to a new view by snapping to it instead of using animation.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.AnimationLevel.UserInput">
<summary>Map navigation is only animated in response to user input.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Credentials">
<summary>Contains information used to authenticate requests.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Credentials.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Credentials"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Credentials.Equals(System.Object)">
<summary>Determines whether the credentials are equal to the specified object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to compare to.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Credentials.GetHashCode">
<summary>Retrieves the hash code for the credentials.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Credentials.op_Equality(Microsoft.Maps.MapControl.Credentials,Microsoft.Maps.MapControl.Credentials)">
<summary>Determines whether two credentials are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="credentials2">The second credentials object to compare.</param>
<param name="credentials1">The first credentials object to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Credentials.op_Inequality(Microsoft.Maps.MapControl.Credentials,Microsoft.Maps.MapControl.Credentials)">
<summary>Determines whether two credentials are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="credentials2">The second credentials object to compare.</param>
<param name="credentials1">The first credentials object to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Credentials.ToString">
<summary>Converts the credentials to a string.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Credentials.ApplicationId">
<summary>Gets or sets the application ID, or Bing Maps Key, for these credentials.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Credentials.Token">
<summary>Gets or sets the token for these credentials.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.LoadingErrorEventArgs">
<summary>Provides data for a map <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.LoadingError"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.LoadingErrorEventArgs.#ctor(System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LoadingErrorEventArgs"></see> class.</summary>
<param name="loadingException">The exception that caused the map loading error.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.LoadingErrorEventArgs.LoadingException">
<summary>Gets the exception that caused the map loading error.</summary>
<returns>Returns <see cref="T:System.Exception"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Location">
<summary>Contains the altitude and coordinate values of a location on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Location"></see> structure.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.#ctor(Microsoft.Maps.MapControl.Location)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Location"></see> structure using the given location.</summary>
<param name="location">The location to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.#ctor(System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Location"></see> structure using the given latitude and longitude values.</summary>
<param name="latitude">The latitude of the location.</param>
<param name="longitude">The longitude of the location.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.#ctor(System.Double,System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Location"></see> structure using the given latitude, longitude, and altitude values.</summary>
<param name="latitude">The latitude of the location.</param>
<param name="altitude">The altitude of the location.</param>
<param name="longitude">The longitude of the location.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.#ctor(System.Double,System.Double,System.Double,Microsoft.Maps.MapControl.AltitudeReference)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Location"></see> structure using the given latitude, longitude, altitude, and altitude reference values.</summary>
<param name="latitude">The latitude of the location.</param>
<param name="altitudeReference">The reference plane used to measure the altitude.</param>
<param name="altitude">The altitude of the location.</param>
<param name="longitude">The longitude of the location.</param>
</member>
<member name="F:Microsoft.Maps.MapControl.Location.MaxLatitude">
<summary>Specifies the maximum latitude in degrees.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Location.MaxLongitude">
<summary>Specifies the maximum longitude in degrees.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Location.MinLatitude">
<summary>Specifies the minimum latitude in degrees.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Location.MinLongitude">
<summary>Specifies the minimum longitude in degrees.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.Equals(System.Object)">
<summary>Determines whether this location is the same as the given object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.GetHashCode">
<summary>Retrieves the hash code for this location.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.NormalizeLongitude(System.Double)">
<summary>Converts an invalid longitude value to be within the valid range, which is -180 to 180. </summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
<param name="longitude">The longitude value to normalize.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.op_Equality(Microsoft.Maps.MapControl.Location,Microsoft.Maps.MapControl.Location)">
<summary>Determines whether two instances of <see cref="T:Microsoft.Maps.MapControl.Location"></see> are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="location2">The second location to compare.</param>
<param name="location1">The first location to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.op_Inequality(Microsoft.Maps.MapControl.Location,Microsoft.Maps.MapControl.Location)">
<summary>Determines whether two instances of <see cref="T:Microsoft.Maps.MapControl.Location"></see> are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="location2">The second location to compare.</param>
<param name="location1">The first location to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.ToString">
<summary>Converts the location to a formatted string containing the latitude, longitude, and altitude values.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Location.ToString(System.IFormatProvider)">
<summary>Converts the location to a formatted string containing the latitude, longitude, and altitude values using the specified format provider.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
<param name="provider">An <see cref="T:System.IFormatProvider"></see> implementation that supplies culture-specific formatting information.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Location.Altitude">
<summary>Gets or sets the altitude of the location.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Location.AltitudeReference">
<summary>Gets or sets the reference plane used to measure the altitude.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.AltitudeReference"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Location.Latitude">
<summary>Gets or sets the latitude of the location.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Location.Longitude">
<summary>Gets or sets the longitude of the location.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.LocationCollection">
<summary>Contains a collection of <see cref="T:Microsoft.Maps.MapControl.Location"></see> items.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationCollection.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationCollection"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationCollection.Add(Microsoft.Maps.MapControl.Location)">
<summary>Adds a <see cref="T:Microsoft.Maps.MapControl.Location"></see> to the location collection.</summary>
<param name="loc">The location to add.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.LocationRect">
<summary>Represents a rectangle on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.#ctor(System.Collections.Generic.IList{Microsoft.Maps.MapControl.Location})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> class using the specified collection of locations.</summary>
<param name="locations">A location collection containing the corners of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.#ctor(Microsoft.Maps.MapControl.LocationRect)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> class.</summary>
<param name="rect">The location rectangle to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.#ctor(Microsoft.Maps.MapControl.Location,Microsoft.Maps.MapControl.Location)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> class using the specified locations as northwest and southeast corners of the rectangle.</summary>
<param name="corner1">The location of the northwest corner of the rectangle.</param>
<param name="corner2">The location of the southeast corner of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.#ctor(Microsoft.Maps.MapControl.Location,System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> class, centered on the specified location.</summary>
<param name="width">The width of the rectangle.</param>
<param name="height">The height of the rectangle.</param>
<param name="center">The location of the center of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.#ctor(System.Double,System.Double,System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> class using the specified borders.</summary>
<param name="east">The longitude of the eastern border of the rectangle.</param>
<param name="west">The longitude of the western border of the rectangle.</param>
<param name="south">The latitude of the southern border of the rectangle.</param>
<param name="north">The latitude of the northern border of the rectangle.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.Equals(Microsoft.Maps.MapControl.LocationRect)">
<summary>Determines whether this location rectangle is equal to the specified location rectangle.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="value">The location rectangle to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.Equals(System.Object)">
<summary>Determines whether this location rectangle is equal to the specified object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.GetHashCode">
<summary>Retrieves the hash code for this location rectangle.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.Intersection(Microsoft.Maps.MapControl.LocationRect)">
<summary>Retrieves the intersection rectangle of this location rectangle and the specified location rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
<param name="rect">The location rectangle to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.Intersects(Microsoft.Maps.MapControl.LocationRect)">
<summary>Determines whether this location rectangle intersects with the specified location rectangle.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="rect">The location rectangle to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.op_Equality(Microsoft.Maps.MapControl.LocationRect,Microsoft.Maps.MapControl.LocationRect)">
<summary>Determines whether two location rectangle instances are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="rect2">The second location rectangle to compare.</param>
<param name="rect1">The first location rectangle to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.op_Inequality(Microsoft.Maps.MapControl.LocationRect,Microsoft.Maps.MapControl.LocationRect)">
<summary>Determines whether two location rectangle instances are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="rect2">The second location rectangle to compare.</param>
<param name="rect1">The first location rectangle to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.ToString">
<summary>Converts the location rectangle to a formatted string containing the latitude, longitude, and altitude values of its corners.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRect.ToString(System.IFormatProvider)">
<summary>Converts the location rectangle to a formatted string containing the latitude, longitude, and altitude values of its corners using a given format provider.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
<param name="provider">An <see cref="T:System.IFormatProvider"></see> implementation that supplies culture-specific formatting information.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.Center">
<summary>Gets the location of the center of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.East">
<summary>Gets or sets the longitude of the eastern border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.Height">
<summary>Gets the height of the location rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.North">
<summary>Gets or sets the latitude of the northern border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.Northeast">
<summary>Gets or sets the location of the northeast corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.Northwest">
<summary>Gets the location or the northwest corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.South">
<summary>Gets or sets the latitude of the southern border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.Southeast">
<summary>Gets the location of the southeast corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.Southwest">
<summary>Gets or sets the location of the southwest corner of the rectangle.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.West">
<summary>Gets or sets the longitude of the western border of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRect.Width">
<summary>Gets or sets the width of the rectangle.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapEventArgs">
<summary>Provides data for <see cref="T:Microsoft.Maps.MapControl.Map"></see> events.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapEventArgs.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapEventArgs"></see> class.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.MapEventArgs.Handled">
<summary>Gets or sets whether the map event is handled.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapKeyHeldEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyHeld"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapKeyHeldEventArgs.#ctor(System.Collections.ObjectModel.ReadOnlyCollection{System.Windows.Input.Key},System.Collections.ObjectModel.ReadOnlyCollection{System.Int32})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapKeyHeldEventArgs"></see> class.</summary>
<param name="keysHeld">The keyboard keys that are held.</param>
<param name="platformKeyCodesHeld">The platform key codes held.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapKeyHeldEventArgs.KeysHeld">
<summary>Gets the keys that are held down.</summary>
<returns>Returns <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapKeyHeldEventArgs.PlatformKeyCodesHeld">
<summary>Gets the platform key codes held.</summary>
<returns>Returns <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapKeyPressEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyPress"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapKeyPressEventArgs.#ctor(System.Windows.Input.Key,System.Int32)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapKeyPressEventArgs"></see> class.</summary>
<param name="platformKeyCode">The platform key code of the key.</param>
<param name="keyPressed">The keyboard key that was pressed.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapKeyPressEventArgs.KeyPressed">
<summary>Gets the key that is pressed.</summary>
<returns>Returns <see cref="T:System.Windows.Input.Key"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapKeyPressEventArgs.PlatformKeyCode">
<summary>Gets the platform key code of the pressed key.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapLayerBase">
<summary>Represents the base map layer.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayerBase.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapLayerBase"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayerBase.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.Location)">
<summary>When overridden in a derived class, adds a UIElement to the map layer at the specified location.</summary>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayerBase.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.LocationRect)">
<summary>When overridden in a derived class, adds a UIElement to the map layer at the specified location rectangle.</summary>
<param name="locationRect">The location rectangle at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayerBase.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.Location,System.Windows.Point)">
<summary>When overridden in a derived class, adds a UIElement to the map layer at the specified location using the given position offset.</summary>
<param name="offset">The position offset to use.</param>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayerBase.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.Location,Microsoft.Maps.MapControl.PositionOrigin)">
<summary>When overridden in a derived class, adds a UIElement to the map layer at the specified location with the given position origin.</summary>
<param name="origin">The position origin to use.</param>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.MapMouseDragEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDragBox"></see> and the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MousePan"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapMouseDragEventArgs.#ctor(System.Windows.Point,System.Windows.Point)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapMouseDragEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the mouse drag ended.</param>
<param name="fromViewportPoint">The viewport point where the mouse drag began.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapMouseDragEventArgs.#ctor(System.Windows.Point,System.Windows.Point,System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapMouseDragEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the mouse drag ended.</param>
<param name="fromViewportPoint">The viewport point where the mouse drag began.</param>
<param name="isInertial">A bool indicating whether to use the inertia animation effect for the drag.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapMouseDragEventArgs.FromViewportPoint">
<summary>Gets the viewport point where the mouse drag began.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapMouseDragEventArgs.IsInertial">
<summary>Gets a bool indicating whether the inertia animation effect is being used for the drag.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapMouseEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseClick"></see> and <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDoubleClick"></see> and events.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapMouseEventArgs.#ctor(System.Windows.Point)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapMouseEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the mouse event occurred.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapMouseEventArgs.ViewportPoint">
<summary>Gets the viewport point where the mouse event occurred.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapMouseWheelEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseWheel"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapMouseWheelEventArgs.#ctor(System.Windows.Point,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapMouseWheelEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the mouse event occurred.</param>
<param name="wheelDelta">The change in position of the mouse wheel.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapMouseWheelEventArgs.WheelDelta">
<summary>Gets the change in position of the mouse wheel.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapTouchDragEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.TouchPan"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTouchDragEventArgs.#ctor(System.Windows.Point,System.Windows.Point)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapTouchDragEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the touch drag stopped.</param>
<param name="fromViewportPoint">The viewport point where the touch drag started.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTouchDragEventArgs.#ctor(System.Windows.Point,System.Windows.Point,System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapTouchDragEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the touch drag started.</param>
<param name="fromViewportPoint">The viewport point where the touch drag stopped.</param>
<param name="isInertial">A bool indicating whether to use an inertia animation effect when the touch drag stops.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTouchDragEventArgs.FromViewportPoint">
<summary>Gets the viewport point where the touch drag started.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTouchDragEventArgs.IsInertial">
<summary>Gets a bool indicating whether an inertia animation effect is used when the touch drag stops.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapTouchEventArgs">
<summary>Represents the touch event arguments base class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTouchEventArgs.#ctor(System.Windows.Point)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapTouchEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the screen was touched.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTouchEventArgs.ViewportPoint">
<summary>Gets the viewport point where the screen was touched.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapTouchRotateEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.TouchRotate"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTouchRotateEventArgs.#ctor(System.Windows.Point,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapTouchRotateEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the screen was touched.</param>
<param name="rotateAmount">A double that is the change in heading, in degrees, that defines the rotation.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTouchRotateEventArgs.RotateDelta">
<summary>Gets the change in heading, in degrees, that defines the map rotation.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapTouchZoomEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.TouchZoom"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTouchZoomEventArgs.#ctor(System.Windows.Point,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapTouchZoomEventArgs"></see> class.</summary>
<param name="viewportPoint">The viewport point where the screen was touched.</param>
<param name="zoomDelta">The change in zoom level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTouchZoomEventArgs.ZoomDelta">
<summary>Gets the change in zoom level.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.PositionOrigin">
<summary>Represents the anchor point of the Position property on a UIElement.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.PositionOrigin.#ctor(System.Double,System.Double)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see> class.</summary>
<param name="horizontalOrigin">The position of the origin along the x-axis.</param>
<param name="verticalOrigin">The position of the origin along the y-axis.</param>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.BottomCenter">
<summary>Specifies the bottom center of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.BottomLeft">
<summary>Specifies the bottom left of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.BottomRight">
<summary>Specifies the bottom right of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.Center">
<summary>Specifies the center of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.CenterLeft">
<summary>Specifies the center left of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.CenterRight">
<summary>Specifies the center right of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.TopCenter">
<summary>Specifies the top center of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.TopLeft">
<summary>Specifies the top left of the position.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PositionOrigin.TopRight">
<summary>Specifies the top right of the position.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.PositionOrigin.Equals(System.Object)">
<summary>Determines whether the specified object is equal to this position origin.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to compare to.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.PositionOrigin.Equals(Microsoft.Maps.MapControl.PositionOrigin)">
<summary>Determines whether the specified position origin is equal to this position origin.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="origin">The position origin to compare to.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.PositionOrigin.GetHashCode">
<summary>Retrieves the hash code for this position origin.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.PositionOrigin.op_Equality(Microsoft.Maps.MapControl.PositionOrigin,Microsoft.Maps.MapControl.PositionOrigin)">
<summary>Determines whether two position origin objects are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="origin2">The second position origin to compare.</param>
<param name="origin1">The first position origin to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.PositionOrigin.op_Inequality(Microsoft.Maps.MapControl.PositionOrigin,Microsoft.Maps.MapControl.PositionOrigin)">
<summary>Determines whether two position origins are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="origin2">The second position origin to compare.</param>
<param name="origin1">The first position origin to compare.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.PositionOrigin.X">
<summary>Gets or sets the x-axis position of the position origin.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.PositionOrigin.Y">
<summary>Gets or sets the y-axis position of the position origin.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.ProjectionChangedEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapMode.ProjectionChanged"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ProjectionChangedEventArgs.#ctor(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.ProjectionChangedEventArgs"></see> class.</summary>
<param name="updateLevel">The new projection update level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.ProjectionChangedEventArgs.UpdateLevel">
<summary>Gets the new projection update level.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Range`1">
<summary>Defines a generic range class for a given minimum and maximum value.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Range`1.#ctor(`0,`0)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Range`1"></see> class.</summary>
<param name="fromValue">The minimum value of the range.</param>
<param name="toValue">The maximum value of the range.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Range`1.From">
<summary>Gets the minimum value of the range.</summary>
<returns>Returns <see cref="{0}"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Range`1.To">
<summary>Gets the maximum value of the range.</summary>
<returns>Returns <see cref="{0}"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.ShapeBase">
<summary>Represents the base shape class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ShapeBase.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.ShapeBase"></see> class.</summary>
</member>
<member name="N:Microsoft.Maps.MapControl.Core">
<summary>The Microsoft.Maps.MapControl.Core namespace contains core classes of the map control. More advanced users can override these classes to implement their own features, such as custom map modes or custom map layers.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.AttributionCollection">
<summary>Contains a collection of <see cref="T:Microsoft.Maps.MapControl.Core.AttributionInfo"></see> objects.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionCollection.#ctor(System.Collections.ObjectModel.ObservableCollection{Microsoft.Maps.MapControl.Core.AttributionInfo})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.AttributionCollection"></see> class.</summary>
<param name="list">The collection of <see cref="T:Microsoft.Maps.MapControl.Core.AttributionInfo"></see> items.</param>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.AttributionCollection.CollectionChanged">
<summary>Occurs when any item in the attribution collection changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.AttributionCollection.CollectionChanged"></see> event.</summary>
<param name="args">The event data.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.AttributionInfo">
<summary>Contains map data and image attribution information.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionInfo.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.AttributionInfo"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionInfo.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.AttributionInfo"></see> class.</summary>
<param name="text">The attribute text.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionInfo.Equals(System.Object)">
<summary>Determines whether the specified object is equal to this attribution info object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to compare to.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionInfo.GetHashCode">
<summary>Retrieves the hash code for this attribution info object.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionInfo.op_Equality(Microsoft.Maps.MapControl.Core.AttributionInfo,Microsoft.Maps.MapControl.Core.AttributionInfo)">
<summary>Determines whether two attribution info objects are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="attributionInfo1">The first attribution info object to compare.</param>
<param name="attributionInfo2">The second attribution info object to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.AttributionInfo.op_Inequality(Microsoft.Maps.MapControl.Core.AttributionInfo,Microsoft.Maps.MapControl.Core.AttributionInfo)">
<summary>Determines whether two attribution info objects are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="attributionInfo1">The first attribution info object to compare.</param>
<param name="attributionInfo2">The second attribution info object to compare.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.AttributionInfo.Text">
<summary>Gets or sets the text which contains the map data and image attribution.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.CameraDescription">
<summary>This class is reserved for future use.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CameraDescription.Heading">
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CameraDescription.Location">
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CameraDescription.Pitch">
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CameraDescription.Roll">
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.CredentialsProvider">
<summary>Provides credentials used to authenticate requests. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CredentialsProvider.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsProvider"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CredentialsProvider.GetCredentials(System.Action{Microsoft.Maps.MapControl.Credentials})">
<summary>When overridden in a derived class, retrieves the credentials used by the map control.</summary>
<param name="callback">The function to call when the credentials are retrieved.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapMode">
<summary>Defines the base class for a map mode. This class must be inherited.To use the new enhanced road map style, be sure to load the configuration file before you call InitializeComponent as described in the Loading the Enhanced Road Map Style topic.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MapMode"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapMode.ProjectionChanged">
<summary>Occurs when the map projection changes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapMode.TargetViewChanged">
<summary>When overridden in derived class, occurs when the map view towards which the map is animating changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.Activated(Microsoft.Maps.MapControl.MapLayerBase,Microsoft.Maps.MapControl.MapLayerBase)">
<summary>When overridden in a derived class, executes when the map mode is activated.</summary>
<param name="modeLayer">The map mode layer.</param>
<param name="modeForegroundLayer">The map mode foreground layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.Activating(Microsoft.Maps.MapControl.Core.MapMode,Microsoft.Maps.MapControl.MapLayerBase,Microsoft.Maps.MapControl.MapLayerBase)">
<summary>When overridden in a derived class, executes when the map mode is activating.</summary>
<param name="modeLayer">The map mode layer.</param>
<param name="modeForegroundLayer">The map foreground layer.</param>
<param name="previousMode">The previous map mode.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.Deactivating">
<summary>When overridden in a derived class, executes when the map mode is deactivating.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.LocationToViewportPoint(System.Collections.Generic.IList{Microsoft.Maps.MapControl.Location})">
<summary>When overridden in a derived class, converts a list of locations to a viewport point.</summary>
<returns>Returns <see cref="T:System.Collections.Generic.IList`1"></see>.</returns>
<param name="locations">The locations to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)">
<summary>When overridden in a derived class, converts a location to a viewport point in this map mode.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.LocationToViewportPoint(Microsoft.Maps.MapControl.LocationRect)">
<summary>When overridden in a derived class, converts a location rectangle to a viewport point.</summary>
<returns>Returns <see cref="T:System.Windows.Rect"></see>.</returns>
<param name="boundingRectangle">The location rectangle to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnCultureChanged">
<summary>Enables derived classes to provide custom handling when the culture of the mode changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnKeyDown(System.Windows.Input.KeyEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyDown"></see> event.</summary>
<param name="e">The keyboard event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnKeyHeld(Microsoft.Maps.MapControl.MapKeyHeldEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyHeld"></see> event.</summary>
<param name="e">The keyboard event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnKeyPress(Microsoft.Maps.MapControl.MapKeyPressEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyPress"></see> event.</summary>
<param name="e">The keyboard event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnKeyUp(System.Windows.Input.KeyEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyUp"></see> event.</summary>
<param name="e">The keyboard event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMouseClick(Microsoft.Maps.MapControl.MapMouseEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseClick"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMouseDoubleClick(Microsoft.Maps.MapControl.MapMouseEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDoubleClick"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMouseDragBox(Microsoft.Maps.MapControl.MapMouseDragEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDragBox"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseLeftButtonDown"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseLeftButtonUp"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMouseMove(System.Windows.Input.MouseEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseMove"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMousePan(Microsoft.Maps.MapControl.MapMouseDragEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MousePan"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnMouseWheel(Microsoft.Maps.MapControl.MapMouseWheelEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseWheel"></see> event.</summary>
<param name="e">The mouse event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnProjectionChanged(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Enables derived classes to provide custom handling when the culture of projection of the map changes.</summary>
<param name="updateLevel">The new projection update level.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnTouchComplete(Microsoft.Maps.MapControl.MapEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.TouchComplete"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnTouchPan(Microsoft.Maps.MapControl.MapTouchDragEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.TouchPan"></see> event.</summary>
<param name="e">The touch event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnTouchRotate(Microsoft.Maps.MapControl.MapTouchRotateEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.TouchRotate"></see> event.</summary>
<param name="e">The touch event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.OnTouchZoom(Microsoft.Maps.MapControl.MapTouchZoomEventArgs)">
<summary>When overridden in a derived class, raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.TouchZoom"></see> event.</summary>
<param name="e">The touch event data.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.SetView(Microsoft.Maps.MapControl.LocationRect,System.Boolean)">
<summary>When overridden in a derived class, sets the map view to the specified location rectangle.</summary>
<param name="boundingRectangle">The location rectangle that defines the boundaries of the map view.</param>
<param name="animate">A bool indicating whether to animate map navigation.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.SetView(Microsoft.Maps.MapControl.Location,System.Double,System.Double,System.Double,System.Boolean)">
<summary>When overridden in a derived class, sets the map view.</summary>
<param name="animate">A bool indicating whether to animate map navigation.</param>
<param name="pitch">The pitch of the map view.</param>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The location of the center of the map view.</param>
<param name="heading">The heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.TryLocationToViewportPoint(Microsoft.Maps.MapControl.Location,System.Windows.Point@)">
<summary>When overridden in a derived class, tries to convert a location to a viewport point.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="viewportPoint">When this method returns, contains the viewport point. This parameter is passed in uninitialized.</param>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.TryViewportPointToLocation(System.Windows.Point,Microsoft.Maps.MapControl.Location@)">
<summary>When overridden in a derived class, tries to convert a viewport point to a location.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
<param name="location">When this method returns, contains the location. This parameter is passed in uninitialized.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.ViewportPointToLocation(System.Windows.Point)">
<summary>When overridden in a derived class, converts a viewport point to a location in this map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode.ViewportSizeChanged(System.Windows.Size)">
<summary>Enables derived classes to provide custom handling when the size of the viewport changes.</summary>
<param name="viewportSize">The new viewport size.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.AnimationLevel">
<summary>Gets or sets the animation level.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.AnimationLevel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.Attributions">
<summary>When overridden in a derived class, gets the imagery attributions for the mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.AttributionCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.BoundingRectangle">
<summary>When overridden in a derived class, gets the rectangle that defines the boundaries of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.Center">
<summary>When overridden in a derived class, gets or sets the center of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.Content">
<summary>When overridden in a derived class, gets the UIElement that represents the map mode.</summary>
<returns>Returns <see cref="T:System.Windows.UIElement"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.CredentialsProvider">
<summary>When overridden in a derived class, gets or sets the type of credentials provided.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsProvider"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.Culture">
<summary>Gets or sets the culture of the map mode.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.ForegroundContent">
<summary>When overridden in a derived class, gets the map foreground content as a UIElement.</summary>
<returns>Returns <see cref="T:System.Windows.UIElement"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.Heading">
<summary>When overridden in a derived class, gets or sets the heading of the map view.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.HeadingRange">
<summary>When overridden in a derived class, gets the range of valid heading values.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.InertiaDeceleration">
<summary>Gets or sets the rate of deceleration of the inertia animation effect. Valid values are from 0 to 1, where 0 indicates no inertia effect and 1 indicates the inertia effect does not slow down or stop.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.IsDownloading">
<summary>When overridden in a derived class, gets or sets whether the map mode is downloading.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.ModeBackground">
<summary>When overridden in a derived class, gets the mode of the background.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.ModeBackground"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.Pitch">
<summary>When overridden in a derived class, gets or sets the pitch of the map view.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.PitchRange">
<summary>When overridden in a derived class, gets the range of valid pitch values.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.Scale">
<summary>When overridden in a derived class, gets or sets the scale of the map.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.TargetBoundingRectangle">
<summary>When overridden in a derived class, gets the location rectangle that defines the boundaries of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.TargetCenter">
<summary>When overridden in a derived class, gets the center location of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.TargetHeading">
<summary>When overridden in a derived class, gets the heading of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.TargetPitch">
<summary>When overridden in a derived class, gets the pitch of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.TargetScale">
<summary>When overridden in a derived class, gets the scale towards which the map is navigating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.TargetZoomLevel">
<summary>When overridden in a derived class, gets the zoom level of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.UseInertia">
<summary>Gets or sets a bool indicating whether to use the inertia animation effect during map navigation.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.ViewportSize">
<summary>Gets or sets the size of the viewport.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.ZoomLevel">
<summary>When overridden in a derived class, gets or sets the zoom level.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapMode.ZoomRange">
<summary>When overridden in a derived class, gets the range of valid zoom levels.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapMode3D">
<summary>This class is reserved for future use.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode3D.GetCurrentCamera">
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.CameraDescription"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode3D.GetTargetCamera">
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.CameraDescription"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode3D.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)">
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapMode3D.LocationToViewportPoint3D(Microsoft.Maps.MapControl.Location)">
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.ProjectedPoint"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.ModeBackground">
<summary>Contains background styles that allow the foreground controls to choose appropriate foreground styles.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.ModeBackground.Dark">
<summary>The background is more typically dark (black).</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.ModeBackground.Light">
<summary>The background is more typically light (white).</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.ProjectedPoint">
<summary>This class is reserved for future use.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ProjectedPoint.Equals(System.Object)">
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ProjectedPoint.Equals(Microsoft.Maps.MapControl.Core.ProjectedPoint)">
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ProjectedPoint.GetHashCode">
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ProjectedPoint.op_Equality(Microsoft.Maps.MapControl.Core.ProjectedPoint,Microsoft.Maps.MapControl.Core.ProjectedPoint)">
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ProjectedPoint.op_Inequality(Microsoft.Maps.MapControl.Core.ProjectedPoint,Microsoft.Maps.MapControl.Core.ProjectedPoint)">
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ProjectedPoint.ToString">
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ProjectedPoint.ToString(System.IFormatProvider)">
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.ProjectedPoint.Depth">
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.ProjectedPoint.Point">
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.ProjectedPoint.X">
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.ProjectedPoint.Y">
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel">
<summary>Contains projection update levels based on the difference between <see cref="M:Microsoft.Maps.MapControl.Core.MapCore.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)"></see> and <see cref="M:Microsoft.Maps.MapControl.Core.MapCore.ViewportPointToLocation(System.Windows.Point)"></see>.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel.Full">
<summary><see cref="M:Microsoft.Maps.MapControl.Core.MapCore.ViewportPointToLocation(System.Windows.Point)"></see> and <see cref="M:Microsoft.Maps.MapControl.Core.MapCore.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)"></see> return different results. For example, this occurs when the zoom level or bird's eye scene is changed.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel.Linear">
<summary><see cref="M:Microsoft.Maps.MapControl.Core.MapCore.ViewportPointToLocation(System.Windows.Point)"></see> and <see cref="M:Microsoft.Maps.MapControl.Core.MapCore.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)"></see> return different results, but the points stay at the same location relative to each other. For example, this occurs if you pan the map in Road view but do not change the zoom level.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel.None">
<summary>The <see cref="M:Microsoft.Maps.MapControl.Core.MapCore.ViewportPointToLocation(System.Windows.Point)"></see> and <see cref="M:Microsoft.Maps.MapControl.Core.MapCore.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)"></see> return the same results.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.QuadKey">
<summary>Represents a ve_product_name quadkey.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.QuadKey.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.QuadKey"></see> class specifying the quadkey.</summary>
<param name="quadKey">A string containing the quadkey of a tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.QuadKey.#ctor(System.Int32,System.Int32,System.Int32)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.QuadKey"></see> class, specifying the position and zoom level of the tile.</summary>
<param name="zoomLevel">The zoom level of the tile.</param>
<param name="x">The x-axis position of the tile.</param>
<param name="y">The y-axis position of the tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.QuadKey.Equals(System.Object)">
<summary>Determines whether this quadkey is equal to the specified object.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="obj">The object to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.QuadKey.GetHashCode">
<summary>Retrieves the hash code for this quad key.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.QuadKey.op_Equality(Microsoft.Maps.MapControl.Core.QuadKey,Microsoft.Maps.MapControl.Core.QuadKey)">
<summary>Determines whether two tiles are equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="tile1">The first tile to compare.</param>
<param name="tile2">The second tile to compare.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.QuadKey.op_Inequality(Microsoft.Maps.MapControl.Core.QuadKey,Microsoft.Maps.MapControl.Core.QuadKey)">
<summary>Determines whether two tiles are not equal.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="tile1">The first tile to compare.</param>
<param name="tile2">The second tile to compare.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.QuadKey.Key">
<summary>Gets the quadkey string of the tile.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.QuadKey.X">
<summary>Gets the x-axis position of the tile.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.QuadKey.Y">
<summary>Gets the y-axis position of the tile.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.QuadKey.ZoomLevel">
<summary>Gets or sets the zoom level of the tile.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Design.LocationCollectionConverter">
<summary>Contains methods that parse a string containing locations into a <see cref="T:Microsoft.Maps.MapControl.LocationCollection"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationCollectionConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.LocationCollectionConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationCollectionConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.LocationCollection"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationCollectionConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the given object to a <see cref="T:Microsoft.Maps.MapControl.LocationCollection"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Design.LocationConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.LocationConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether or not the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts a given object to a <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Design.LocationRectConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationRectConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.LocationRectConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationRectConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.LocationRectConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the given object to a <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Design.PositionOriginConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.PositionOriginConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.PositionOriginConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.PositionOriginConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the specified object can be converted to a <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The type of the object to convert.</param>
<param name="context">The context to use in the conversion.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.PositionOriginConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the specified object to a <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The context to use in the conversion.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="N:Microsoft.Maps.MapControl.PlatformServices">
<summary>The Microsoft.Maps.MapControl.PlatformServices namespace contains classes associated with vews_product_name.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.PlatformServices.MapStyle">
<summary>Represents the style of imagery displayed on the map. Use this type when communicating with the vews_product_name.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PlatformServices.MapStyle.Aerial">
<summary>The aerial map style.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PlatformServices.MapStyle.AerialWithLabels">
<summary>The aerial map style with labels.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PlatformServices.MapStyle.Birdseye">
<summary>The bird’s eye (oblique-angle) imagery map style.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PlatformServices.MapStyle.BirdseyeWithLabels">
<summary>The bird’s eye (oblique-angle) imagery map style with labels.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.PlatformServices.MapStyle.Road">
<summary>The road map style.</summary>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Silverlight/Microsoft.Maps.MapControl.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Silverlight/Microsoft.Maps.MapControl.xml
0,0 → 1,2430
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>Microsoft.Maps.MapControl</name>
</assembly>
<members>
<member name="N:Microsoft.Maps.MapControl">
<summary>The Microsoft.Maps.MapControl namespace contains the most commonly used public classes of the sl_product_name.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.AerialMode">
<summary>Represents the Aerial map mode.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.AerialMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.AerialMode"></see> class. </summary>
</member>
<member name="M:Microsoft.Maps.MapControl.AerialMode.#ctor(System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.AerialMode"></see> class.</summary>
<param name="labels">A bool indicating whether or not to display map labels.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.AerialMode.Activating(Microsoft.Maps.MapControl.Core.MapMode,Microsoft.Maps.MapControl.MapLayerBase,Microsoft.Maps.MapControl.MapLayerBase)">
<summary>Notifies a mode that it is being activated by the map.</summary>
<param name="modeLayer">The layer which is activating.</param>
<param name="modeForegroundLayer">The mode foreground layer.</param>
<param name="previousMode">The mode from which the map is transitioning.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.AerialMode.GetZoomRange(Microsoft.Maps.MapControl.Location)">
<summary>Retrieves the valid zoom range for the specified location.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
<param name="center">The location for which to retrieve the zoom range.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.AerialMode.OnCultureChanged">
<summary>Enables the ability to provide custom handling when the culture of the mode changes.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.AerialMode.Content">
<summary>Gets the map as a UIElement.</summary>
<returns>Returns <see cref="T:System.Windows.UIElement"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AerialMode.FadingLabels">
<summary>Gets or sets whether or not to fade labels when the map pans and zooms.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AerialMode.IsDownloading">
<summary>Gets a bool indicating whether map data is still downloading.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AerialMode.Labels">
<summary>Gets or sets whether to show map labels.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AerialMode.RestrictMaxZoomLevel">
<summary>Gets or sets whether the maximum zoom level is restricted by a coverage map.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AerialMode.UpSampleLevelDelta">
<summary>Gets or sets the map tile layers sample level delta.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider">
<summary>Provides credentials in the form of an application ID (a maps_ticket).</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider"></see> class using the specified application ID.</summary>
<param name="applicationId">The application ID, or Bing Maps Key, to use.</param>
</member>
<member name="E:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider.PropertyChanged">
<summary>Occurs when a property of this class changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider.GetCredentials(System.Action{Microsoft.Maps.MapControl.Credentials})">
<summary>Retrieves the credentials for the map control. This method can be used to pass your Bing Maps Key to other Bing Maps APIs, such as the Bing Maps REST Serviceshttp://msdn.microsoft.com/en-us/library/ff701713.aspx.</summary>
<param name="callback">The function to call when credentials are retrieved.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider.OnPropertyChanged(System.String)">
<summary>Enables the ability to provide custom handling when a property of this class changes.</summary>
<param name="propertyName">The name of the property that changed.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider.ApplicationId">
<summary>Gets or sets the application ID. The application ID is your Bing Maps Key. Information about getting a Bing Maps Key is found in Getting a Bing Maps Keyhttp://msdn.microsoft.com/en-us/library/ff428642.aspx.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider">
<summary>Provides credentials in the form of a client token.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider"></see> class using the specified token.</summary>
<param name="token">The client token to use.</param>
</member>
<member name="E:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider.PropertyChanged">
<summary>Occurs when a property changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider.GetCredentials(System.Action{Microsoft.Maps.MapControl.Credentials})">
<summary>Retrieves the credentials.</summary>
<param name="callback">The function to call when the credentials are retrieved.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider.OnPropertyChanged(System.String)">
<summary>Enables the ability to provide custom handling when a property of this class changes.</summary>
<param name="propertyName">The name of the property that changed.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.ClientTokenCredentialsProvider.Token">
<summary>Gets or sets the client token.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.LocationRectTileSource">
<summary>Represents map tiles contained with a location rectangle that are available on ve_product_name servers.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRectTileSource.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRectTileSource"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRectTileSource.#ctor(System.String,Microsoft.Maps.MapControl.LocationRect,Microsoft.Maps.MapControl.Range{System.Double})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.LocationRectTileSource"></see> class with the specified tile source URI, the bounding rectangle within which tiles can be displayed, and the valid zoom range.</summary>
<param name="boundingRectangle">The area on the map within which tiles can be displayed.</param>
<param name="uriFormat">The URI of the tile source.</param>
<param name="zoomRange">The zoom range where tiles are visible.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.LocationRectTileSource.GetUri(System.Int32,System.Int32,System.Int32)">
<summary>Retrieves the URI of a tile at the given point and zoom level.</summary>
<returns>Returns <see cref="T:System.Uri"></see>.</returns>
<param name="zoomLevel">The zoom level of the tile.</param>
<param name="x">The horizontal position of the tile.</param>
<param name="y">The vertical position of the tile.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRectTileSource.BoundingRectangle">
<summary>Gets or sets the rectangle which contains the tile source.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.LocationRectTileSource.ZoomRange">
<summary>Gets or sets the zoom range of the tile source.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Map">
<summary>Represents the default map class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Map.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Map"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Map.Finalize">
<summary>Deconstructs the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Map.OnCredentialsProviderChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the credentials provider changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Map.OnCultureChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the culture of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Map.OnFirstFrame">
<summary>Enables derived classes to provide custom handling when the first map frame is loaded.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Map.OnOverlayVisibilityChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the visibility of an overlay changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Map.CredentialsProvider">
<summary>Gets or sets the credentials provider.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsProvider"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Map.MapForeground">
<summary>Gets the map foreground.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Overlays.MapForeground"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Map.Mode">
<summary>Gets or sets the map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapMode"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapItemsControl">
<summary>Represents the class that uses a <see cref="T:Microsoft.Maps.MapControl.MapLayer"></see> as an ItemsPanel. This enables data binding using an ItemsSource and an ItemTemplate. This class inherits from the ItemsControl class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapItemsControl.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapItemsControl"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapItemsControl.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the elements so that they fit into the control.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
<param name="finalSize">The final size in which to fit the elements.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapItemsControl.MeasureOverride(System.Windows.Size)">
<summary>Measures the map items control to see if it will fit into the available size.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see> that is the size needed to fit the map items control.</returns>
<param name="availableSize">The available size in which the map items control needs to fit.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapItemsControl.OnApplyTemplate">
<summary>Executes whenever application code or internal processes (such as a rebuilding layout pass) call System.Windows.Controls.Control.ApplyTemplate(). In simplest terms, this means the method is called just before the UI element displays in an application.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapItemsControl.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.MapItemsControl.ProjectionUpdated(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Updates the elements if the projection is updated. </summary>
<param name="updateLevel">The new projection update level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapItemsControl.ParentMap">
<summary>Gets the map that owns this map items control.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapLayer">
<summary>Represents a map layer, which positions its child <see cref="T:System.Windows.UIElement"></see> objects using geographic coordinates.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapLayer"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.MapLayer.PositionOffsetProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.PositionOffset"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.MapLayer.PositionOriginProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.PositionOrigin"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.MapLayer.PositionProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.Position"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.MapLayer.PositionRectangleProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapLayer.PositionRectangle"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.Location)">
<summary>Adds a UIElement to the map layer at the specified location.</summary>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.LocationRect)">
<summary>Adds a UIElement to the map layer at the specified location rectangle.</summary>
<param name="locationRect">The location rectangle at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.Location,System.Windows.Point)">
<summary>Adds a UIElement to the map layer at the specified location using the given pixel offset.</summary>
<param name="offset">The pixel offset to use.</param>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.AddChild(System.Windows.UIElement,Microsoft.Maps.MapControl.Location,Microsoft.Maps.MapControl.PositionOrigin)">
<summary>Adds a UIElement to the map layer at the specified location using the given position origin.</summary>
<param name="origin">The position origin to use.</param>
<param name="location">The location at which to add the UIElement.</param>
<param name="element">The UIElement to add.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the child elements so that they fit into the map layer.</summary>
<returns>Returns the actual<see cref="T:System.Windows.Size"></see> used.</returns>
<param name="finalSize">The final size of the map layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.GetPosition(System.Windows.DependencyObject)">
<summary>Retrieves the map layer’s position.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.GetPositionOffset(System.Windows.DependencyObject)">
<summary>Retrieves the offset of a layer from the position calculated by the map projection, in pixels.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.GetPositionOrigin(System.Windows.DependencyObject)">
<summary>Retrieves the map layer’s position origin.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see>.</returns>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.GetPositionRectangle(System.Windows.DependencyObject)">
<summary>Retrieves a <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> that <see cref="T:System.Windows.UIElement"></see> objects of the layer are fit into (also known as “arranging”).</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.MeasureOverride(System.Windows.Size)">
<summary>Measures the elements that need to fit into the map layer.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
<param name="availableSize">The available size of the map layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.OnPositionChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.Position"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.OnPositionOffsetChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.PositionOffset"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.OnPositionOriginChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.PositionOrigin"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.OnPositionRectangleChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.MapLayer.PositionRectangle"></see> of the layer changes.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="ea">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.ProjectionUpdated(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Updates the map layer elements if the map projection is updated.</summary>
<param name="updateLevel">The projection level.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.SetPosition(System.Windows.DependencyObject,Microsoft.Maps.MapControl.Location)">
<summary>Sets the position of the map layer.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="location">The location at which to position the map layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.SetPositionOffset(System.Windows.DependencyObject,System.Windows.Point)">
<summary>Sets the position offset of the map layer.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="point">The pixel offset to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.SetPositionOrigin(System.Windows.DependencyObject,Microsoft.Maps.MapControl.PositionOrigin)">
<summary>Sets the position of the origin of the map layer.</summary>
<param name="origin">The position origin of the map layer.</param>
<param name="dependencyObject">The dependency field.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapLayer.SetPositionRectangle(System.Windows.DependencyObject,Microsoft.Maps.MapControl.LocationRect)">
<summary>Sets the position rectangle of the map layer.</summary>
<param name="dependencyObject">The dependency field.</param>
<param name="rect">The boundaries of the map layer.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapLayer.ParentMap">
<summary>Gets the parent map of the map layer.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapPolygon">
<summary>Represents a polygon on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapPolygon.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapPolygon"></see> class.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.MapPolygon.FillRule">
<summary>Gets or sets the fill rule for the polygon.</summary>
<returns>Returns <see cref="T:System.Windows.Media.FillRule"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapPolygon.ProjectedPoints">
<summary>Gets or sets the vertices of the polygon.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PointCollection"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapPolyline">
<summary>Represents a polyline on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapPolyline.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapPolyline"></see> class.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.MapPolyline.FillRule">
<summary>Gets or sets the fill rule for the polyline.</summary>
<returns>Returns <see cref="T:System.Windows.Media.FillRule"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapPolyline.ProjectedPoints">
<summary>Gets or sets the points that define the polyline.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PointCollection"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.MapTileLayer">
<summary>Represents a layer of image tiles on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTileLayer.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.MapTileLayer"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.MapTileLayer.UpSampleLevelDeltaProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.MapTileLayer.UpSampleLevelDelta"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTileLayer.MeasureOverride(System.Windows.Size)">
<summary>Measures the elements that need to fit into the map tile layer.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
<param name="availableSize">The size of available space for the map tile layer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTileLayer.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.MapTileLayer.ProjectionUpdated(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Enables the ability to provide custom handling when the projection of the tile layer changes.</summary>
<param name="updateLevel">The projection update level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTileLayer.ParentMap">
<summary>Gets the parent map of the map tile layer.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTileLayer.TileHeight">
<summary>Gets or sets the height, in pixels, of a tile in the map tile layer.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTileLayer.TileSources">
<summary>Gets or sets a collection of tile sources associated with the map tile layer.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.TileSourceCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTileLayer.TileWidth">
<summary>Gets or sets the width, in pixels, of a tile in the map tile layer.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.MapTileLayer.UpSampleLevelDelta">
<summary>Gets or sets the sample level delta.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Pushpin">
<summary>Represents a pushpin on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Pushpin.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Pushpin"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Pushpin.LocationDependencyProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Pushpin.Location"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Pushpin.PositionOriginDependencyProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Pushpin.PositionOrigin"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Pushpin.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Pushpin.Location">
<summary>Gets or sets the location of the pushpin on the map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Pushpin.PositionOrigin">
<summary>Gets or sets the position origin of the pushpin, which defines the position on the pushpin to anchor to the map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.PositionOrigin"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.RoadMode">
<summary>Represents the Road map mode.To use the new enhanced road style, be sure to load the configuration file before you call InitializeComponent as described in the Loading the Enhanced Road Map Style topic.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.RoadMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.RoadMode"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.RoadMode.Activating(Microsoft.Maps.MapControl.Core.MapMode,Microsoft.Maps.MapControl.MapLayerBase,Microsoft.Maps.MapControl.MapLayerBase)">
<summary>Notifies the mode that it is being activated by the map.</summary>
<param name="modeLayer">The map mode layer.</param>
<param name="modeForegroundLayer">The mode foreground layer.</param>
<param name="previousMode">The mode from which the map is transitioning.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.RoadMode.GetZoomRange(Microsoft.Maps.MapControl.Location)">
<summary>Retrieves the valid zoom range for the specified location in the Road map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
<param name="center">The location for which to retrieve a zoom range.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.RoadMode.OnCultureChanged">
<summary>Enables the ability to provide custom handling when the culture of the mode changes.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.RoadMode.Content">
<summary>Gets the map mode as a UIElement.</summary>
<returns>Returns <see cref="T:System.Windows.UIElement"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.RoadMode.IsDownloading">
<summary>Gets a bool indicating whether map data is downloading.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.RoadMode.ModeBackground">
<summary>Gets the background style of the mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.ModeBackground"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.RoadMode.RestrictMaxZoomLevel">
<summary>Gets or sets whether the maximum zoom level is restricted by a coverage map.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.RoadMode.UpSampleLevelDelta">
<summary>Gets or sets the sample level delta.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.TileSource">
<summary>Retrieves the URI for a tile based on its zoom level and tile position.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.TileSource.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.TileSource"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.TileSource.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.TileSource"></see> class.</summary>
<param name="uriFormat">The format used to create the URI.</param>
</member>
<member name="E:Microsoft.Maps.MapControl.TileSource.PropertyChanged">
<summary>Occurs when a property of the tile source changes.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.TileSource.QuadKeyUriFragment">
<summary>Specifies the piece of the URI that is the quad key.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.TileSource.SubdomainUriFragment">
<summary>Specifies the piece of the URI that is the sub-domain.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.TileSource.UriSchemeUriFragment">
<summary>Specifies the pieces of the URI that is the URI scheme.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.TileSource.GetSubdomain(Microsoft.Maps.MapControl.Core.QuadKey)">
<summary>Retrieves the sub-domain for the tile identified by the specified quad key.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
<param name="quadKey">The quad key that identifies the tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.TileSource.GetUri(System.Int32,System.Int32,System.Int32)">
<summary>Retrieves the URI for the tile specified by the given x, y coordinates and zoom level.</summary>
<returns>Returns a <see cref="T:System.Uri"></see> for the tile.</returns>
<param name="zoomLevel">The zoom level of the tile.</param>
<param name="x">The horizontal position of the tile.</param>
<param name="y">The vertical position of the tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.TileSource.OnPropertyChanged(System.String)">
<summary>Enables the ability to provide custom handling when a property of the tile source changes.</summary>
<param name="propertyName">The name of the changed property.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.TileSource.SetSubdomains(System.String[][])">
<summary>Sets a matrix that represents sub-domains.</summary>
<param name="subdomains">A string matrix that specifies the sub-domains.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.TileSource.UriFormat">
<summary>Gets or sets the format used to create the URI.</summary>
<returns>Returns a <see cref="T:System.String"></see>.The following markers may be present in the string.{quadkey} The string in the UriFormat that will be replaced with a quad key.{UriScheme} The string in the UriFormat that will be replaced with a URI scheme.{subdomain} The string in the UriFormat that will be replaced with the sub domain.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.TileSource.Visibility">
<summary>Gets or sets the visibility of the tile.</summary>
<returns>Returns <see cref="T:System.Windows.Visibility"></see>.</returns>
</member>
<member name="N:Microsoft.Maps.MapControl.AutomationPeers">
<summary>The Microsoft.Maps.MapControl.AutomationPeers namespace contains classes used for test automation.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.AutomationPeers.BaseAutomationPeer">
<summary>Represents the base automation peer class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.BaseAutomationPeer.#ctor(System.Windows.FrameworkElement,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.AutomationPeers.BaseAutomationPeer"></see> class.</summary>
<param name="className">The name of the class.</param>
<param name="element">The element for which to create the automation peer.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.BaseAutomationPeer.GetAutomationControlTypeCore">
<summary>Retrieves the type of the control.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationControlType"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.BaseAutomationPeer.GetClassNameCore">
<summary>Retrieves the name of the class.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.BaseAutomationPeer.GetNameCore">
<summary>Retrieves the name of the element.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.AutomationPeers.MapAutomationPeer">
<summary>Contains methods used to automate the testing of a <see cref="T:Microsoft.Maps.MapControl.Map"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.MapAutomationPeer.#ctor(System.Windows.FrameworkElement)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.AutomationPeers.MapAutomationPeer"></see> class for the given <see cref="T:Microsoft.Maps.MapControl.Map"></see>.</summary>
<param name="element">The map to test.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.MapAutomationPeer.GetPattern(System.Windows.Automation.Peers.PatternInterface)">
<summary>Retrieves the value pattern that is supported.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="patternInterface">The pattern interface.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.AutomationPeers.MapAutomationPeer.IsReadOnly">
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AutomationPeers.MapAutomationPeer.Value">
<summary>Gets a string with map properties embedded in it.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.AutomationPeers.MapTileLayerAutomationPeer">
<summary>Contains methods used to automate the testing of a map tile layer.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.MapTileLayerAutomationPeer.#ctor(System.Windows.FrameworkElement)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.AutomationPeers.MapTileLayerAutomationPeer"></see> class.</summary>
<param name="element">The map tile layer to test.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.AutomationPeers.MapTileLayerAutomationPeer.GetPattern(System.Windows.Automation.Peers.PatternInterface)">
<returns>Returns <see cref="T:System.Object"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AutomationPeers.MapTileLayerAutomationPeer.IsReadOnly">
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.AutomationPeers.MapTileLayerAutomationPeer.Value">
<summary>Gets a string with map tile layer properties embedded in it.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.CollectionItemPropertyChangedEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.TileSourceCollection.CollectionItemPropertyChanged"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CollectionItemPropertyChangedEventArgs.#ctor(Microsoft.Maps.MapControl.TileSource,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.CollectionItemPropertyChangedEventArgs"></see> class.</summary>
<param name="propertyName">The name of the property that changed.</param>
<param name="tileSource">The tile source whose property has changed.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CollectionItemPropertyChangedEventArgs.PropertyName">
<summary>Gets the name of the property that changed.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CollectionItemPropertyChangedEventArgs.TileSource">
<summary>Gets the tile source whose property has changed.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.TileSource"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.ConfigurationNotLoadedException">
<summary>Represents the exception that is thrown when a configuration has not loaded.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ConfigurationNotLoadedException.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.ConfigurationNotLoadedException"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ConfigurationNotLoadedException.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.ConfigurationNotLoadedException"></see> class.</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.ConfigurationNotLoadedException.#ctor(System.String,System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.ConfigurationNotLoadedException"></see> class.</summary>
<param name="innerException">The error type that is the cause of the current exception or null.</param>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.CopyrightManager">
<summary>Manages the copyright string.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CopyrightManager.GetInstance">
<summary>Returns an instance of the copyright manager.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.CopyrightManager"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CopyrightManager.RequestCopyrightString(Microsoft.Maps.MapControl.PlatformServices.MapStyle,Microsoft.Maps.MapControl.Location,System.Double,Microsoft.Maps.MapControl.Core.CredentialsProvider,System.String,System.Action{Microsoft.Maps.MapControl.Core.CopyrightResult})">
<summary>Makes a request for a copyright string based on the specified map view. The map view determines the map data that is being used so that the copyright string can be constructed.</summary>
<param name="culture">The culture of the map.</param>
<param name="copyrightCallback">The name of the method to call when the request returns. The callback method must take a <see cref="T:Microsoft.Maps.MapControl.Core.CopyrightResult"></see>.</param>
<param name="style">The map style of the map view.</param>
<param name="zoomLevel">The zoom level of the map.</param>
<param name="location">The center location of the map view.</param>
<param name="credentialsProvider">A <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsProvider"></see> object that contains the key or token that authenticates map control use.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.CopyrightResult">
<summary>Contains copyright strings returned to the callback of the <see cref="M:Microsoft.Maps.MapControl.Core.CopyrightManager.RequestCopyrightString(Microsoft.Maps.MapControl.PlatformServices.MapStyle,Microsoft.Maps.MapControl.Location,System.Double,Microsoft.Maps.MapControl.Core.CredentialsProvider,System.String,System.Action{Microsoft.Maps.MapControl.Core.CopyrightResult})"></see> method.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CopyrightResult.CopyrightStrings">
<summary>Gets the copyright strings that are based on the map data represented in the map view specified in the <see cref="M:Microsoft.Maps.MapControl.Core.CopyrightManager.RequestCopyrightString(Microsoft.Maps.MapControl.PlatformServices.MapStyle,Microsoft.Maps.MapControl.Location,System.Double,Microsoft.Maps.MapControl.Core.CredentialsProvider,System.String,System.Action{Microsoft.Maps.MapControl.Core.CopyrightResult})"></see> method.</summary>
<returns>Returns <see cref="T:System.Collections.Generic.IList`1"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CopyrightResult.Culture">
<summary>Gets the culture of the copyright result, which defines the language of the copyright strings.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CopyrightResult.Location">
<summary>Gets the location of the copyright result, which defines the contents of the copyright strings.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.CopyrightResult.ZoomLevel">
<summary>Gets the zoom level of the copyright result, which defines the contents of the copyright strings.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.CredentialsInvalidException">
<summary>The exception that is thrown when the specified credentials are invalid.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CredentialsInvalidException.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsInvalidException"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CredentialsInvalidException.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsInvalidException"></see> class.</summary>
<param name="message">The error message.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.CredentialsInvalidException.#ctor(System.String,System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsInvalidException"></see> class.</summary>
<param name="innerException">The inner exception.</param>
<param name="message">The error message.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.FlatMapMode">
<summary>Represents a flattened map projection of the Earth. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.#ctor(System.Windows.Size)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.FlatMapMode"></see> class.</summary>
<param name="logicalAreaSizeInScreenSpaceAtLevel1">The size of the available screen space at the most zoomed out level.</param>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.FlatMapMode.TargetViewChanged">
<summary>Occurs when the view towards which the map is animating changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.ConstrainView(Microsoft.Maps.MapControl.Location,System.Double@,System.Double@,System.Double@)">
<summary>When overridden in a derived class, limits the values to valid margins.</summary>
<returns>Returns <see cref="T:System.Boolean"></see> indicating whether or not any of the values were changed.</returns>
<param name="pitch">The pitch of the map.</param>
<param name="zoomLevel">The zoom level of the map.</param>
<param name="center">The center location.</param>
<param name="heading">The heading of the map.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LocationRectToLogicalRect(Microsoft.Maps.MapControl.LocationRect)">
<summary>When overridden in a derived class, converts a <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see> object to a <see cref="T:System.Windows.Rect"></see>.</summary>
<returns>Returns <see cref="T:System.Windows.Rect"></see>.</returns>
<param name="boundingRectangle">The rectangle to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LocationToLogicalPoint(System.Collections.Generic.IList{Microsoft.Maps.MapControl.Location})">
<summary>When overridden in a derived class, converts a collection of locations to a collection of points on the map.</summary>
<returns>Returns <see cref="T:System.Collections.Generic.IList`1"></see>.</returns>
<param name="locations">The locations to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LocationToLogicalPoint(Microsoft.Maps.MapControl.Location)">
<summary>When overridden in a derived class, converts a location to a point on the screen.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LocationToViewportPoint(System.Collections.Generic.IList{Microsoft.Maps.MapControl.Location})">
<summary>Converts a collection of locations to viewport points.</summary>
<returns>Returns <see cref="T:System.Collections.Generic.IList`1"></see>.</returns>
<param name="locations">The locations to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)">
<summary>Converts a location to a viewport point.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LocationToViewportPoint(Microsoft.Maps.MapControl.LocationRect)">
<summary>Converts a location rectangle to a viewport point.</summary>
<returns>Returns <see cref="T:System.Windows.Rect"></see>.</returns>
<param name="boundingRectangle">The location rectangle to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LogicalPointToLocation(System.Windows.Point)">
<summary>When overridden in a derived class, converts a logical point to a location.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="logicalPoint">The logical point to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.LogicalPointToViewportPoint(System.Windows.Point)">
<summary>Converts a point on the screen to a point in the map view.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="logicalPoint">The point on the screen to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.OnKeyHeld(Microsoft.Maps.MapControl.MapKeyHeldEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyHeld"></see> event.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.OnMouseDoubleClick(Microsoft.Maps.MapControl.MapMouseEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDoubleClick"></see> event.</summary>
<param name="e">The mouse event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.OnMouseDragBox(Microsoft.Maps.MapControl.MapMouseDragEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDragBox"></see> event.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.OnMousePan(Microsoft.Maps.MapControl.MapMouseDragEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MousePan"></see> event.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.OnMouseWheel(Microsoft.Maps.MapControl.MapMouseWheelEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseWheel"></see> event.</summary>
<param name="e">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.SetView(Microsoft.Maps.MapControl.LocationRect,System.Boolean)">
<summary>Sets the map view to the specified location rectangle.</summary>
<param name="boundingRectangle">The bounding rectangle to use to set the map view.</param>
<param name="animate">A bool indicating whether to animate map navigation.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.SetView(Microsoft.Maps.MapControl.Location,System.Double,System.Double,System.Double,System.Boolean)">
<summary>Sets the map view.</summary>
<param name="animate">A bool indicating whether to animate map navigation.</param>
<param name="pitch">The pitch of the map view.</param>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The center location of the map view.</param>
<param name="heading">The heading of the map view, in degrees.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.TryLocationToViewportPoint(Microsoft.Maps.MapControl.Location,System.Windows.Point@)">
<summary>Converts the specified location to a viewport point.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point which represents the specified location.</param>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.TryViewportPointToLocation(System.Windows.Point,Microsoft.Maps.MapControl.Location@)">
<summary>Converts the specified viewport point to a location.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
<param name="location">The location which represents the specified viewport point.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.ViewportPointToLocation(System.Windows.Point)">
<summary>Converts a viewport point to a location.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.ViewportPointToLogicalPoint(System.Windows.Point)">
<summary>Converts a viewport point to a point on the screen.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.FlatMapMode.ViewportSizeChanged(System.Windows.Size)">
<summary>Enables the ability to provide custom handling when the size of the viewport changes.</summary>
<param name="viewportSize">The new viewport size.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.FlatMapMode.Center">
<summary>Gets or sets the location of the center of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.FlatMapMode.TargetCenter">
<summary>Gets the location of the center of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.FlatMapMode.TargetZoomLevel">
<summary>Gets the zoom level of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.FlatMapMode.ZoomLevel">
<summary>Gets or sets the zoom level of the map view.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.IProjectable">
<summary>Defines the base interface for all <see cref="T:System.Windows.UIElement"></see> objects that use a projection to render themselves on a map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.IProjectable.ProjectionUpdated(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Executes when the projection is changed and the conversion methods (ViewportPointToLocation and LocationToViewPortPoint) return different results.</summary>
<param name="updateLevel">The map projection update level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.IProjectable.ParentMap">
<summary>Gets the parent map of this projectable.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapBase">
<summary>Represents the abstract base map class. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.KeyDown">
<summary>When overridden in a derived class, occurs when a key is pressed down.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.KeyHeld">
<summary>When overridden in a derived class, occurs when the user presses and holds down a key or keys on the keyboard.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.KeyPress">
<summary>When overridden in a derived class, occurs when the user presses a key on the keyboard.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.KeyUp">
<summary>When overridden in a derived class, occurs when a key is released.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.LoadingError">
<summary>When overridden in a derived class, occurs when there is an error loading the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.ModeChanged">
<summary>When overridden in a derived class, occurs when the map mode changes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MouseClick">
<summary>When overridden in a derived class, occurs when the mouse is used to click the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MouseDoubleClick">
<summary>When overridden in a derived class, occurs when the mouse is used to double click the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MouseDragBox">
<summary>When overridden in a derived class, occurs when the mouse is used to drag a box around an area on the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MouseLeftButtonDown">
<summary>When overridden in a derived class, occurs when the mouse left button is pressed down.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MouseLeftButtonUp">
<summary>When overridden in a derived class, occurs when the mouse left button is released.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MouseMove">
<summary>When overridden in a derived class, occurs when the mouse moved.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MousePan">
<summary>When overridden in a derived class, occurs when the mouse is used to pan the map. The event occurs for every frame during the pan.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.MouseWheel">
<summary>When overridden in a derived class, occurs when the mouse wheel is used.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.TargetViewChanged">
<summary>When overridden in a derived class, occurs when the view towards which the map is animating changes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.TouchComplete">
<summary>When overridden in a derived class, occurs when a touch of the map on the screen finishes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.TouchPan">
<summary>When overridden in a derived class, occurs when the screen is touched and dragged to pan the map. This event occurs every frame.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.TouchRotate">
<summary>When overridden in a derived class, occurs when the map is rotated using touch. This event occurs when a touch point is dragged in a circle around a stationary touch point.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.TouchZoom">
<summary>When overridden in a derived class, occurs when the map is touched to zoom the map. The map can be zoomed in using touch by tapping quickly twice, or by sliding two touch points together. The map can be zoomed out using touch by holding the CTRL key down and tapping quickly twice, or by sliding two touch points apart.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.ViewChangeEnd">
<summary>When overridden in a derived class, occurs when the view is done changing.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.ViewChangeOnFrame">
<summary>When overridden in a derived class, occurs when the map view is changing.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapBase.ViewChangeStart">
<summary>When overridden in a derived class, occurs when the map view starts changing.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.CenterProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.Center"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.CopyrightVisibilityProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.CopyrightVisibility"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.CredentialsProviderProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.CredentialsProvider"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.CultureProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.Culture"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.HeadingProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.Heading"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.LogoVisibilityProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.LogoVisibility"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.NavigationVisibilityProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.NavigationVisibility"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.PitchProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.Pitch"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.ScaleVisibilityProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.ScaleVisibility"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MapBase.ZoomLevelProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Core.MapBase.ZoomLevel"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)">
<summary>When overridden in a derived class, converts a location to a viewport point.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnCenterChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the location of the center of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnCredentialsProviderChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the credentials provider changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnCultureChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the culture of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnHeadingChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the heading of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnOverlayVisibilityChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the visibility of the map overlay changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnPitchChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the pitch of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.OnZoomLevelChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables derived classes to provide custom handling when the zoom level of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.ProjectionUpdated(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>When overridden in a derived class, executes when the projection of the map changes.</summary>
<param name="updateLevel">The new projection update level.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.SetMode(Microsoft.Maps.MapControl.Core.MapMode,System.Boolean)">
<summary>When overridden in a derived class, sets the map mode.</summary>
<param name="transferSettings">A bool indicating whether to transfer view and animation level settings from the old map mode.</param>
<param name="newMode">The new map mode.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.SetView(Microsoft.Maps.MapControl.LocationRect)">
<summary>When overridden in a derived class, sets the map view to the specified location rectangle.</summary>
<param name="boundingRectangle">The location rectangle which the map view encompasses.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.SetView(Microsoft.Maps.MapControl.Location,System.Double)">
<summary>When overridden in a derived class, sets the map view to the specified center location and zoom level.</summary>
<param name="zoomLevel">The zoom level of the map.</param>
<param name="center">The location of the center of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.SetView(Microsoft.Maps.MapControl.Location,System.Double,System.Double)">
<summary>When overridden in a derived class, sets the map view to the specified center location, zoom level, and heading.</summary>
<param name="zoomLevel">The zoom level of the map.</param>
<param name="center">The location of the center of the map view.</param>
<param name="heading">The directional heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.SetView(Microsoft.Maps.MapControl.Location,System.Double,System.Double,System.Double)">
<summary>When overridden in a derived class, sets the map view to the specified center location, zoom level, heading, and pitch.</summary>
<param name="pitch">The pitch of the map.</param>
<param name="zoomLevel">The zoom level of the map.</param>
<param name="center">The location of the center of the map view.</param>
<param name="heading">The directional heading of the map.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.TryLocationToViewportPoint(Microsoft.Maps.MapControl.Location,System.Windows.Point@)">
<summary>When overridden in a derived class, tries to convert a location to a viewport point.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point that represents the specified location.</param>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.TryViewportPointToLocation(System.Windows.Point,Microsoft.Maps.MapControl.Location@)">
<summary>When overridden in a derived class, tries to convert a viewport point to a location.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
<param name="location">The location which represents the specified viewport point.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapBase.ViewportPointToLocation(System.Windows.Point)">
<summary>When overridden in a derived class, converts a viewport point to a location.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.AnimationLevel">
<summary>When overridden in a derived class, gets or sets the animation level of map navigation.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.AnimationLevel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.BoundingRectangle">
<summary>When overridden in a derived class, gets the bounding rectangle that defines the boundaries of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.Center">
<summary>When overridden in a derived class, gets the center location of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.Children">
<summary>Gets the child elements of the map.</summary>
<returns>Returns <see cref="T:System.Windows.Controls.UIElementCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.CopyrightVisibility">
<summary>Gets or sets the visibility of the copyright on the map.</summary>
<returns>Returns <see cref="T:System.Windows.Visibility"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.CredentialsProvider">
<summary>Gets or sets the type of credentials that are being provided.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.CredentialsProvider"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.Culture">
<summary>Gets or sets the culture used by the map.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.Heading">
<summary>When overridden in a derived class, gets or sets the directional heading of the map.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.IsDownloading">
<summary>When overridden in a derived class, gets a bool indicating whether map data is downloading.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.LogoVisibility">
<summary>Gets or sets the visibility of the logo on the map.</summary>
<returns>Returns <see cref="T:System.Windows.Visibility"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.Mode">
<summary>When overridden in a derived class, gets or sets the map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapMode"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.NavigationVisibility">
<summary>Gets or sets the visibility of the navigation bar.</summary>
<returns>Returns <see cref="T:System.Windows.Visibility"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.Pitch">
<summary>Gets or sets the pitch of the map.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.RootLayer">
<summary>Gets the base map layer.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.MapLayer"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.ScaleVisibility">
<summary>Gets or sets the visibility of the scale bar.</summary>
<returns>Returns <see cref="T:System.Windows.Visibility"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.TargetBoundingRectangle">
<summary>When overridden in a derived class, gets the bounding rectangle that defines the view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.TargetCenter">
<summary>When overridden in a derived class, gets the center location of the view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.TargetHeading">
<summary>When overridden in a derived class, gets the heading of the view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.TargetPitch">
<summary>When overridden in a derived class, gets the pitch of the view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.TargetZoomLevel">
<summary>When overridden in a derived class, gets the zoom level of the view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.ViewportSize">
<summary>When overridden in a derived class, gets the size of the viewport.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapBase.ZoomLevel">
<summary>When overridden in a derived class, gets or sets the zoom level of the map.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapConfiguration">
<summary>Contains asynchronous configuration settings. The configuration settings are loaded when an event handler is added to AsynchronousConfigurationLoaded.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapConfiguration.Loaded">
<summary>Occurs when the configuration is loaded.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapConfiguration.GetSection(System.String,System.String,System.String,Microsoft.Maps.MapControl.Core.MapConfigurationCallback)">
<summary>Loads the configuration. If configuration is already loaded, this method calls the callback function without trying to load the configuration.</summary>
<param name="version">The version string of the configuration.</param>
<param name="callback">The callback function to call after the configuration is loaded.</param>
<param name="sectionName">The name of the configuration section to load.</param>
<param name="culture">The culture of the configuration.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapConfiguration.GetSection(System.String,System.String,System.String,Microsoft.Maps.MapControl.Core.MapConfigurationCallback,System.Object)">
<summary>Loads the configuration. If configuration is already loaded, this method calls the callback function without trying to load the configuration.</summary>
<param name="version">The version string of the configuration.</param>
<param name="callback">The callback function to call after the configuration is loaded.</param>
<param name="sectionName">The name of the configuration section.</param>
<param name="userState">An object that stores user defined information. This object is returned in the callback function.</param>
<param name="culture">The culture of the configuration.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapConfiguration.Load(System.Uri)">
<summary>Loads the configuration from the configuration service.</summary>
<param name="address">The URI that contains the configuration.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapConfiguration.Load(System.Xml.XmlReader)">
<summary>Loads the configuration using the xml provided.</summary>
<param name="config">The configuration xml to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapConfiguration.SetServiceUri(System.Uri)">
<summary>Sets the URI of the configuration service.</summary>
<param name="address">The URI of the configuration service.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapConfigurationCallback">
<summary>Represents the callback function to call when the map configuration has loaded.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapConfigurationLoadedEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Core.MapConfiguration.Loaded"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapConfigurationLoadedEventArgs.#ctor(System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MapConfigurationLoadedEventArgs"></see> class.</summary>
<param name="error">The error that occurred when the configuration was loaded.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapConfigurationLoadedEventArgs.Error">
<summary>Gets the error that occurred when the configuration was loaded.</summary>
<returns>Returns <see cref="T:System.Exception"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapConfigurationSection">
<summary>Represents a section of the map configuration.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapConfigurationSection.Contains(System.String)">
<summary>Returns a bool indicating if the configuration setting identified by the specified key is in the map configuration.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="key">The key to use.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapConfigurationSection.Item(System.String)">
<summary>Gets the configuration setting identified by the specified key.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
<param name="key">The configuration setting key.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapCore">
<summary>Represents the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MapCore"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.KeyDown">
<summary>Occurs when a key is pressed down.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.KeyHeld">
<summary>Occurs when the user presses and holds down a key or keys on the keyboard.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.KeyPress">
<summary>Occurs when the user presses a key on the keyboard.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.KeyUp">
<summary>Occurs when a key is released.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.LoadingError">
<summary>Occurs when there is an error loading the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.ModeChanged">
<summary>Occurs when the map mode changes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MouseClick">
<summary>Occurs when the mouse is used to click the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDoubleClick">
<summary>Occurs when the mouse is used to double click the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MouseDragBox">
<summary>Occurs when the mouse is used to drag a box around an area on the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MouseLeftButtonDown">
<summary>Occurs when the left mouse button is pressed down.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MouseLeftButtonUp">
<summary>Occurs when the left mouse button is released.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MouseMove">
<summary>Occurs when the mouse moves.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MousePan">
<summary>Occurs when the mouse is used to pan the map. The event occurs for every frame during the pan.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.MouseWheel">
<summary>Occurs when the mouse wheel is used.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.TargetViewChanged">
<summary>Occurs when the view towards which the map is animating changes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.TouchComplete">
<summary>Occurs when a touch of the map on the screen finishes.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.TouchPan">
<summary>Occurs when the screen is touched and dragged to pan the map. This event occurs every frame.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.TouchRotate">
<summary>Occurs when the map is rotated using touch. This event occurs when a touch point is dragged in a circle around a stationary touch point.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.TouchZoom">
<summary>Occurs when the map is touched to zoom the map. The map can be zoomed in using touch by tapping quickly twice, or by sliding two touch points together. The map can be zoomed out using touch by holding the CTRL key down and tapping quickly twice, or by sliding two touch points apart.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.ViewChangeEnd">
<summary>Occurs when the view is done changing.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.ViewChangeOnFrame">
<summary>Occurs for every frame of a view change.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.MapCore.ViewChangeStart">
<summary>Occurs when the view starts changing.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the elements to fit the given <see cref="T:System.Windows.Size"></see>.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
<param name="finalSize">The size in which to fit the elements.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)">
<summary>Converts a location to a viewport point.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.MeasureOverride(System.Windows.Size)">
<summary>Measures the map elements so that they fit within the map <see cref="T:System.Windows.Size"></see>.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
<param name="availableSize">The available size for the map elements.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnCenterChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the location of the center of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnCredentialsProviderChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the credentials provider changes.</summary>
<param name="eventArgs">The event data to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnCultureChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the culture of the map changes.</summary>
<param name="eventArgs">The event data to use.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnFirstFrame">
<summary>Enables derived classes to provide custom handling on the first map frame.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnHeadingChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the directional heading of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnKeyDown(System.Windows.Input.KeyEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyDown"></see> keyboard event.</summary>
<param name="e">The event data for the KeyDown event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnKeyUp(System.Windows.Input.KeyEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.KeyUp"></see> keyboard event.</summary>
<param name="e">The event data for the KeyUp event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseLeftButtonDown"></see> mouse event.</summary>
<param name="e">The event data for the mouse event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseLeftButtonUp"></see> mouse event.</summary>
<param name="e">The event data for the mouse event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnMouseMove(System.Windows.Input.MouseEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseMove"></see> mouse event.</summary>
<param name="e">The event data for the mouse event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnMouseWheel(System.Windows.Input.MouseWheelEventArgs)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapCore.MouseWheel"></see> mouse event.</summary>
<param name="e">The event data for the mouse event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnPitchChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the pitch of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.OnZoomLevelChanged(System.Windows.DependencyPropertyChangedEventArgs)">
<summary>Enables the ability to provide custom handling when the zoom level of the map changes.</summary>
<param name="eventArgs">The event arguments.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.ProjectionUpdated(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Enables the ability to provide custom handling when the projection of the map changes.</summary>
<param name="updateLevel">The new projection update level.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.SetMode(Microsoft.Maps.MapControl.Core.MapMode,System.Boolean)">
<summary>Sets the map mode.</summary>
<param name="transferSettings">A bool indicating whether to transfer view and animation level information from the original map mode.</param>
<param name="newMode">The new map mode.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.SetView(Microsoft.Maps.MapControl.LocationRect)">
<summary>Sets the map view using the specified location rectangle.</summary>
<param name="boundingRectangle">The rectangle that defines the boundaries of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.SetView(Microsoft.Maps.MapControl.Location,System.Double)">
<summary>Sets the map view to the specified center location and zoom level.</summary>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The location of the center of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.SetView(Microsoft.Maps.MapControl.Location,System.Double,System.Double)">
<summary>Sets the map view to the specified center location, zoom level, and directional heading.</summary>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The location of the center of the map view.</param>
<param name="heading">The directional heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.SetView(Microsoft.Maps.MapControl.Location,System.Double,System.Double,System.Double)">
<summary>Sets the map view to the specified center location, zoom level, heading, and pitch.</summary>
<param name="pitch">The pitch of the map view.</param>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The location of the center of the map view.</param>
<param name="heading">The heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.TryLocationToViewportPoint(Microsoft.Maps.MapControl.Location,System.Windows.Point@)">
<summary>Tries to converts a location to a viewport point.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point that represents the location.</param>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.TryViewportPointToLocation(System.Windows.Point,Microsoft.Maps.MapControl.Location@)">
<summary>Tries to convert a viewport point to a location.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
<param name="location">The location that represents the viewport point.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapCore.ViewportPointToLocation(System.Windows.Point)">
<summary>Converts the specified viewport point to a location.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.AnimationLevel">
<summary>Gets or sets the animation level of the map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.AnimationLevel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.BoundingRectangle">
<summary>Gets the rectangle that defines the boundaries of the map view.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.IsDownloading">
<summary>Gets a bool indicating whether map data is downloading.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.LoadingException">
<summary>Gets the exception that occurred when loading the map.</summary>
<returns>Returns <see cref="T:System.Exception"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.Mode">
<summary>Gets or sets the map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapMode"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.TargetBoundingRectangle">
<summary>Gets the bounding rectangle that defines the boundaries of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.TargetCenter">
<summary>Gets the center location of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.TargetHeading">
<summary>Gets the heading of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.TargetPitch">
<summary>Gets the pitch of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.TargetZoomLevel">
<summary>Gets the zoom level of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.UseInertia">
<summary>Gets or sets whether to use the inertia animation effect during map navigation.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapCore.ViewportSize">
<summary>Gets the size of the viewport.</summary>
<returns>Returns <see cref="T:System.Windows.Size"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MapShapeBase">
<summary>Represents the base class for a shape on the map. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapShapeBase.#ctor(System.Windows.Shapes.Shape)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MapShapeBase"></see> class.</summary>
<param name="shape">The shape to initialize on the map.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapShapeBase.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the shape to fit on the map.</summary>
<returns>Returns the actual <see cref="T:System.Windows.Size"></see> used.</returns>
<param name="finalSize">The final size of the shape to fit.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapShapeBase.MeasureOverride(System.Windows.Size)">
<summary>Measures the shape to fit the available size.</summary>
<returns>Returns the actual <see cref="T:System.Windows.Size"></see> needed by the shape and its children.</returns>
<param name="availableSize">The available size of the shape.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapShapeBase.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MapShapeBase.ProjectionUpdated(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Enables the ability to provide custom handling when the map projection changes.</summary>
<param name="updateLevel">The new projection update level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.EncapsulatedShape">
<summary>Gets the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Shapes.Shape"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.Fill">
<summary>Gets or sets the fill of the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.Locations">
<summary>Gets or sets the locations that define the vertices of the shape.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.Opacity">
<summary>Gets or sets the opacity of the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.OpacityMask">
<summary>Gets or sets the opacity mask for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.ParentMap">
<summary>Gets the parent map of the shape.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.ProjectedPoints">
<summary>When overridden in a derived class, gets or sets the projected points of the shape. Use this property to arrange the points of derived classes.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PointCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.Stroke">
<summary>Gets or sets the stroke color of the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeDashArray">
<summary>Gets or sets the StrokeDashArray value of the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.DoubleCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeDashCap">
<summary>Gets or sets the StrokeDashCap value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineCap"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeDashOffset">
<summary>Gets or sets the StrokeDashOffset value for the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeEndLineCap">
<summary>Gets or sets the StrokeEndLineCap value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineCap"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeLineJoin">
<summary>Gets or sets the StrokeLineJoin value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineJoin"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeMiterLimit">
<summary>Gets or sets the StrokeMiterLimit value for the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeStartLineCap">
<summary>Gets or sets the StrokeStartLineCap value for the shape.</summary>
<returns>Returns <see cref="T:System.Windows.Media.PenLineCap"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MapShapeBase.StrokeThickness">
<summary>Gets or sets the StrokeThickness value for the shape.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MercatorMode">
<summary>Represents a Mercator map mode.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MercatorMode"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.ConstrainView(Microsoft.Maps.MapControl.Location,System.Double@,System.Double@,System.Double@)">
<summary>Modifies the given parameters to valid values based on the mode limitations.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if any of the values were changed.</returns>
<param name="pitch">The pitch of the view to modify.</param>
<param name="zoomLevel">The zoom level of the view to modify.</param>
<param name="center">The location of the center of the view.</param>
<param name="heading">The directional heading of the view to modify.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.GetZoomRange(Microsoft.Maps.MapControl.Location)">
<summary>When overridden in a derived class, gets the zoom range of the specified location in this mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
<param name="center">The location of the center of the view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.LocationRectToLogicalRect(Microsoft.Maps.MapControl.LocationRect)">
<summary>Converts a location rectangle to a rectangle in logical space.</summary>
<returns>Returns <see cref="T:System.Windows.Rect"></see>.</returns>
<param name="boundingRectangle">The location rectangle to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.LocationToLogicalPoint(System.Collections.Generic.IList{Microsoft.Maps.MapControl.Location})">
<summary>Converts the collection of locations to logical points.</summary>
<returns>Returns <see cref="T:System.Collections.Generic.IList`1"></see>.</returns>
<param name="locations">The locations to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.LocationToLogicalPoint(Microsoft.Maps.MapControl.Location)">
<summary>Converts the specified location to a point.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.LogicalPointToLocation(System.Windows.Point)">
<summary>Converts a logical point to a location in the Mercator map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="logicalPoint">The logical point to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorMode.OnProjectionChanged(Microsoft.Maps.MapControl.Core.ProjectionUpdateLevel)">
<summary>Enables the ability to provide custom handling when the projection changes.</summary>
<param name="updateLevel">The new projection update level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.Attributions">
<summary>Gets the map mode imagery attributions.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.AttributionCollection"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.BoundingRectangle">
<summary>Gets the location rectangle that defines the boundaries of the mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.Heading">
<summary>Gets the directional heading of the map view.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.HeadingRange">
<summary>Gets the heading range supported for the Mercator map mode.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.Pitch">
<summary>Gets the pitch of the current map view.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.PitchRange">
<summary>Gets the valid range of the pitch.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.Scale">
<summary>Gets or sets the scale of the map.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.TargetBoundingRectangle">
<summary>Gets the rectangle that defines the boundaries of the map view towards which the map is animating.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.LocationRect"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.TargetScale">
<summary>Gets the scale of the map towards which the map is animating.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MercatorMode.ZoomRange">
<summary>Gets the range of the valid zoom levels.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MercatorUtility">
<summary>Contains helper methods for Mercator projection calculations.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MercatorUtility.EarthCircumferenceInMeters">
<summary>Specifies the circumference of the Earth, in meters.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MercatorUtility.EarthRadiusInMeters">
<summary>Specifies the radius of the Earth, in meters.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Core.MercatorUtility.MercatorLatitudeLimit">
<summary>Specifies the maximum allowed latitude in a Mercator projection.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorUtility.DegreesToRadians(System.Double)">
<summary>Converts degrees to radians.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
<param name="deg">The degrees to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorUtility.LocationToLogicalPoint(Microsoft.Maps.MapControl.Location)">
<summary>Converts a location to a logical <see cref="T:System.Windows.Point"></see> in a Mercator projection.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorUtility.LogicalPointToLocation(System.Windows.Point)">
<summary>Converts a <see cref="T:System.Windows.Point"></see> to a <see cref="T:Microsoft.Maps.MapControl.Location"></see> in a Mercator projection.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="logicalPoint">The logical point to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorUtility.ScaleToZoom(System.Windows.Size,System.Double,Microsoft.Maps.MapControl.Location)">
<summary>Calculates the zoom level of the specified location.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
<param name="location">The center location to use. The scale changes depending on the latitude, so you need to specify what location the scale is in reference to.</param>
<param name="logicalAreaSizeInScreenSpaceAtLevel1">The available screen size. This parameter specifies the width and height (in pixels) of zoom level 1. This should be 512x512, unless you are using your own non-standard tiles.</param>
<param name="scale">The scale of the map, in meters per pixel.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MercatorUtility.ZoomToScale(System.Windows.Size,System.Double,Microsoft.Maps.MapControl.Location)">
<summary>Calculates the scale based on the specified location and zoom level.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
<param name="logicalAreaSizeInScreenSpaceAtLevel1">The available screen size. This parameter specifies the width and height (in pixels) of zoom level 1. This should be 512x512, unless you are using your own non-standard tiles.</param>
<param name="zoomLevel">The zoom level to use.</param>
<param name="location">The center location to use.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource">
<summary>Represents a tile source for a multi-scale image retrieved from a Mercator tile source.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource.#ctor(Microsoft.Maps.MapControl.TileSource,System.Int32,System.Int32)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource"></see> class, specifying a tile source, and the dimensions of each tile.</summary>
<param name="tileWidth">The width of a tile.</param>
<param name="tileSource">The tile source to use to display the multi-scale image.</param>
<param name="tileHeight">The height of a tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource.#ctor(Microsoft.Maps.MapControl.Core.TileSourceCollection,System.Int32,System.Int32)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource"></see> class, specifying tile sources, and the dimensions of each tile.</summary>
<param name="tileWidth">The width of a tile.</param>
<param name="tileSources">A collection of tile sources used to display the multi-scale image.</param>
<param name="tileHeight">The height of a tile.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource.GetTileLayers(System.Int32,System.Int32,System.Int32,System.Collections.Generic.IList{System.Object})">
<summary>Retrieves the tile layers of the multi-scale image.</summary>
<param name="tileLevel">The tile level.</param>
<param name="tilePositionX">The x-axis position of the tile layer.</param>
<param name="tileImageLayerSources">A collection of tile layer image sources.</param>
<param name="tilePositionY">The y-axis position of the tile layer.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource.MinTileZoomLevel">
<summary>Gets or sets the minimum zoom level for which to download tiles.</summary>
<returns>Returns <see cref="T:System.Int32"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Core.MultiScaleQuadTileSource.TileSources">
<summary>Gets the collection of tile sources for the multi-scale image.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.TileSourceCollection"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.NullMode">
<summary>Represents the null map mode.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.NullMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.NullMode"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.NullMode.TargetViewChanged">
<summary>Occurs when the view towards which the map is animating changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.NullMode.LocationToViewportPoint(Microsoft.Maps.MapControl.Location)">
<summary>Converts a location to a viewport point.</summary>
<returns>Returns <see cref="T:System.Windows.Point"></see>.</returns>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.NullMode.SetView(Microsoft.Maps.MapControl.LocationRect,System.Boolean)">
<summary>Sets the map view to the specified location rectangle.</summary>
<param name="boundingRectangle">The location rectangle that defines the boundaries of the map view.</param>
<param name="animate">A bool indicating whether to animate map navigation.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.NullMode.SetView(Microsoft.Maps.MapControl.Location,System.Double,System.Double,System.Double,System.Boolean)">
<summary>Sets the map view to the given center, zoom level, heading, and pitch.</summary>
<param name="animate">A bool indicating whether to animate map navigation.</param>
<param name="pitch">The pitch of the map view.</param>
<param name="zoomLevel">The zoom level of the map view.</param>
<param name="center">The location of the center of the map view.</param>
<param name="heading">The directional heading of the map view.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.NullMode.TryLocationToViewportPoint(Microsoft.Maps.MapControl.Location,System.Windows.Point@)">
<summary>Tries to convert the specified location to a viewport point.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point which is the converted location.</param>
<param name="location">The location to convert.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.NullMode.TryViewportPointToLocation(System.Windows.Point,Microsoft.Maps.MapControl.Location@)">
<summary>Tries to convert the specified viewport point to a location.</summary>
<returns>Returns a <see cref="T:System.Boolean"></see> indicating if the conversion was successful.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
<param name="location">The location which is the converted viewport point.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.NullMode.ViewportPointToLocation(System.Windows.Point)">
<summary>Converts the specified viewport point to a location.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Location"></see>.</returns>
<param name="viewportPoint">The viewport point to convert.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.TileSourceCollection">
<summary>Contains a collection of <see cref="T:Microsoft.Maps.MapControl.Core.TileSource"></see> objects.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.TileSourceCollection.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.TileSourceCollection"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Core.TileSourceCollection.CollectionItemPropertyChanged">
<summary>Occurs when a property of one of the <see cref="T:Microsoft.Maps.MapControl.Core.TileSource"></see> objects changes.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Core.UriSchemeNotSupportedException">
<summary>Represents the exception that is thrown when the URI scheme used to host the map control is not supported.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.UriSchemeNotSupportedException.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.UriSchemeNotSupportedException"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.UriSchemeNotSupportedException.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.UriSchemeNotSupportedException"></see> class.</summary>
<param name="message">The error message.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Core.UriSchemeNotSupportedException.#ctor(System.String,System.Exception)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Core.UriSchemeNotSupportedException"></see> class.</summary>
<param name="innerException">The inner exception that caused the error.</param>
<param name="message">The error message.</param>
</member>
<member name="N:Microsoft.Maps.MapControl.Design">
<summary>The Microsoft.Maps.MapControl.Design namespace contains classes used by Silverlight design tools, such as type converters.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Design.ApplicationIdCredentialsProviderConverter">
<summary>Contains methods that parse a string into an <see cref="T:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.ApplicationIdCredentialsProviderConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.ApplicationIdCredentialsProviderConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.ApplicationIdCredentialsProviderConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The type of the object to convert.</param>
<param name="context">The context of the conversion.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.ApplicationIdCredentialsProviderConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the specified object to an <see cref="T:Microsoft.Maps.MapControl.ApplicationIdCredentialsProvider"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The context to use in the conversion.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Design.MapModeConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.Core.MapMode"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.MapModeConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.MapModeConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.MapModeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.Core.MapMode"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.MapModeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts the given object to a <see cref="T:Microsoft.Maps.MapControl.Core.MapMode"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Design.RangeConverter">
<summary>Contains methods that parse a string into a <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.RangeConverter.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Design.RangeConverter"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.RangeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
<summary>Determines whether or not the given type can be converted to a <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
<param name="sourceType">The object type from which to convert.</param>
<param name="context">The format context provider of the type.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Design.RangeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
<summary>Converts a given object to a <see cref="T:Microsoft.Maps.MapControl.Range`1"></see>.</summary>
<returns>Returns <see cref="T:System.Object"></see>.</returns>
<param name="context">The format context provider of the type.</param>
<param name="value">The object to convert.</param>
<param name="culture">The culture to use in the conversion.</param>
</member>
<member name="N:Microsoft.Maps.MapControl.Navigation">
<summary>The Microsoft.Maps.MapControl.Navigation namespace contains classes that represent the default map navigation controls.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.ChangeMapModeButton">
<summary>Represents one of the buttons to change the map mode. By default the button is a radio button.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ChangeMapModeButton.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ChangeMapModeButton"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ChangeMapModeButton.#ctor(Microsoft.Maps.MapControl.Core.MapMode,System.Object)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ChangeMapModeButton"></see> class.</summary>
<param name="content">The content of the button.</param>
<param name="mode">The map mode of the button.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ChangeMapModeButton.#ctor(Microsoft.Maps.MapControl.Core.MapMode,System.Object,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ChangeMapModeButton"></see> class.</summary>
<param name="content">The content of the button.</param>
<param name="tooltip">The tooltip of the button. </param>
<param name="mode">The map mode of the button.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.ChangeMapModeCommand">
<summary>Changes the map mode of the navigation bar.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ChangeMapModeCommand.#ctor(Microsoft.Maps.MapControl.Core.MapMode)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ChangeMapModeCommand"></see> class.</summary>
<param name="mode">The new map mode.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ChangeMapModeCommand.Execute(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Runs when a map mode change command occurs.</summary>
<param name="map">The map for which to change the mode.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ChangeMapModeCommand.GetStatus(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Retrieves the map mode status of the specified map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus"></see>.</returns>
<param name="map">The map for which to check status.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.CommandButton">
<summary>Represents a button that executes a command when clicked.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandButton.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandButton"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandButton.#ctor(Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase,System.Object)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandButton"></see> class.</summary>
<param name="content">The content of the button.</param>
<param name="command">The command to execute when the button is clicked.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandButton.#ctor(Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase,System.Object,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandButton"></see> class.</summary>
<param name="content">The content of the button.</param>
<param name="command">The command to execute when the button is clicked.</param>
<param name="tooltip">The tooltip of the button.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandButton.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a template is applied to the button.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.CommandRadioButton">
<summary>Represents a radio button that executes a command when clicked.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandRadioButton.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandRadioButton"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandRadioButton.#ctor(Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase,System.Object)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandRadioButton"></see> class.</summary>
<param name="content">The content of the radio button.</param>
<param name="command">The command to execute when the radio button is clicked.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandRadioButton.#ctor(Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase,System.Object,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandRadioButton"></see> class.</summary>
<param name="content">The content of the button.</param>
<param name="command">The command to execute when the radio button is clicked.</param>
<param name="tooltip">The tooltip of the button.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandRadioButton.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a template is applied to the radio button.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.CommandSeparator">
<summary>Represents the separator between commands.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandSeparator.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandSeparator"></see> class.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.CommandToggleButton">
<summary>Represents a toggle button that executes a command when clicked.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandToggleButton.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandToggleButton"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandToggleButton.#ctor(Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase,System.Object)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandToggleButton"></see> class.</summary>
<param name="content">The content of the button.</param>
<param name="command">The command to execute when the toggle button is clicked.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandToggleButton.#ctor(Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase,System.Object,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CommandToggleButton"></see> class.</summary>
<param name="content">The content of the button.</param>
<param name="command">The command to execute when the toggle button is clicked.</param>
<param name="tooltip">The tooltip of the toggle button.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CommandToggleButton.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a template is applied to the toggle button.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.Compass">
<summary>Represents the compass control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.Compass.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.Compass"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.Compass.DragCompleted">
<summary>Occurs when the user stops dragging the center of the compass control.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.Compass.DragDelta">
<summary>Occurs when the user drags the center of the compass control to pan the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.Compass.HeadingChangeRequested">
<summary>Occurs when the heading of the compass changes.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.Compass.HeadingProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Navigation.Compass.Heading"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.Compass.ShowDirectionalButtonsProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Navigation.Compass.ShowDirectionalButtons"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.Compass.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a template is applied to the compass control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.Compass.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.Compass.OnHeadingChangeRequested(System.Double)">
<summary>Raises the <see cref="E:Microsoft.Maps.MapControl.Navigation.Compass.HeadingChangeRequested"></see> event.</summary>
<param name="newValue">The new heading.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.Compass.UpdateVisualState">
<summary>Updates the visual state of the control.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.Compass.Heading">
<summary>Gets or sets the directional heading of the compass.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.Compass.ShowDirectionalButtons">
<summary>Gets or sets whether to show directional heading buttons.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.CompassDragEventArgs">
<summary>Provides data for the <see cref="E:Microsoft.Maps.MapControl.Navigation.Compass.DragDelta"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CompassDragEventArgs.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CompassDragEventArgs"></see> class.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.CompassDragEventArgs.HorizontalChange">
<summary>Gets the amount of horizontal change that occurred during the pan.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.CompassDragEventArgs.VerticalChange">
<summary>Gets the amount of vertical change that occurred during the pan.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.CompassPanel">
<summary>Represents a custom panel used inside the template of a <see cref="T:Microsoft.Maps.MapControl.Navigation.Compass"></see> control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CompassPanel.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.CompassPanel"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.CompassPanel.ElementHeadingProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Navigation.CompassPanel.ElementHeading"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.CompassPanel.HeadingProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Navigation.CompassPanel.Heading"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CompassPanel.ArrangeOverride(System.Windows.Size)">
<summary>Arranges the elements of the compass panel. </summary>
<returns>Returns the actual <see cref="T:System.Windows.Size"></see> used by the panel.</returns>
<param name="finalSize">The final size available to the panel.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CompassPanel.GetElementHeading(System.Windows.DependencyObject)">
<summary>Retrieves the directional heading of a child element in the panel.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
<param name="element">The element for which to retrieve the heading.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CompassPanel.MeasureOverride(System.Windows.Size)">
<summary>Measures the compass panel.</summary>
<returns>Returns the <see cref="T:System.Windows.Size"></see> required by the panel.</returns>
<param name="availableSize">The proposed size available for the panel.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CompassPanel.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.CompassPanel.SetElementHeading(System.Windows.DependencyObject,System.Double)">
<summary>Sets the directional heading of a child element in the panel to a specified value.</summary>
<param name="value">The directional heading value to use for the specified element.</param>
<param name="element">The element whose heading to set.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.CompassPanel.Heading">
<summary>Gets or sets the directional heading of the compass panel.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.MapControlCompass">
<summary>Represents a customized or localized <see cref="T:Microsoft.Maps.MapControl.Navigation.Compass"></see> control that can be added to a map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.MapControlCompass.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.MapControlCompass"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.MapControlCompass.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a template is applied to the map control compass.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.MapControlCompass.OnCultureChanged">
<summary>Enables the ability to provide custom handling when the culture of the map changes.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.MapControlCompass.Culture">
<summary>Gets or sets the culture of the map control compass.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar">
<summary>Represents a customized or localized <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> control that can be added to a map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar.TemplateApplied">
<summary>Occurs when a template is applied to the map control navigation bar.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a template is applied to the map control navigation bar.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar.OnCultureChanged">
<summary>Enables the ability to provide custom handling when the culture of the map changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar.OnIsExpandedChanged(System.Boolean)">
<summary>Enables the ability to provide custom handling when the map control navigation bar is expanded or minimized.</summary>
<param name="expanded">A bool indicating if the map control navigation bar is expanded.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.MapControlNavigationBar.Culture">
<summary>Gets or sets the culture of the map control navigation bar.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.NavigationBar">
<summary>Represents the abstract base control used to navigate a <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see> object. This class must be inherited.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.NavigationBar.Collapsed">
<summary>Occurs when the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> is hidden.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.NavigationBar.Expanded">
<summary>Occurs when the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> is unhidden.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.NavigationBar.TemplateApplied">
<summary>When overridden in a derived class, occurs when a template is applied to the navigation bar.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.NavigationBar.CommandProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.Command"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.NavigationBar.IsExpandedProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.IsExpanded"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.ChangeMapHeading(System.Double)">
<summary>When overridden in a derived class, changes the direction of the <see cref="T:Microsoft.Maps.MapControl.Navigation.Compass"></see>.</summary>
<param name="heading">The new directional heading of the navigation bar’s compass.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.GetCommand(System.Windows.DependencyObject)">
<summary>Retrieves the command attached to the specified <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> element.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.INavigationBarCommand"></see>.</returns>
<param name="element">The element to which the command is attached.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a template is applied to the control using the <see cref="M:System.Control.ApplyTemplate"></see> method.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.OnIsExpandedChanged(System.Boolean)">
<summary>Enables derived classes to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.IsExpanded"></see> property is changed.</summary>
<param name="expanded">A bool indicating whether the navigation bar is expanded.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.OnMouseEnter(System.Windows.Input.MouseEventArgs)">
<summary>Raises the <see cref="E:System.Windows.UIElement.MouseEnter"></see> event when the mouse hovers over the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</summary>
<param name="e">Event data for the <see cref="E:System.Windows.UIElement.MouseEnter"></see> event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.OnMouseLeave(System.Windows.Input.MouseEventArgs)">
<summary>Raises the <see cref="E:System.Windows.UIElement.MouseLeave"></see> event when the mouse moves away from the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</summary>
<param name="e">Event data for the <see cref="E:System.Windows.UIElement.MouseLeave"></see> event.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.PanMap(System.Double,System.Double)">
<summary>When overridden in a derived class, pans the map using the specified horizontal and vertical amounts.</summary>
<param name="verticalOffset">The amount of vertical movement.</param>
<param name="horizontalOffset">The amount of horizontal movement.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.RegisterCommandButton(System.Windows.Controls.Primitives.ButtonBase)">
<summary>Registers a command button that updates the status of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> when the map changes its state.</summary>
<param name="button">The button to be registered.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.SetCommand(System.Windows.DependencyObject,Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase)">
<summary>Assigns a command to a specific navigation bar element.</summary>
<param name="command">The command to assign to the element.</param>
<param name="element">The navigation bar element.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.ShouldEnableMapRotation">
<summary>When overridden in a derived class, determines whether the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> compass shows directional buttons that rotate the map direction.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.SynchronizeCommandButtonStates">
<summary>Synchronizes the buttons state on the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> with the user controlled map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.SynchronizeStatesOnEndViewChange">
<summary>When overridden in a derived class, synchronizes the state of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> when the map raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapBase.ViewChangeEnd"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.SynchronizeStatesOnModeChange">
<summary>When overridden in a derived class, synchronizes the state of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> when the map raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapBase.ModeChanged"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.SynchronizeStatesOnViewChange">
<summary>When overridden in a derived class, synchronizes the state of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> when the map raises the <see cref="E:Microsoft.Maps.MapControl.Core.MapBase.ViewChangeStart"></see> event.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.UpdateVisualState">
<summary>When overridden in a derived class, updates the visual state of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBar.ZoomMap(System.Double)">
<summary>When overridden in a derived class, zooms the user controlled map to the specified zoom level.</summary>
<param name="level">The target zoom level.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.Compass">
<summary>Gets the <see cref="T:Microsoft.Maps.MapControl.Navigation.Compass"></see> object embedded in the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> control.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.Compass"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.HorizontalLeftPanel">
<summary>When overridden in a derived class, gets or sets the horizontal left panel of the navigation bar.</summary>
<returns>Returns <see cref="T:System.Windows.Controls.Panel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.HorizontalPanel">
<summary>When overridden in a derived class, gets or sets the horizontal panel of the navigation bar.</summary>
<returns>Returns <see cref="T:System.Windows.Controls.Panel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.HorizontalRightPanel">
<summary>When overridden in a derived class, gets or sets the horizontal right panel of the navigation bar.</summary>
<returns>Returns <see cref="T:System.Windows.Controls.Panel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.IsExpanded">
<summary>Gets or sets a value determining whether the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> is shown or hidden.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.IsMouseOver">
<summary>Gets a whether the mouse is hovering over the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.TargetMap">
<summary>Gets or sets the <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see> type object controlled by this <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Core.MapBase"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.VerticalPanel">
<summary>When overridden in a derived class, gets or sets the vertical panel of the navigation bar. By default this panel contains the zoom buttons.</summary>
<returns>Returns <see cref="T:System.Windows.Controls.Panel"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.NavigationBar.ZoomSlider">
<summary>Gets the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> control in the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase">
<summary>Represents a command that is executed when a control on the navigation bar is invoked.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase.Execute(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>When overridden in a derived class, executes when a button on the navigation bar is invoked.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandBase.GetStatus(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>When overridden in a derived class, retrieves the status of a command that is associated with a navigation bar button.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus">
<summary>Defines the state of a button on a <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> control.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus.Checked">
<summary>The button is checked (enabled).</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus.Disabled">
<summary>The button is not checked (disabled).</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus.Hidden">
<summary>The button is hidden.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus.Normal">
<summary>The button is in a normal state.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.RotateMapCommand">
<summary>Represents the command that rotates a Birdseye map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.RotateMapCommand.#ctor(System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.RotateMapCommand"></see> class.</summary>
<param name="clockwise">A bool indicating whether to rotate the map clockwise.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.RotateMapCommand.Execute(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Executes when the button to rotate the map is invoked.</summary>
<param name="map">The map to rotate.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.RotateMapCommand.GetStatus(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Retrieves the status of the rotate map command invoked from the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> control.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus"></see>.</returns>
<param name="map">The map controlled by the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.ToggleLabelsCommand">
<summary>Toggles map labels for modes that support them.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ToggleLabelsCommand.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ToggleLabelsCommand"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ToggleLabelsCommand.Execute(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Executes when the labels button on the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> is toggled.</summary>
<param name="map">The map on which to turn map labels on or off.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ToggleLabelsCommand.GetStatus(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Retrieves the status of the labels button for the specified map.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus"></see>.</returns>
<param name="map">The map on which to turn map labels on or off.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.TrackMark">
<summary>Represents the vertical markings in a <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.TrackMark.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.TrackMark"></see> class.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.ZoomMapCommand">
<summary>Represents the command that adjusts the position of the slider on the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> control on the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomMapCommand.#ctor(System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomMapCommand"></see> class.</summary>
<param name="zoomIn">A bool indicating whether the command zooms in to the map. This value is true if the command zooms in and false if the command zooms out.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomMapCommand.Execute(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Executes when a zoom (in our out) is invoked.</summary>
<param name="map">The map to zoom.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomMapCommand.GetStatus(Microsoft.Maps.MapControl.Core.MapBase)">
<summary>Retrieves the status of the zoom command.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBarCommandStatus"></see>.</returns>
<param name="map">The map to zoom.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider">
<summary>Represents the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> element of the <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see> control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> class.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Navigation.ZoomSlider.DragCompleted">
<summary>Occurs when a drag of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> is completed.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Navigation.ZoomSlider.TrackMarkStyleProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Navigation.ZoomSlider.TrackMarkStyle"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.NotifyValueChange(System.Double)">
<summary>Raises a <see cref="E:System.Windows.Controls.Primitives.RangeBase.ValueChanged"></see> event without changing the actual value of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see>.</summary>
<param name="newValue">A <see cref="T:System.Double"></see> specifying the new zoom slider value.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a new control template is applied to the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> control using the <see cref="M:System.Windows.Controls.Control.ApplyTemplate"></see> method.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.OnMaximumChanged(System.Double,System.Double)">
<summary>Enables the ability to provide custom handling when the maximum value of the zoom slider is changed.</summary>
<param name="oldMaximum">The old maximum value.</param>
<param name="newMaximum">The new maximum value.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.OnMinimumChanged(System.Double,System.Double)">
<summary>Enables the ability to provide custom handling when the minimum value of the zoom slider is changed.</summary>
<param name="newMinimum">The new minimum value.</param>
<param name="oldMinimum">The old minimum value.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.OnValueChanged(System.Double,System.Double)">
<summary>Enables the ability to provide custom handling when the <see cref="T:System.Windows.Controls.Primitives.RangeBase.Value"></see> property of the <see cref="T:Microsoft.Maps.MapControl.Navigation.ZoomSlider"></see> control is changed.</summary>
<param name="oldValue">The old value of the zoom slider.</param>
<param name="newValue">The new value of the zoom slider.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.UpdateThumbPosition">
<summary>When overridden in a derived class, updates the position of the slider.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Navigation.ZoomSlider.UpdateTrackMarks">
<summary>When overridden in a derived class, updates the track marks of the zoom slider.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.ZoomSlider.IsDraggingThumb">
<summary>Gets a value indicating whether the slider of the zoom slider control is being dragged.</summary>
<returns>Returns <see cref="T:System.Boolean"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.ZoomSlider.TrackMarkStyle">
<summary>Gets or sets the <see cref="T:System.Windows.Style"></see> applied to the vertical track marks on the zoom slider.</summary>
<returns>Returns <see cref="T:System.Windows.Style"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Navigation.ZoomSlider.TrackPanel">
<summary>Gets the <see cref="T:System.Windows.Controls.Panel"></see> that contains the <see cref="T:Microsoft.Maps.MapControl.Navigation.TrackMark"></see> controls.</summary>
<returns>Returns <see cref="T:System.Windows.Controls.Panel"></see>.</returns>
</member>
<member name="N:Microsoft.Maps.MapControl.Overlays">
<summary>The Microsoft.Maps.MapControl.Overlays namespace contains classes that represent default overlays, such as the map copyright overlay.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Overlays.Copyright">
<summary>Represents the copyright control on the map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Copyright.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Overlays.Copyright"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Copyright.InitializeComponent">
<summary>Initializes the copyright control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Copyright.OnAttributionsChanged(System.Collections.IList,System.Collections.IList)">
<summary>Enables derived classes to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.Overlays.Copyright.Attributions"></see> property changes.</summary>
<param name="oldItems">The old attributions values.</param>
<param name="newItems">The new attributions values.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Copyright.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.Copyright.Attributions">
<summary>Gets the copyright attributions.</summary>
<returns>Returns <see cref="T:System.Collections.ObjectModel.ObservableCollection`1"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Overlays.DistanceUnit">
<summary>Represents the units of distance used by the scale bar.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.DistanceUnit.Default">
<summary>The scale bar uses the default unit of distance of the current country or region.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.DistanceUnit.KilometersMeters">
<summary>The scale bar uses kilometers for long distances and meters for shorter distances.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.DistanceUnit.MilesFeet">
<summary>The scale bar uses miles for long distances and feet for short distances.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.DistanceUnit.MilesYards">
<summary>The scale bar uses miles for long distances and yards for short distances.</summary>
</member>
<member name="T:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage">
<summary>Represents a Silverlight control that shows an error message.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage.InitializeComponent">
<summary>Initializes the error message control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage.SetConfigurationError(System.String)">
<summary>Displays a configuration loading error.</summary>
<param name="culture">The culture to use to localize the error message or null to use the default culture.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage.SetCredentialsError(System.String)">
<summary>Displays an error if credentials are invalid.</summary>
<param name="culture">The culture in which to display the error message.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.LoadingErrorMessage.SetUriSchemeError(System.String)">
<summary>Displays an error for a bad URL.</summary>
<param name="culture">The culture to use to localize the error message or null to use the default culture.</param>
</member>
<member name="T:Microsoft.Maps.MapControl.Overlays.Logo">
<summary>Represents the sl_product_name logo.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Logo.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Overlays.Logo"></see> class.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Logo.InitializeComponent">
<summary>Initializes the logo overlay.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Logo.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Overlays.MapForeground">
<summary>Represents the control that displays the scale bar, the logo, the copyright, and map navigation bar on the map.</summary>
</member>
<member name="E:Microsoft.Maps.MapControl.Overlays.MapForeground.TemplateApplied">
<summary>Occurs when a template is applied.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.MapForeground.CultureProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Overlays.MapForeground.Culture"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.MapForeground.OnApplyTemplate">
<summary>Enables the ability to provide custom handling when a new template is applied to the map foreground.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.MapForeground.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.MapForeground.OnCultureChanged(System.String,System.String)">
<summary>Enables derived classes to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.Overlays.MapForeground.Culture"></see> property changes.</summary>
<param name="oldValue">The old culture string.</param>
<param name="newValue">The new culture string.</param>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.MapForeground.Copyright">
<summary>Gets the current copyright control.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Overlays.Copyright"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.MapForeground.Culture">
<summary>Gets or sets the culture of the map foreground controls.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.MapForeground.Logo">
<summary>Gets the current logo control.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Overlays.Logo"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.MapForeground.NavigationBar">
<summary>Gets the current map navigation bar control.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Navigation.NavigationBar"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.MapForeground.Scale">
<summary>Gets the current scale bar control.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Overlays.Scale"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Overlays.Scale">
<summary>Represents the scale bar control on a map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Scale.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Overlays.Scale"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.Scale.CultureProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Overlays.Scale.Culture"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.Scale.DistanceUnitProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Overlays.Scale.DistanceUnit"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Scale.InitializeComponent">
<summary>Initializes the scale bar control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Scale.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Scale.OnCultureChanged">
<summary>Enables derived classes to provide custom handling when the culture of the scale bar changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Scale.OnPerPixelChanged">
<summary>Enables derived classes to provide custom handling when the <see cref="P:Microsoft.Maps.MapControl.Overlays.Scale.MetersPerPixel"></see> value of the scale bar changes.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.Scale.OnUnitChanged">
<summary>Enables derived classes to provide custom handling when the units used by the scale bar changes.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.Scale.Culture">
<summary>Gets or sets the culture of the scale bar, which determines the language and default units used by the scale bar.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.Scale.DistanceUnit">
<summary>Gets or sets the distance unit used by the scale bar.</summary>
<returns>Returns <see cref="T:Microsoft.Maps.MapControl.Overlays.DistanceUnit"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.Scale.MetersPerPixel">
<summary>Gets or sets the meters per pixel to display on the scale bar.</summary>
<returns>Returns <see cref="T:System.Double"></see>.</returns>
</member>
<member name="T:Microsoft.Maps.MapControl.Overlays.ShadowText">
<summary>Represents a shadowed text label that can be added to a map.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.ShadowText.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Maps.MapControl.Overlays.ShadowText"></see> class.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.ShadowText.ForegroundBottomProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Overlays.ShadowText.ForegroundBottom"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.ShadowText.ForegroundTopProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Overlays.ShadowText.ForegroundTop"></see> dependency property.</summary>
</member>
<member name="F:Microsoft.Maps.MapControl.Overlays.ShadowText.TextProperty">
<summary>Identifies the <see cref="P:Microsoft.Maps.MapControl.Overlays.ShadowText.Text"></see> dependency property.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.ShadowText.InitializeComponent">
<summary>Initializes the shadow text control.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.ShadowText.OnCreateAutomationPeer">
<summary>Enables the ability to provide custom handling when an automation peer is created.</summary>
<returns>Returns <see cref="T:System.Windows.Automation.Peers.AutomationPeer"></see>.</returns>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.ShadowText.SetForegroundColors(System.Windows.Media.Brush,System.Windows.Media.Brush)">
<summary>Sets the color of the text and its shadow.</summary>
<param name="top">The color of the text.</param>
<param name="bottom">The color of the shadow behind the text.</param>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.ShadowText.SetForegroundColorsForDarkBackground">
<summary>Sets colors that display best on a dark background.</summary>
</member>
<member name="M:Microsoft.Maps.MapControl.Overlays.ShadowText.SetForegroundColorsForLightBackground">
<summary>Sets colors that display best on a light background.</summary>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.ShadowText.ForegroundBottom">
<summary>Gets or sets the color of the shadow behind the text.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.ShadowText.ForegroundTop">
<summary>Gets or sets the color of the text.</summary>
<returns>Returns <see cref="T:System.Windows.Media.Brush"></see>.</returns>
</member>
<member name="P:Microsoft.Maps.MapControl.Overlays.ShadowText.Text">
<summary>Gets or sets the text of the shadow text control on the map.</summary>
<returns>Returns <see cref="T:System.String"></see>.</returns>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/layers.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/locate.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/locate.svg
0,0 → 1,137
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="12"
height="12"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
inkscape:export-filename="/Users/dominik/Developer/JavaScript/Leaflet.locatecontrol/src/images/locate_active.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
sodipodi:docname="locate.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient3817">
<stop
style="stop-color:#00b1ff;stop-opacity:1;"
offset="0"
id="stop3819" />
<stop
style="stop-color:#7cf7ff;stop-opacity:1;"
offset="1"
id="stop3821" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3817"
id="linearGradient3823"
x1="6"
y1="8"
x2="6"
y2="4"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="1.6755728"
inkscape:cy="7.2132946"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1280"
inkscape:window-height="709"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1040.3622)">
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3823);fill-opacity:1;stroke:none"
id="path3815"
sodipodi:cx="6"
sodipodi:cy="6"
sodipodi:rx="2"
sodipodi:ry="2"
d="M 8,6 A 2,2 0 1 1 4,6 2,2 0 1 1 8,6 z"
transform="matrix(2.5,0,0,2.5,-9,1031.3622)" />
<path
sodipodi:type="arc"
style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3786"
sodipodi:cx="6"
sodipodi:cy="6"
sodipodi:rx="6"
sodipodi:ry="6"
d="M 12,6 A 6,6 0 1 1 0,6 6,6 0 1 1 12,6 z"
transform="matrix(0.83333333,0,0,0.83333333,1,1041.3622)" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none"
id="rect3788"
width="3"
height="2"
x="1"
y="1045.3622" />
<rect
y="1045.3622"
x="8"
height="2"
width="3"
id="rect3790"
style="fill:#000000;fill-opacity:1;stroke:none" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none"
id="rect3792"
width="2"
height="3.0000174"
x="5"
y="1041.3622" />
<rect
y="1048.3622"
x="5"
height="2.9999826"
width="2"
id="rect3794"
style="fill:#000000;fill-opacity:1;stroke:none" />
</g>
</svg>
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/locate_active.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/marker-icon@2x.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Web/LeafletJS/images/spinner.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Web/LeafletJS/leaflet-ie.css
0,0 → 1,57
.leaflet-vml-shape {
width: 1px;
height: 1px;
}
.lvml {
behavior: url(#default#VML);
display: inline-block;
position: absolute;
}
 
.leaflet-control {
display: inline;
}
 
.leaflet-popup-tip {
width: 21px;
_width: 27px;
margin: 0 auto;
_margin-top: -3px;
 
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
}
.leaflet-popup-tip-container {
margin-top: -1px;
}
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
border: 1px solid #999;
}
.leaflet-popup-content-wrapper {
zoom: 1;
}
 
.leaflet-control-zoom,
.leaflet-control-layers {
border: 3px solid #999;
}
.leaflet-control-zoom a {
background-color: #eee;
}
.leaflet-control-zoom a:hover {
background-color: #fff;
}
.leaflet-control-layers-toggle {
}
.leaflet-control-attribution,
.leaflet-control-layers,
.leaflet-control-scale-line {
background: white;
}
.leaflet-zoom-box {
filter: alpha(opacity=50);
}
.leaflet-control-attribution {
border-top: 1px solid #bbb;
border-left: 1px solid #bbb;
}
/MKLiveView/v1.0/Source/References/Web/LeafletJS/leaflet.css
0,0 → 1,457
/* required styles */
 
.leaflet-map-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-pane,
.leaflet-overlay-pane,
.leaflet-shadow-pane,
.leaflet-marker-pane,
.leaflet-popup-pane,
.leaflet-overlay-pane svg,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
position: absolute;
left: 0;
top: 0;
}
.leaflet-container {
overflow: hidden;
-ms-touch-action: none;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
/* map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container img {
max-width: none !important;
}
/* stupid Android 2 doesn't understand "max-width: none" properly */
.leaflet-container img.leaflet-image-layer {
max-width: 15000px !important;
}
.leaflet-tile {
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
width: 0;
height: 0;
}
 
.leaflet-tile-pane { z-index: 2; }
.leaflet-objects-pane { z-index: 3; }
.leaflet-overlay-pane { z-index: 4; }
.leaflet-shadow-pane { z-index: 5; }
.leaflet-marker-pane { z-index: 6; }
.leaflet-popup-pane { z-index: 7; }
 
 
/* control positioning */
 
.leaflet-control {
position: relative;
z-index: 7;
pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
position: absolute;
z-index: 1000;
pointer-events: none;
}
.leaflet-top {
top: 0;
}
.leaflet-right {
right: 0;
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
}
.leaflet-control {
float: left;
clear: both;
}
.leaflet-right .leaflet-control {
float: right;
}
.leaflet-top .leaflet-control {
margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
margin-left: 10px;
}
.leaflet-right .leaflet-control {
margin-right: 10px;
}
 
 
/* zoom and fade animations */
 
.leaflet-fade-anim .leaflet-tile,
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-tile-loaded,
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
 
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
-o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile,
.leaflet-touching .leaflet-zoom-animated {
-webkit-transition: none;
-moz-transition: none;
-o-transition: none;
transition: none;
}
 
.leaflet-zoom-anim .leaflet-zoom-hide {
visibility: hidden;
}
 
 
/* cursors */
 
.leaflet-clickable {
cursor: pointer;
}
.leaflet-container {
cursor: -webkit-grab;
cursor: -moz-grab;
}
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
.leaflet-dragging,
.leaflet-dragging .leaflet-clickable,
.leaflet-dragging .leaflet-container {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
}
 
 
/* visual tweaks */
 
.leaflet-container {
background: #ddd;
outline: 0;
}
.leaflet-container a {
color: #0078A8;
}
.leaflet-container a.leaflet-active {
outline: 2px solid orange;
}
.leaflet-zoom-box {
border: 2px dotted #05f;
background: white;
opacity: 0.5;
}
 
 
/* general typography */
.leaflet-container {
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}
 
 
/* general toolbar styles */
 
.leaflet-bar {
box-shadow: 0 0 8px rgba(0,0,0,0.4);
border: 1px solid #888;
-webkit-border-radius: 5px;
border-radius: 5px;
}
.leaflet-bar-part {
background-color: rgba(255, 255, 255, 0.8);
border-bottom: 1px solid #aaa;
}
.leaflet-bar-part-top {
-webkit-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.leaflet-bar-part-bottom {
-webkit-border-radius: 0 0 4px 4px;
border-radius: 0 0 4px 4px;
border-bottom: none;
}
 
.leaflet-touch .leaflet-bar {
-webkit-border-radius: 10px;
border-radius: 10px;
}
.leaflet-touch .leaflet-bar-part {
border-bottom: 4px solid rgba(0,0,0,0.3);
}
.leaflet-touch .leaflet-bar-part-top {
-webkit-border-radius: 7px 7px 0 0;
border-radius: 7px 7px 0 0;
}
.leaflet-touch .leaflet-bar-part-bottom {
-webkit-border-radius: 0 0 7px 7px;
border-radius: 0 0 7px 7px;
border-bottom: none;
}
 
 
/* zoom control */
 
.leaflet-container .leaflet-control-zoom {
margin-left: 13px;
margin-top: 12px;
}
.leaflet-control-zoom a {
width: 22px;
height: 22px;
text-align: center;
text-decoration: none;
color: black;
}
.leaflet-control-zoom a,
.leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
}
.leaflet-control-zoom a:hover {
background-color: #fff;
color: #777;
}
.leaflet-control-zoom-in {
font: bold 18px/24px Arial, Helvetica, sans-serif;
}
.leaflet-control-zoom-out {
font: bold 23px/20px Tahoma, Verdana, sans-serif;
}
.leaflet-control-zoom a.leaflet-control-zoom-disabled {
cursor: default;
background-color: rgba(255, 255, 255, 0.8);
color: #bbb;
}
 
.leaflet-touch .leaflet-control-zoom a {
width: 30px;
height: 30px;
}
.leaflet-touch .leaflet-control-zoom-in {
font-size: 24px;
line-height: 29px;
}
.leaflet-touch .leaflet-control-zoom-out {
font-size: 28px;
line-height: 24px;
}
 
/* layers control */
 
.leaflet-control-layers {
box-shadow: 0 1px 7px rgba(0,0,0,0.4);
background: #f8f8f9;
-webkit-border-radius: 8px;
border-radius: 8px;
}
.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
 
 
/* attribution and scale controls */
 
.leaflet-container .leaflet-control-attribution {
background-color: rgba(255, 255, 255, 0.7);
box-shadow: 0 0 5px #bbb;
margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
padding: 0 5px;
color: #333;
}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
font-size: 11px;
}
.leaflet-left .leaflet-control-scale {
margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
margin-bottom: 5px;
}
.leaflet-control-scale-line {
border: 2px solid #777;
border-top: none;
color: black;
line-height: 1.1;
padding: 2px 5px 1px;
font-size: 11px;
text-shadow: 1px 1px 1px #fff;
background-color: rgba(255, 255, 255, 0.5);
box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.2);
white-space: nowrap;
overflow: hidden;
}
.leaflet-control-scale-line:not(:first-child) {
border-top: 2px solid #777;
border-bottom: none;
margin-top: -2px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
border-bottom: 2px solid #777;
}
 
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-control-zoom {
box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-control-zoom {
border: 4px solid rgba(0,0,0,0.3);
}
 
 
/* popup */
 
.leaflet-popup {
position: absolute;
text-align: center;
}
.leaflet-popup-content-wrapper {
padding: 1px;
text-align: left;
-webkit-border-radius: 20px;
border-radius: 20px;
}
.leaflet-popup-content {
margin: 14px 20px;
line-height: 1.4;
}
.leaflet-popup-content p {
margin: 18px 0;
}
.leaflet-popup-tip-container {
margin: 0 auto;
width: 40px;
height: 20px;
position: relative;
overflow: hidden;
}
.leaflet-popup-tip {
width: 15px;
height: 15px;
padding: 1px;
 
margin: -8px auto 0;
 
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
background: white;
 
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
position: absolute;
top: 0;
right: 0;
padding: 4px 5px 0 0;
text-align: center;
width: 18px;
height: 14px;
font: 16px/14px Tahoma, Verdana, sans-serif;
color: #c3c3c3;
text-decoration: none;
font-weight: bold;
background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover {
color: #999;
}
.leaflet-popup-scrolled {
overflow: auto;
border-bottom: 1px solid #ddd;
border-top: 1px solid #ddd;
}
 
 
/* div icon */
 
.leaflet-div-icon {
background: #fff;
border: 1px solid #666;
}
.leaflet-editing-icon {
-webkit-border-radius: 2px;
border-radius: 2px;
}
/MKLiveView/v1.0/Source/References/Web/LeafletJS/leaflet.js
0,0 → 1,8
/*
Leaflet, a JavaScript library for mobile-friendly interactive maps. http://leafletjs.com
(c) 2010-2013, Vladimir Agafonkin, CloudMade
*/
(function(t,e,i){var n,o;typeof exports!=i+""?n=exports:(o=t.L,n={},n.noConflict=function(){return t.L=o,this},t.L=n),n.version="0.5.1",n.Util={extend:function(t){var e,i,n,o,s=Array.prototype.slice.call(arguments,1);for(i=0,n=s.length;n>i;i++){o=s[i]||{};for(e in o)o.hasOwnProperty(e)&&(t[e]=o[e])}return t},bind:function(t,e){var i=arguments.length>2?Array.prototype.slice.call(arguments,2):null;return function(){return t.apply(e,i||arguments)}},stamp:function(){var t=0,e="_leaflet_id";return function(i){return i[e]=i[e]||++t,i[e]}}(),limitExecByInterval:function(t,e,n){var o,s;return function a(){var r=arguments;return o?(s=!0,i):(o=!0,setTimeout(function(){o=!1,s&&(a.apply(n,r),s=!1)},e),t.apply(n,r),i)}},falseFn:function(){return!1},formatNum:function(t,e){var i=Math.pow(10,e||5);return Math.round(t*i)/i},splitWords:function(t){return t.replace(/^\s+|\s+$/g,"").split(/\s+/)},setOptions:function(t,e){return t.options=n.extend({},t.options,e),t.options},getParamString:function(t,e){var i=[];for(var n in t)t.hasOwnProperty(n)&&i.push(n+"="+t[n]);return(e&&-1!==e.indexOf("?")?"&":"?")+i.join("&")},template:function(t,e){return t.replace(/\{ *([\w_]+) *\}/g,function(t,i){var n=e[i];if(!e.hasOwnProperty(i))throw Error("No value provided for variable "+t);return n})},isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},emptyImageUrl:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="},function(){function e(e){var i,n,o=["webkit","moz","o","ms"];for(i=0;o.length>i&&!n;i++)n=t[o[i]+e];return n}function o(e){var i=+new Date,n=Math.max(0,16-(i-s));return s=i+n,t.setTimeout(e,n)}var s=0,a=t.requestAnimationFrame||e("RequestAnimationFrame")||o,r=t.cancelAnimationFrame||e("CancelAnimationFrame")||e("CancelRequestAnimationFrame")||function(e){t.clearTimeout(e)};n.Util.requestAnimFrame=function(e,s,r,h){return e=n.bind(e,s),r&&a===o?(e(),i):a.call(t,e,h)},n.Util.cancelAnimFrame=function(e){e&&r.call(t,e)}}(),n.extend=n.Util.extend,n.bind=n.Util.bind,n.stamp=n.Util.stamp,n.setOptions=n.Util.setOptions,n.Class=function(){},n.Class.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this._initHooks&&this.callInitHooks()},i=function(){};i.prototype=this.prototype;var o=new i;o.constructor=e,e.prototype=o;for(var s in this)this.hasOwnProperty(s)&&"prototype"!==s&&(e[s]=this[s]);t.statics&&(n.extend(e,t.statics),delete t.statics),t.includes&&(n.Util.extend.apply(null,[o].concat(t.includes)),delete t.includes),t.options&&o.options&&(t.options=n.extend({},o.options,t.options)),n.extend(o,t),o._initHooks=[];var a=this;return o.callInitHooks=function(){if(!this._initHooksCalled){a.prototype.callInitHooks&&a.prototype.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;e>t;t++)o._initHooks[t].call(this)}},e},n.Class.include=function(t){n.extend(this.prototype,t)},n.Class.mergeOptions=function(t){n.extend(this.prototype.options,t)},n.Class.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i)};var s="_leaflet_events";n.Mixin={},n.Mixin.Events={addEventListener:function(t,e,i){var o,a,r,h=this[s]=this[s]||{};if("object"==typeof t){for(o in t)t.hasOwnProperty(o)&&this.addEventListener(o,t[o],e);return this}for(t=n.Util.splitWords(t),a=0,r=t.length;r>a;a++)h[t[a]]=h[t[a]]||[],h[t[a]].push({action:e,context:i||this});return this},hasEventListeners:function(t){return s in this&&t in this[s]&&this[s][t].length>0},removeEventListener:function(t,e,i){var o,a,r,h,l,u=this[s];if("object"==typeof t){for(o in t)t.hasOwnProperty(o)&&this.removeEventListener(o,t[o],e);return this}for(t=n.Util.splitWords(t),a=0,r=t.length;r>a;a++)if(this.hasEventListeners(t[a]))for(h=u[t[a]],l=h.length-1;l>=0;l--)e&&h[l].action!==e||i&&h[l].context!==i||h.splice(l,1);return this},fireEvent:function(t,e){if(!this.hasEventListeners(t))return this;for(var i=n.extend({type:t,target:this},e),o=this[s][t].slice(),a=0,r=o.length;r>a;a++)o[a].action.call(o[a].context||this,i);return this}},n.Mixin.Events.on=n.Mixin.Events.addEventListener,n.Mixin.Events.off=n.Mixin.Events.removeEventListener,n.Mixin.Events.fire=n.Mixin.Events.fireEvent,function(){var o=!!t.ActiveXObject,s=o&&!t.XMLHttpRequest,a=o&&!e.querySelector,r=navigator.userAgent.toLowerCase(),h=-1!==r.indexOf("webkit"),l=-1!==r.indexOf("chrome"),u=-1!==r.indexOf("android"),c=-1!==r.search("android [23]"),_=typeof orientation!=i+"",d=t.navigator&&t.navigator.msPointerEnabled&&t.navigator.msMaxTouchPoints,p="devicePixelRatio"in t&&t.devicePixelRatio>1||"matchMedia"in t&&t.matchMedia("(min-resolution:144dpi)")&&t.matchMedia("(min-resolution:144dpi)").matches,m=e.documentElement,f=o&&"transition"in m.style,g="WebKitCSSMatrix"in t&&"m11"in new t.WebKitCSSMatrix,v="MozPerspective"in m.style,y="OTransition"in m.style,L=!t.L_DISABLE_3D&&(f||g||v||y),P=!t.L_NO_TOUCH&&function(){var t="ontouchstart";if(d||t in m)return!0;var i=e.createElement("div"),n=!1;return i.setAttribute?(i.setAttribute(t,"return;"),"function"==typeof i[t]&&(n=!0),i.removeAttribute(t),i=null,n):!1}();n.Browser={ie:o,ie6:s,ie7:a,webkit:h,android:u,android23:c,chrome:l,ie3d:f,webkit3d:g,gecko3d:v,opera3d:y,any3d:L,mobile:_,mobileWebkit:_&&h,mobileWebkit3d:_&&g,mobileOpera:_&&t.opera,touch:P,msTouch:d,retina:p}}(),n.Point=function(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e},n.Point.prototype={clone:function(){return new n.Point(this.x,this.y)},add:function(t){return this.clone()._add(n.point(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(n.point(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},distanceTo:function(t){t=n.point(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t.x===this.x&&t.y===this.y},toString:function(){return"Point("+n.Util.formatNum(this.x)+", "+n.Util.formatNum(this.y)+")"}},n.point=function(t,e,i){return t instanceof n.Point?t:n.Util.isArray(t)?new n.Point(t[0],t[1]):isNaN(t)?t:new n.Point(t,e,i)},n.Bounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;o>n;n++)this.extend(i[n])},n.Bounds.prototype={extend:function(t){return t=n.point(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new n.Point((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new n.Point(this.min.x,this.max.y)},getTopRight:function(){return new n.Point(this.max.x,this.min.y)},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return t="number"==typeof t[0]||t instanceof n.Point?n.point(t):n.bounds(t),t instanceof n.Bounds?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=n.bounds(t);var e=this.min,i=this.max,o=t.min,s=t.max,a=s.x>=e.x&&o.x<=i.x,r=s.y>=e.y&&o.y<=i.y;return a&&r},isValid:function(){return!(!this.min||!this.max)}},n.bounds=function(t,e){return!t||t instanceof n.Bounds?t:new n.Bounds(t,e)},n.Transformation=function(t,e,i,n){this._a=t,this._b=e,this._c=i,this._d=n},n.Transformation.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new n.Point((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}},n.DomUtil={get:function(t){return"string"==typeof t?e.getElementById(t):t},getStyle:function(t,i){var n=t.style[i];if(!n&&t.currentStyle&&(n=t.currentStyle[i]),(!n||"auto"===n)&&e.defaultView){var o=e.defaultView.getComputedStyle(t,null);n=o?o[i]:null}return"auto"===n?null:n},getViewportOffset:function(t){var i,o=0,s=0,a=t,r=e.body,h=n.Browser.ie7;do{if(o+=a.offsetTop||0,s+=a.offsetLeft||0,o+=parseInt(n.DomUtil.getStyle(a,"borderTopWidth"),10)||0,s+=parseInt(n.DomUtil.getStyle(a,"borderLeftWidth"),10)||0,i=n.DomUtil.getStyle(a,"position"),a.offsetParent===r&&"absolute"===i)break;if("fixed"===i){o+=r.scrollTop||0,s+=r.scrollLeft||0;break}a=a.offsetParent}while(a);a=t;do{if(a===r)break;o-=a.scrollTop||0,s-=a.scrollLeft||0,n.DomUtil.documentIsLtr()||!n.Browser.webkit&&!h||(s+=a.scrollWidth-a.clientWidth,h&&"hidden"!==n.DomUtil.getStyle(a,"overflow-y")&&"hidden"!==n.DomUtil.getStyle(a,"overflow")&&(s+=17)),a=a.parentNode}while(a);return new n.Point(s,o)},documentIsLtr:function(){return n.DomUtil._docIsLtrCached||(n.DomUtil._docIsLtrCached=!0,n.DomUtil._docIsLtr="ltr"===n.DomUtil.getStyle(e.body,"direction")),n.DomUtil._docIsLtr},create:function(t,i,n){var o=e.createElement(t);return o.className=i,n&&n.appendChild(o),o},disableTextSelection:function(){e.selection&&e.selection.empty&&e.selection.empty(),this._onselectstart||(this._onselectstart=e.onselectstart||null,e.onselectstart=n.Util.falseFn)},enableTextSelection:function(){e.onselectstart===n.Util.falseFn&&(e.onselectstart=this._onselectstart,this._onselectstart=null)},hasClass:function(t,e){return t.className.length>0&&RegExp("(^|\\s)"+e+"(\\s|$)").test(t.className)},addClass:function(t,e){n.DomUtil.hasClass(t,e)||(t.className+=(t.className?" ":"")+e)},removeClass:function(t,e){function i(t,i){return i===e?"":t}t.className=t.className.replace(/(\S+)\s*/g,i).replace(/(^\s+|\s+$)/,"")},setOpacity:function(t,e){if("opacity"in t.style)t.style.opacity=e;else if("filter"in t.style){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(o){}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}},testProp:function(t){for(var i=e.documentElement.style,n=0;t.length>n;n++)if(t[n]in i)return t[n];return!1},getTranslateString:function(t){var e=n.Browser.webkit3d,i="translate"+(e?"3d":"")+"(",o=(e?",0":"")+")";return i+t.x+"px,"+t.y+"px"+o},getScaleString:function(t,e){var i=n.DomUtil.getTranslateString(e.add(e.multiplyBy(-1*t))),o=" scale("+t+") ";return i+o},setPosition:function(t,e,i){t._leaflet_pos=e,!i&&n.Browser.any3d?(t.style[n.DomUtil.TRANSFORM]=n.DomUtil.getTranslateString(e),n.Browser.mobileWebkit3d&&(t.style.WebkitBackfaceVisibility="hidden")):(t.style.left=e.x+"px",t.style.top=e.y+"px")},getPosition:function(t){return t._leaflet_pos}},n.DomUtil.TRANSFORM=n.DomUtil.testProp(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]),n.DomUtil.TRANSITION=n.DomUtil.testProp(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),n.DomUtil.TRANSITION_END="webkitTransition"===n.DomUtil.TRANSITION||"OTransition"===n.DomUtil.TRANSITION?n.DomUtil.TRANSITION+"End":"transitionend",n.LatLng=function(t,e){var i=parseFloat(t),n=parseFloat(e);if(isNaN(i)||isNaN(n))throw Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=i,this.lng=n},n.extend(n.LatLng,{DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI,MAX_MARGIN:1e-9}),n.LatLng.prototype={equals:function(t){if(!t)return!1;t=n.latLng(t);var e=Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng));return n.LatLng.MAX_MARGIN>=e},toString:function(t){return"LatLng("+n.Util.formatNum(this.lat,t)+", "+n.Util.formatNum(this.lng,t)+")"},distanceTo:function(t){t=n.latLng(t);var e=6378137,i=n.LatLng.DEG_TO_RAD,o=(t.lat-this.lat)*i,s=(t.lng-this.lng)*i,a=this.lat*i,r=t.lat*i,h=Math.sin(o/2),l=Math.sin(s/2),u=h*h+l*l*Math.cos(a)*Math.cos(r);return 2*e*Math.atan2(Math.sqrt(u),Math.sqrt(1-u))},wrap:function(t,e){var i=this.lng;return t=t||-180,e=e||180,i=(i+e)%(e-t)+(t>i||i===e?e:t),new n.LatLng(this.lat,i)}},n.latLng=function(t,e){return t instanceof n.LatLng?t:n.Util.isArray(t)?new n.LatLng(t[0],t[1]):isNaN(t)?t:new n.LatLng(t,e)},n.LatLngBounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;o>n;n++)this.extend(i[n])},n.LatLngBounds.prototype={extend:function(t){return t="number"==typeof t[0]||"string"==typeof t[0]||t instanceof n.LatLng?n.latLng(t):n.latLngBounds(t),t instanceof n.LatLng?this._southWest||this._northEast?(this._southWest.lat=Math.min(t.lat,this._southWest.lat),this._southWest.lng=Math.min(t.lng,this._southWest.lng),this._northEast.lat=Math.max(t.lat,this._northEast.lat),this._northEast.lng=Math.max(t.lng,this._northEast.lng)):(this._southWest=new n.LatLng(t.lat,t.lng),this._northEast=new n.LatLng(t.lat,t.lng)):t instanceof n.LatLngBounds&&(this.extend(t._southWest),this.extend(t._northEast)),this},pad:function(t){var e=this._southWest,i=this._northEast,o=Math.abs(e.lat-i.lat)*t,s=Math.abs(e.lng-i.lng)*t;return new n.LatLngBounds(new n.LatLng(e.lat-o,e.lng-s),new n.LatLng(i.lat+o,i.lng+s))},getCenter:function(){return new n.LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new n.LatLng(this._northEast.lat,this._southWest.lng)},getSouthEast:function(){return new n.LatLng(this._southWest.lat,this._northEast.lng)},contains:function(t){t="number"==typeof t[0]||t instanceof n.LatLng?n.latLng(t):n.latLngBounds(t);var e,i,o=this._southWest,s=this._northEast;return t instanceof n.LatLngBounds?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=o.lat&&i.lat<=s.lat&&e.lng>=o.lng&&i.lng<=s.lng},intersects:function(t){t=n.latLngBounds(t);var e=this._southWest,i=this._northEast,o=t.getSouthWest(),s=t.getNorthEast(),a=s.lat>=e.lat&&o.lat<=i.lat,r=s.lng>=e.lng&&o.lng<=i.lng;return a&&r},toBBoxString:function(){var t=this._southWest,e=this._northEast;return[t.lng,t.lat,e.lng,e.lat].join(",")},equals:function(t){return t?(t=n.latLngBounds(t),this._southWest.equals(t.getSouthWest())&&this._northEast.equals(t.getNorthEast())):!1},isValid:function(){return!(!this._southWest||!this._northEast)}},n.latLngBounds=function(t,e){return!t||t instanceof n.LatLngBounds?t:new n.LatLngBounds(t,e)},n.Projection={},n.Projection.SphericalMercator={MAX_LATITUDE:85.0511287798,project:function(t){var e=n.LatLng.DEG_TO_RAD,i=this.MAX_LATITUDE,o=Math.max(Math.min(i,t.lat),-i),s=t.lng*e,a=o*e;return a=Math.log(Math.tan(Math.PI/4+a/2)),new n.Point(s,a)},unproject:function(t){var e=n.LatLng.RAD_TO_DEG,i=t.x*e,o=(2*Math.atan(Math.exp(t.y))-Math.PI/2)*e;return new n.LatLng(o,i)}},n.Projection.LonLat={project:function(t){return new n.Point(t.lng,t.lat)},unproject:function(t){return new n.LatLng(t.y,t.x)}},n.CRS={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},scale:function(t){return 256*Math.pow(2,t)}},n.CRS.Simple=n.extend({},n.CRS,{projection:n.Projection.LonLat,transformation:new n.Transformation(1,0,-1,0),scale:function(t){return Math.pow(2,t)}}),n.CRS.EPSG3857=n.extend({},n.CRS,{code:"EPSG:3857",projection:n.Projection.SphericalMercator,transformation:new n.Transformation(.5/Math.PI,.5,-.5/Math.PI,.5),project:function(t){var e=this.projection.project(t),i=6378137;return e.multiplyBy(i)}}),n.CRS.EPSG900913=n.extend({},n.CRS.EPSG3857,{code:"EPSG:900913"}),n.CRS.EPSG4326=n.extend({},n.CRS,{code:"EPSG:4326",projection:n.Projection.LonLat,transformation:new n.Transformation(1/360,.5,-1/360,.5)}),n.Map=n.Class.extend({includes:n.Mixin.Events,options:{crs:n.CRS.EPSG3857,fadeAnimation:n.DomUtil.TRANSITION&&!n.Browser.android23,trackResize:!0,markerZoomAnimation:n.DomUtil.TRANSITION&&n.Browser.any3d},initialize:function(t,e){e=n.setOptions(this,e),this._initContainer(t),this._initLayout(),this.callInitHooks(),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),e.center&&e.zoom!==i&&this.setView(n.latLng(e.center),e.zoom,!0),this._initLayers(e.layers)},setView:function(t,e){return this._resetView(n.latLng(t),this._limitZoom(e)),this},setZoom:function(t){return this.setView(this.getCenter(),t)},zoomIn:function(t){return this.setZoom(this._zoom+(t||1))},zoomOut:function(t){return this.setZoom(this._zoom-(t||1))},fitBounds:function(t){var e=this.getBoundsZoom(t);return this.setView(n.latLngBounds(t).getCenter(),e)},fitWorld:function(){var t=new n.LatLng(-60,-170),e=new n.LatLng(85,179);return this.fitBounds(new n.LatLngBounds(t,e))},panTo:function(t){return this.setView(t,this._zoom)},panBy:function(t){return this.fire("movestart"),this._rawPanBy(n.point(t)),this.fire("move"),this.fire("moveend")},setMaxBounds:function(t){if(t=n.latLngBounds(t),this.options.maxBounds=t,!t)return this._boundsMinZoom=null,this;var e=this.getBoundsZoom(t,!0);return this._boundsMinZoom=e,this._loaded&&(e>this._zoom?this.setView(t.getCenter(),e):this.panInsideBounds(t)),this},panInsideBounds:function(t){t=n.latLngBounds(t);var e=this.getBounds(),i=this.project(e.getSouthWest()),o=this.project(e.getNorthEast()),s=this.project(t.getSouthWest()),a=this.project(t.getNorthEast()),r=0,h=0;return o.y<a.y&&(h=a.y-o.y),o.x>a.x&&(r=a.x-o.x),i.y>s.y&&(h=s.y-i.y),i.x<s.x&&(r=s.x-i.x),this.panBy(new n.Point(r,h,!0))},addLayer:function(t){var e=n.stamp(t);return this._layers[e]?this:(this._layers[e]=t,!t.options||isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[e]=t,this._updateZoomLevels()),this.options.zoomAnimation&&n.TileLayer&&t instanceof n.TileLayer&&(this._tileLayersNum++,this._tileLayersToLoad++,t.on("load",this._onTileLayerLoad,this)),this.whenReady(function(){t.onAdd(this),this.fire("layeradd",{layer:t})},this),this)},removeLayer:function(t){var e=n.stamp(t);if(this._layers[e])return t.onRemove(this),delete this._layers[e],this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels()),this.options.zoomAnimation&&n.TileLayer&&t instanceof n.TileLayer&&(this._tileLayersNum--,this._tileLayersToLoad--,t.off("load",this._onTileLayerLoad,this)),this.fire("layerremove",{layer:t})},hasLayer:function(t){var e=n.stamp(t);return this._layers.hasOwnProperty(e)},invalidateSize:function(t){var e=this.getSize();if(this._sizeChanged=!0,this.options.maxBounds&&this.setMaxBounds(this.options.maxBounds),!this._loaded)return this;var i=e._subtract(this.getSize())._divideBy(2)._round();return t===!0?this.panBy(i):(this._rawPanBy(i),this.fire("move"),clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(n.bind(this.fire,this,"moveend"),200)),this},addHandler:function(t,e){return e?(this[t]=new e(this),this.options[t]&&this[t].enable(),this):i},getCenter:function(){return this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new n.LatLngBounds(e,i)},getMinZoom:function(){var t=this.options.minZoom||0,e=this._layersMinZoom||0,i=this._boundsMinZoom||0;return Math.max(t,e,i)},getMaxZoom:function(){var t=this.options.maxZoom===i?1/0:this.options.maxZoom,e=this._layersMaxZoom===i?1/0:this._layersMaxZoom;return Math.min(t,e)},getBoundsZoom:function(t,e){t=n.latLngBounds(t);var i,o,s,a=this.getSize(),r=this.options.minZoom||0,h=this.getMaxZoom(),l=t.getNorthEast(),u=t.getSouthWest(),c=!0;e&&r--;do r++,o=this.project(l,r),s=this.project(u,r),i=new n.Point(Math.abs(o.x-s.x),Math.abs(s.y-o.y)),c=e?i.x<a.x||i.y<a.y:i.x<=a.x&&i.y<=a.y;while(c&&h>=r);return c&&e?null:e?r:r-1},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new n.Point(this._container.clientWidth,this._container.clientHeight),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(){var t=this._getTopLeftPoint();return new n.Bounds(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._initialTopLeftPoint},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t){var e=this.options.crs;return e.scale(t)/e.scale(this._zoom)},getScaleZoom:function(t){return this._zoom+Math.log(t)/Math.LN2},project:function(t,e){return e=e===i?this._zoom:e,this.options.crs.latLngToPoint(n.latLng(t),e)},unproject:function(t,e){return e=e===i?this._zoom:e,this.options.crs.pointToLatLng(n.point(t),e)},layerPointToLatLng:function(t){var e=n.point(t).add(this._initialTopLeftPoint);return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(n.latLng(t))._round();return e._subtract(this._initialTopLeftPoint)},containerPointToLayerPoint:function(t){return n.point(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return n.point(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(n.point(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(n.latLng(t)))},mouseEventToContainerPoint:function(t){return n.DomEvent.getMousePosition(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=n.DomUtil.get(t);if(e._leaflet)throw Error("Map container is already initialized.");e._leaflet=!0},_initLayout:function(){var t=this._container;n.DomUtil.addClass(t,"leaflet-container"),n.Browser.touch&&n.DomUtil.addClass(t,"leaflet-touch"),this.options.fadeAnimation&&n.DomUtil.addClass(t,"leaflet-fade-anim");var e=n.DomUtil.getStyle(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._mapPane=t.mapPane=this._createPane("leaflet-map-pane",this._container),this._tilePane=t.tilePane=this._createPane("leaflet-tile-pane",this._mapPane),t.objectsPane=this._createPane("leaflet-objects-pane",this._mapPane),t.shadowPane=this._createPane("leaflet-shadow-pane"),t.overlayPane=this._createPane("leaflet-overlay-pane"),t.markerPane=this._createPane("leaflet-marker-pane"),t.popupPane=this._createPane("leaflet-popup-pane");var e=" leaflet-zoom-hide";this.options.markerZoomAnimation||(n.DomUtil.addClass(t.markerPane,e),n.DomUtil.addClass(t.shadowPane,e),n.DomUtil.addClass(t.popupPane,e))},_createPane:function(t,e){return n.DomUtil.create("div",t,e||this._panes.objectsPane)},_initLayers:function(t){t=t?n.Util.isArray(t)?t:[t]:[],this._layers={},this._zoomBoundLayers={},this._tileLayersNum=0;var e,i;for(e=0,i=t.length;i>e;e++)this.addLayer(t[e])},_resetView:function(t,e,i,o){var s=this._zoom!==e;o||(this.fire("movestart"),s&&this.fire("zoomstart")),this._zoom=e,this._initialTopLeftPoint=this._getNewTopLeftPoint(t),i?this._initialTopLeftPoint._add(this._getMapPanePos()):n.DomUtil.setPosition(this._mapPane,new n.Point(0,0)),this._tileLayersToLoad=this._tileLayersNum;var a=!this._loaded;this._loaded=!0,this.fire("viewreset",{hard:!i}),this.fire("move"),(s||o)&&this.fire("zoomend"),this.fire("moveend",{hard:!i}),a&&this.fire("load")},_rawPanBy:function(t){n.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(t))},_updateZoomLevels:function(){var t,e=1/0,n=-1/0;for(t in this._zoomBoundLayers)if(this._zoomBoundLayers.hasOwnProperty(t)){var o=this._zoomBoundLayers[t];isNaN(o.options.minZoom)||(e=Math.min(e,o.options.minZoom)),isNaN(o.options.maxZoom)||(n=Math.max(n,o.options.maxZoom))}t===i?this._layersMaxZoom=this._layersMinZoom=i:(this._layersMaxZoom=n,this._layersMinZoom=e)},_initEvents:function(){if(n.DomEvent){n.DomEvent.on(this._container,"click",this._onMouseClick,this);var e,i,o=["dblclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","contextmenu"];for(e=0,i=o.length;i>e;e++)n.DomEvent.on(this._container,o[e],this._fireMouseEvent,this);this.options.trackResize&&n.DomEvent.on(t,"resize",this._onResize,this)}},_onResize:function(){n.Util.cancelAnimFrame(this._resizeRequest),this._resizeRequest=n.Util.requestAnimFrame(this.invalidateSize,this,!1,this._container)},_onMouseClick:function(t){!this._loaded||this.dragging&&this.dragging.moved()||(this.fire("preclick"),this._fireMouseEvent(t))},_fireMouseEvent:function(t){if(this._loaded){var e=t.type;if(e="mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,this.hasEventListeners(e)){"contextmenu"===e&&n.DomEvent.preventDefault(t);var i=this.mouseEventToContainerPoint(t),o=this.containerPointToLayerPoint(i),s=this.layerPointToLatLng(o);this.fire(e,{latlng:s,layerPoint:o,containerPoint:i,originalEvent:t})}}},_onTileLayerLoad:function(){this._tileLayersToLoad--,this._tileLayersNum&&!this._tileLayersToLoad&&this._tileBg&&(clearTimeout(this._clearTileBgTimer),this._clearTileBgTimer=setTimeout(n.bind(this._clearTileBg,this),500))},whenReady:function(t,e){return this._loaded?t.call(e||this,this):this.on("load",t,e),this},_getMapPanePos:function(){return n.DomUtil.getPosition(this._mapPane)},_getTopLeftPoint:function(){if(!this._loaded)throw Error("Set map center and zoom first.");return this._initialTopLeftPoint.subtract(this._getMapPanePos())},_getNewTopLeftPoint:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewTopLeftPoint(i,e).add(this._getMapPanePos());return this.project(t,e)._subtract(n)},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom();return Math.max(e,Math.min(i,t))}}),n.map=function(t,e){return new n.Map(t,e)},n.Projection.Mercator={MAX_LATITUDE:85.0840591556,R_MINOR:6356752.3142,R_MAJOR:6378137,project:function(t){var e=n.LatLng.DEG_TO_RAD,i=this.MAX_LATITUDE,o=Math.max(Math.min(i,t.lat),-i),s=this.R_MAJOR,a=this.R_MINOR,r=t.lng*e*s,h=o*e,l=a/s,u=Math.sqrt(1-l*l),c=u*Math.sin(h);c=Math.pow((1-c)/(1+c),.5*u);var _=Math.tan(.5*(.5*Math.PI-h))/c;return h=-a*Math.log(_),new n.Point(r,h)},unproject:function(t){for(var e,i=n.LatLng.RAD_TO_DEG,o=this.R_MAJOR,s=this.R_MINOR,a=t.x*i/o,r=s/o,h=Math.sqrt(1-r*r),l=Math.exp(-t.y/s),u=Math.PI/2-2*Math.atan(l),c=15,_=1e-7,d=c,p=.1;Math.abs(p)>_&&--d>0;)e=h*Math.sin(u),p=Math.PI/2-2*Math.atan(l*Math.pow((1-e)/(1+e),.5*h))-u,u+=p;return new n.LatLng(u*i,a)}},n.CRS.EPSG3395=n.extend({},n.CRS,{code:"EPSG:3395",projection:n.Projection.Mercator,transformation:function(){var t=n.Projection.Mercator,e=t.R_MAJOR,i=t.R_MINOR;return new n.Transformation(.5/(Math.PI*e),.5,-.5/(Math.PI*i),.5)}()}),n.TileLayer=n.Class.extend({includes:n.Mixin.Events,options:{minZoom:0,maxZoom:18,tileSize:256,subdomains:"abc",errorTileUrl:"",attribution:"",zoomOffset:0,opacity:1,unloadInvisibleTiles:n.Browser.mobile,updateWhenIdle:n.Browser.mobile},initialize:function(t,e){e=n.setOptions(this,e),e.detectRetina&&n.Browser.retina&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomOffset++,e.minZoom>0&&e.minZoom--,this.options.maxZoom--),this._url=t;var i=this.options.subdomains;"string"==typeof i&&(this.options.subdomains=i.split(""))},onAdd:function(t){this._map=t,this._initContainer(),this._createTileProto(),t.on({viewreset:this._resetCallback,moveend:this._update},this),this.options.updateWhenIdle||(this._limitedUpdate=n.Util.limitExecByInterval(this._update,150,this),t.on("move",this._limitedUpdate,this)),this._reset(),this._update()},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){this._container.parentNode.removeChild(this._container),t.off({viewreset:this._resetCallback,moveend:this._update},this),this.options.updateWhenIdle||t.off("move",this._limitedUpdate,this),this._container=null,this._map=null},bringToFront:function(){var t=this._map._panes.tilePane;return this._container&&(t.appendChild(this._container),this._setAutoZIndex(t,Math.max)),this},bringToBack:function(){var t=this._map._panes.tilePane;return this._container&&(t.insertBefore(this._container,t.firstChild),this._setAutoZIndex(t,Math.min)),this},getAttribution:function(){return this.options.attribution},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},setUrl:function(t,e){return this._url=t,e||this.redraw(),this},redraw:function(){return this._map&&(this._map._panes.tilePane.empty=!1,this._reset(!0),this._update()),this},_updateZIndex:function(){this._container&&this.options.zIndex!==i&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t,e){var i,n,o,s=t.children,a=-e(1/0,-1/0);for(n=0,o=s.length;o>n;n++)s[n]!==this._container&&(i=parseInt(s[n].style.zIndex,10),isNaN(i)||(a=e(a,i)));this.options.zIndex=this._container.style.zIndex=(isFinite(a)?a:0)+e(1,-1)},_updateOpacity:function(){n.DomUtil.setOpacity(this._container,this.options.opacity);var t,e=this._tiles;if(n.Browser.webkit)for(t in e)e.hasOwnProperty(t)&&(e[t].style.webkitTransform+=" translate(0,0)")},_initContainer:function(){var t=this._map._panes.tilePane;(!this._container||t.empty)&&(this._container=n.DomUtil.create("div","leaflet-layer"),this._updateZIndex(),t.appendChild(this._container),1>this.options.opacity&&this._updateOpacity())},_resetCallback:function(t){this._reset(t.hard)},_reset:function(t){var e=this._tiles;for(var i in e)e.hasOwnProperty(i)&&this.fire("tileunload",{tile:e[i]});this._tiles={},this._tilesToLoad=0,this.options.reuseTiles&&(this._unusedTiles=[]),t&&this._container&&(this._container.innerHTML=""),this._initContainer()},_update:function(){if(this._map){var t=this._map.getPixelBounds(),e=this._map.getZoom(),i=this.options.tileSize;if(!(e>this.options.maxZoom||this.options.minZoom>e)){var o=new n.Point(Math.floor(t.min.x/i),Math.floor(t.min.y/i)),s=new n.Point(Math.floor(t.max.x/i),Math.floor(t.max.y/i)),a=new n.Bounds(o,s);this._addTilesFromCenterOut(a),(this.options.unloadInvisibleTiles||this.options.reuseTiles)&&this._removeOtherTiles(a)}}},_addTilesFromCenterOut:function(t){var i,o,s,a=[],r=t.getCenter();for(i=t.min.y;t.max.y>=i;i++)for(o=t.min.x;t.max.x>=o;o++)s=new n.Point(o,i),this._tileShouldBeLoaded(s)&&a.push(s);var h=a.length;if(0!==h){a.sort(function(t,e){return t.distanceTo(r)-e.distanceTo(r)});var l=e.createDocumentFragment();for(this._tilesToLoad||this.fire("loading"),this._tilesToLoad+=h,o=0;h>o;o++)this._addTile(a[o],l);this._container.appendChild(l)}},_tileShouldBeLoaded:function(t){if(t.x+":"+t.y in this._tiles)return!1;if(!this.options.continuousWorld){var e=this._getWrapTileNum();if(this.options.noWrap&&(0>t.x||t.x>=e)||0>t.y||t.y>=e)return!1}return!0},_removeOtherTiles:function(t){var e,i,n,o;for(o in this._tiles)this._tiles.hasOwnProperty(o)&&(e=o.split(":"),i=parseInt(e[0],10),n=parseInt(e[1],10),(t.min.x>i||i>t.max.x||t.min.y>n||n>t.max.y)&&this._removeTile(o))},_removeTile:function(t){var e=this._tiles[t];this.fire("tileunload",{tile:e,url:e.src}),this.options.reuseTiles?(n.DomUtil.removeClass(e,"leaflet-tile-loaded"),this._unusedTiles.push(e)):e.parentNode===this._container&&this._container.removeChild(e),n.Browser.android||(e.src=n.Util.emptyImageUrl),delete this._tiles[t]},_addTile:function(t,e){var i=this._getTilePos(t),o=this._getTile();n.DomUtil.setPosition(o,i,n.Browser.chrome||n.Browser.android23),this._tiles[t.x+":"+t.y]=o,this._loadTile(o,t),o.parentNode!==this._container&&e.appendChild(o)
},_getZoomForUrl:function(){var t=this.options,e=this._map.getZoom();return t.zoomReverse&&(e=t.maxZoom-e),e+t.zoomOffset},_getTilePos:function(t){var e=this._map.getPixelOrigin(),i=this.options.tileSize;return t.multiplyBy(i).subtract(e)},getTileUrl:function(t){return this._adjustTilePoint(t),n.Util.template(this._url,n.extend({s:this._getSubdomain(t),z:this._getZoomForUrl(),x:t.x,y:t.y},this.options))},_getWrapTileNum:function(){return Math.pow(2,this._getZoomForUrl())},_adjustTilePoint:function(t){var e=this._getWrapTileNum();this.options.continuousWorld||this.options.noWrap||(t.x=(t.x%e+e)%e),this.options.tms&&(t.y=e-t.y-1)},_getSubdomain:function(t){var e=(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_createTileProto:function(){var t=this._tileImg=n.DomUtil.create("img","leaflet-tile");t.style.width=t.style.height=this.options.tileSize+"px",t.galleryimg="no"},_getTile:function(){if(this.options.reuseTiles&&this._unusedTiles.length>0){var t=this._unusedTiles.pop();return this._resetTile(t),t}return this._createTile()},_resetTile:function(){},_createTile:function(){var t=this._tileImg.cloneNode(!1);return t.onselectstart=t.onmousemove=n.Util.falseFn,t},_loadTile:function(t,e){t._layer=this,t.onload=this._tileOnLoad,t.onerror=this._tileOnError,t.src=this.getTileUrl(e)},_tileLoaded:function(){this._tilesToLoad--,this._tilesToLoad||this.fire("load")},_tileOnLoad:function(){var t=this._layer;this.src!==n.Util.emptyImageUrl&&(n.DomUtil.addClass(this,"leaflet-tile-loaded"),t.fire("tileload",{tile:this,url:this.src})),t._tileLoaded()},_tileOnError:function(){var t=this._layer;t.fire("tileerror",{tile:this,url:this.src});var e=t.options.errorTileUrl;e&&(this.src=e),t._tileLoaded()}}),n.tileLayer=function(t,e){return new n.TileLayer(t,e)},n.TileLayer.WMS=n.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1},initialize:function(t,e){this._url=t;var i=n.extend({},this.defaultWmsParams);i.width=i.height=e.detectRetina&&n.Browser.retina?2*this.options.tileSize:this.options.tileSize;for(var o in e)this.options.hasOwnProperty(o)||(i[o]=e[o]);this.wmsParams=i,n.setOptions(this,e)},onAdd:function(t){var e=parseFloat(this.wmsParams.version)>=1.3?"crs":"srs";this.wmsParams[e]=t.options.crs.code,n.TileLayer.prototype.onAdd.call(this,t)},getTileUrl:function(t,e){this._adjustTilePoint(t);var i=this._map,o=i.options.crs,s=this.options.tileSize,a=t.multiplyBy(s),r=a.add(new n.Point(s,s)),h=o.project(i.unproject(a,e)),l=o.project(i.unproject(r,e)),u=[h.x,l.y,l.x,h.y].join(","),c=n.Util.template(this._url,{s:this._getSubdomain(t)});return c+n.Util.getParamString(this.wmsParams,c)+"&bbox="+u},setParams:function(t,e){return n.extend(this.wmsParams,t),e||this.redraw(),this}}),n.tileLayer.wms=function(t,e){return new n.TileLayer.WMS(t,e)},n.TileLayer.Canvas=n.TileLayer.extend({options:{async:!1},initialize:function(t){n.setOptions(this,t)},redraw:function(){var t=this._tiles;for(var e in t)t.hasOwnProperty(e)&&this._redrawTile(t[e])},_redrawTile:function(t){this.drawTile(t,t._tilePoint,this._map._zoom)},_createTileProto:function(){var t=this._canvasProto=n.DomUtil.create("canvas","leaflet-tile");t.width=t.height=this.options.tileSize},_createTile:function(){var t=this._canvasProto.cloneNode(!1);return t.onselectstart=t.onmousemove=n.Util.falseFn,t},_loadTile:function(t,e){t._layer=this,t._tilePoint=e,this._redrawTile(t),this.options.async||this.tileDrawn(t)},drawTile:function(){},tileDrawn:function(t){this._tileOnLoad.call(t)}}),n.tileLayer.canvas=function(t){return new n.TileLayer.Canvas(t)},n.ImageOverlay=n.Class.extend({includes:n.Mixin.Events,options:{opacity:1},initialize:function(t,e,i){this._url=t,this._bounds=n.latLngBounds(e),n.setOptions(this,i)},onAdd:function(t){this._map=t,this._image||this._initImage(),t._panes.overlayPane.appendChild(this._image),t.on("viewreset",this._reset,this),t.options.zoomAnimation&&n.Browser.any3d&&t.on("zoomanim",this._animateZoom,this),this._reset()},onRemove:function(t){t.getPanes().overlayPane.removeChild(this._image),t.off("viewreset",this._reset,this),t.options.zoomAnimation&&t.off("zoomanim",this._animateZoom,this)},addTo:function(t){return t.addLayer(this),this},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},bringToFront:function(){return this._image&&this._map._panes.overlayPane.appendChild(this._image),this},bringToBack:function(){var t=this._map._panes.overlayPane;return this._image&&t.insertBefore(this._image,t.firstChild),this},_initImage:function(){this._image=n.DomUtil.create("img","leaflet-image-layer"),this._map.options.zoomAnimation&&n.Browser.any3d?n.DomUtil.addClass(this._image,"leaflet-zoom-animated"):n.DomUtil.addClass(this._image,"leaflet-zoom-hide"),this._updateOpacity(),n.extend(this._image,{galleryimg:"no",onselectstart:n.Util.falseFn,onmousemove:n.Util.falseFn,onload:n.bind(this._onImageLoad,this),src:this._url})},_animateZoom:function(t){var e=this._map,i=this._image,o=e.getZoomScale(t.zoom),s=this._bounds.getNorthWest(),a=this._bounds.getSouthEast(),r=e._latLngToNewLayerPoint(s,t.zoom,t.center),h=e._latLngToNewLayerPoint(a,t.zoom,t.center)._subtract(r),l=r._add(h._multiplyBy(.5*(1-1/o)));i.style[n.DomUtil.TRANSFORM]=n.DomUtil.getTranslateString(l)+" scale("+o+") "},_reset:function(){var t=this._image,e=this._map.latLngToLayerPoint(this._bounds.getNorthWest()),i=this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(e);n.DomUtil.setPosition(t,e),t.style.width=i.x+"px",t.style.height=i.y+"px"},_onImageLoad:function(){this.fire("load")},_updateOpacity:function(){n.DomUtil.setOpacity(this._image,this.options.opacity)}}),n.imageOverlay=function(t,e,i){return new n.ImageOverlay(t,e,i)},n.Icon=n.Class.extend({options:{className:""},initialize:function(t){n.setOptions(this,t)},createIcon:function(){return this._createIcon("icon")},createShadow:function(){return this._createIcon("shadow")},_createIcon:function(t){var e=this._getIconUrl(t);if(!e){if("icon"===t)throw Error("iconUrl not set in Icon options (see the docs).");return null}var i=this._createImg(e);return this._setIconStyles(i,t),i},_setIconStyles:function(t,e){var i,o=this.options,s=n.point(o[e+"Size"]);i="shadow"===e?n.point(o.shadowAnchor||o.iconAnchor):n.point(o.iconAnchor),!i&&s&&(i=s.divideBy(2,!0)),t.className="leaflet-marker-"+e+" "+o.className,i&&(t.style.marginLeft=-i.x+"px",t.style.marginTop=-i.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t){var i;return n.Browser.ie6?(i=e.createElement("div"),i.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+t+'")'):(i=e.createElement("img"),i.src=t),i},_getIconUrl:function(t){return n.Browser.retina&&this.options[t+"RetinaUrl"]?this.options[t+"RetinaUrl"]:this.options[t+"Url"]}}),n.icon=function(t){return new n.Icon(t)},n.Icon.Default=n.Icon.extend({options:{iconSize:new n.Point(25,41),iconAnchor:new n.Point(12,41),popupAnchor:new n.Point(1,-34),shadowSize:new n.Point(41,41)},_getIconUrl:function(t){var e=t+"Url";if(this.options[e])return this.options[e];n.Browser.retina&&"icon"===t&&(t+="@2x");var i=n.Icon.Default.imagePath;if(!i)throw Error("Couldn't autodetect L.Icon.Default.imagePath, set it manually.");return i+"/marker-"+t+".png"}}),n.Icon.Default.imagePath=function(){var t,i,n,o,s=e.getElementsByTagName("script"),a=/\/?leaflet[\-\._]?([\w\-\._]*)\.js\??/;for(t=0,i=s.length;i>t;t++)if(n=s[t].src,o=n.match(a))return n.split(a)[0]+"/images"}(),n.Marker=n.Class.extend({includes:n.Mixin.Events,options:{icon:new n.Icon.Default,title:"",clickable:!0,draggable:!1,zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250},initialize:function(t,e){n.setOptions(this,e),this._latlng=n.latLng(t)},onAdd:function(t){this._map=t,t.on("viewreset",this.update,this),this._initIcon(),this.update(),t.options.zoomAnimation&&t.options.markerZoomAnimation&&t.on("zoomanim",this._animateZoom,this)},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){this._removeIcon(),this.fire("remove"),t.off({viewreset:this.update,zoomanim:this._animateZoom},this),this._map=null},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=n.latLng(t),this.update(),this.fire("move",{latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update(),this},setIcon:function(t){return this._map&&this._removeIcon(),this.options.icon=t,this._map&&(this._initIcon(),this.update()),this},update:function(){if(this._icon){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e=this._map,i=e.options.zoomAnimation&&e.options.markerZoomAnimation,o=i?"leaflet-zoom-animated":"leaflet-zoom-hide",s=!1;this._icon||(this._icon=t.icon.createIcon(),t.title&&(this._icon.title=t.title),this._initInteraction(),s=1>this.options.opacity,n.DomUtil.addClass(this._icon,o),t.riseOnHover&&n.DomEvent.on(this._icon,"mouseover",this._bringToFront,this).on(this._icon,"mouseout",this._resetZIndex,this)),this._shadow||(this._shadow=t.icon.createShadow(),this._shadow&&(n.DomUtil.addClass(this._shadow,o),s=1>this.options.opacity)),s&&this._updateOpacity();var a=this._map._panes;a.markerPane.appendChild(this._icon),this._shadow&&a.shadowPane.appendChild(this._shadow)},_removeIcon:function(){var t=this._map._panes;this.options.riseOnHover&&n.DomEvent.off(this._icon,"mouseover",this._bringToFront).off(this._icon,"mouseout",this._resetZIndex),t.markerPane.removeChild(this._icon),this._shadow&&t.shadowPane.removeChild(this._shadow),this._icon=this._shadow=null},_setPos:function(t){n.DomUtil.setPosition(this._icon,t),this._shadow&&n.DomUtil.setPosition(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPos(e)},_initInteraction:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu"];n.DomUtil.addClass(t,"leaflet-clickable"),n.DomEvent.on(t,"click",this._onMouseClick,this);for(var i=0;e.length>i;i++)n.DomEvent.on(t,e[i],this._fireMouseEvent,this);n.Handler.MarkerDrag&&(this.dragging=new n.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_onMouseClick:function(t){var e=this.dragging&&this.dragging.moved();(this.hasEventListeners(t.type)||e)&&n.DomEvent.stopPropagation(t),e||(this.dragging&&this.dragging._enabled||!this._map.dragging||!this._map.dragging.moved())&&this.fire(t.type,{originalEvent:t})},_fireMouseEvent:function(t){this.fire(t.type,{originalEvent:t}),"contextmenu"===t.type&&this.hasEventListeners(t.type)&&n.DomEvent.preventDefault(t),"mousedown"!==t.type&&n.DomEvent.stopPropagation(t)},setOpacity:function(t){this.options.opacity=t,this._map&&this._updateOpacity()},_updateOpacity:function(){n.DomUtil.setOpacity(this._icon,this.options.opacity),this._shadow&&n.DomUtil.setOpacity(this._shadow,this.options.opacity)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)}}),n.marker=function(t,e){return new n.Marker(t,e)},n.DivIcon=n.Icon.extend({options:{iconSize:new n.Point(12,12),className:"leaflet-div-icon"},createIcon:function(){var t=e.createElement("div"),i=this.options;return i.html&&(t.innerHTML=i.html),i.bgPos&&(t.style.backgroundPosition=-i.bgPos.x+"px "+-i.bgPos.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}}),n.divIcon=function(t){return new n.DivIcon(t)},n.Map.mergeOptions({closePopupOnClick:!0}),n.Popup=n.Class.extend({includes:n.Mixin.Events,options:{minWidth:50,maxWidth:300,maxHeight:null,autoPan:!0,closeButton:!0,offset:new n.Point(0,6),autoPanPadding:new n.Point(5,5),className:"",zoomAnimation:!0},initialize:function(t,e){n.setOptions(this,t),this._source=e,this._animated=n.Browser.any3d&&this.options.zoomAnimation},onAdd:function(t){this._map=t,this._container||this._initLayout(),this._updateContent();var e=t.options.fadeAnimation;e&&n.DomUtil.setOpacity(this._container,0),t._panes.popupPane.appendChild(this._container),t.on("viewreset",this._updatePosition,this),this._animated&&t.on("zoomanim",this._zoomAnimation,this),t.options.closePopupOnClick&&t.on("preclick",this._close,this),this._update(),e&&n.DomUtil.setOpacity(this._container,1)},addTo:function(t){return t.addLayer(this),this},openOn:function(t){return t.openPopup(this),this},onRemove:function(t){t._panes.popupPane.removeChild(this._container),n.Util.falseFn(this._container.offsetWidth),t.off({viewreset:this._updatePosition,preclick:this._close,zoomanim:this._zoomAnimation},this),t.options.fadeAnimation&&n.DomUtil.setOpacity(this._container,0),this._map=null},setLatLng:function(t){return this._latlng=n.latLng(t),this._update(),this},setContent:function(t){return this._content=t,this._update(),this},_close:function(){var t=this._map;t&&(t._popup=null,t.removeLayer(this).fire("popupclose",{popup:this}))},_initLayout:function(){var t,e="leaflet-popup",i=e+" "+this.options.className+" leaflet-zoom-"+(this._animated?"animated":"hide"),o=this._container=n.DomUtil.create("div",i);this.options.closeButton&&(t=this._closeButton=n.DomUtil.create("a",e+"-close-button",o),t.href="#close",t.innerHTML="&#215;",n.DomEvent.on(t,"click",this._onCloseButtonClick,this));var s=this._wrapper=n.DomUtil.create("div",e+"-content-wrapper",o);n.DomEvent.disableClickPropagation(s),this._contentNode=n.DomUtil.create("div",e+"-content",s),n.DomEvent.on(this._contentNode,"mousewheel",n.DomEvent.stopPropagation),this._tipContainer=n.DomUtil.create("div",e+"-tip-container",o),this._tip=n.DomUtil.create("div",e+"-tip",this._tipContainer)},_update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},_updateContent:function(){if(this._content){if("string"==typeof this._content)this._contentNode.innerHTML=this._content;else{for(;this._contentNode.hasChildNodes();)this._contentNode.removeChild(this._contentNode.firstChild);this._contentNode.appendChild(this._content)}this.fire("contentupdate")}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var o=t.offsetHeight,s=this.options.maxHeight,a="leaflet-popup-scrolled";s&&o>s?(e.height=s+"px",n.DomUtil.addClass(t,a)):n.DomUtil.removeClass(t,a),this._containerWidth=this._container.offsetWidth},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=this._animated,i=this.options.offset;e&&n.DomUtil.setPosition(this._container,t),this._containerBottom=-i.y-(e?0:t.y),this._containerLeft=-Math.round(this._containerWidth/2)+i.x+(e?0:t.x),this._container.style.bottom=this._containerBottom+"px",this._container.style.left=this._containerLeft+"px"}},_zoomAnimation:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);n.DomUtil.setPosition(this._container,e)},_adjustPan:function(){if(this.options.autoPan){var t=this._map,e=this._container.offsetHeight,i=this._containerWidth,o=new n.Point(this._containerLeft,-e-this._containerBottom);this._animated&&o._add(n.DomUtil.getPosition(this._container));var s=t.layerPointToContainerPoint(o),a=this.options.autoPanPadding,r=t.getSize(),h=0,l=0;0>s.x&&(h=s.x-a.x),s.x+i>r.x&&(h=s.x+i-r.x+a.x),0>s.y&&(l=s.y-a.y),s.y+e>r.y&&(l=s.y+e-r.y+a.y),(h||l)&&t.panBy(new n.Point(h,l))}},_onCloseButtonClick:function(t){this._close(),n.DomEvent.stop(t)}}),n.popup=function(t,e){return new n.Popup(t,e)},n.Marker.include({openPopup:function(){return this._popup&&this._map&&(this._popup.setLatLng(this._latlng),this._map.openPopup(this._popup)),this},closePopup:function(){return this._popup&&this._popup._close(),this},bindPopup:function(t,e){var i=n.point(this.options.icon.options.popupAnchor)||new n.Point(0,0);return i=i.add(n.Popup.prototype.options.offset),e&&e.offset&&(i=i.add(e.offset)),e=n.extend({offset:i},e),this._popup||this.on("click",this.openPopup,this).on("remove",this.closePopup,this).on("move",this._movePopup,this),this._popup=new n.Popup(e,this).setContent(t),this},unbindPopup:function(){return this._popup&&(this._popup=null,this.off("click",this.openPopup).off("remove",this.closePopup).off("move",this._movePopup)),this},_movePopup:function(t){this._popup.setLatLng(t.latlng)}}),n.Map.include({openPopup:function(t){return this.closePopup(),this._popup=t,this.addLayer(t).fire("popupopen",{popup:this._popup})},closePopup:function(){return this._popup&&this._popup._close(),this}}),n.LayerGroup=n.Class.extend({initialize:function(t){this._layers={};var e,i;if(t)for(e=0,i=t.length;i>e;e++)this.addLayer(t[e])},addLayer:function(t){var e=n.stamp(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=n.stamp(t);return delete this._layers[e],this._map&&this._map.removeLayer(t),this},clearLayers:function(){return this.eachLayer(this.removeLayer,this),this},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)this._layers.hasOwnProperty(e)&&(i=this._layers[e],i[t]&&i[t].apply(i,n));return this},onAdd:function(t){this._map=t,this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t),this._map=null},addTo:function(t){return t.addLayer(this),this},eachLayer:function(t,e){for(var i in this._layers)this._layers.hasOwnProperty(i)&&t.call(e,this._layers[i])},setZIndex:function(t){return this.invoke("setZIndex",t)}}),n.layerGroup=function(t){return new n.LayerGroup(t)},n.FeatureGroup=n.LayerGroup.extend({includes:n.Mixin.Events,statics:{EVENTS:"click dblclick mouseover mouseout mousemove contextmenu"},addLayer:function(t){return this._layers[n.stamp(t)]?this:(t.on(n.FeatureGroup.EVENTS,this._propagateEvent,this),n.LayerGroup.prototype.addLayer.call(this,t),this._popupContent&&t.bindPopup&&t.bindPopup(this._popupContent,this._popupOptions),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return t.off(n.FeatureGroup.EVENTS,this._propagateEvent,this),n.LayerGroup.prototype.removeLayer.call(this,t),this._popupContent&&this.invoke("unbindPopup"),this.fire("layerremove",{layer:t})},bindPopup:function(t,e){return this._popupContent=t,this._popupOptions=e,this.invoke("bindPopup",t,e)},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new n.LatLngBounds;return this.eachLayer(function(e){t.extend(e instanceof n.Marker?e.getLatLng():e.getBounds())}),t},_propagateEvent:function(t){t.layer=t.target,t.target=this,this.fire(t.type,t)}}),n.featureGroup=function(t){return new n.FeatureGroup(t)},n.Path=n.Class.extend({includes:[n.Mixin.Events],statics:{CLIP_PADDING:n.Browser.mobile?Math.max(0,Math.min(.5,(1280/Math.max(t.innerWidth,t.innerHeight)-1)/2)):.5},options:{stroke:!0,color:"#0033ff",dashArray:null,weight:5,opacity:.5,fill:!1,fillColor:null,fillOpacity:.2,clickable:!0},initialize:function(t){n.setOptions(this,t)},onAdd:function(t){this._map=t,this._container||(this._initElements(),this._initEvents()),this.projectLatlngs(),this._updatePath(),this._container&&this._map._pathRoot.appendChild(this._container),this.fire("add"),t.on({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){t._pathRoot.removeChild(this._container),this.fire("remove"),this._map=null,n.Browser.vml&&(this._container=null,this._stroke=null,this._fill=null),t.off({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},projectLatlngs:function(){},setStyle:function(t){return n.setOptions(this,t),this._container&&this._updateStyle(),this},redraw:function(){return this._map&&(this.projectLatlngs(),this._updatePath()),this}}),n.Map.include({_updatePathViewport:function(){var t=n.Path.CLIP_PADDING,e=this.getSize(),i=n.DomUtil.getPosition(this._mapPane),o=i.multiplyBy(-1)._subtract(e.multiplyBy(t)._round()),s=o.add(e.multiplyBy(1+2*t)._round());this._pathViewport=new n.Bounds(o,s)}}),n.Path.SVG_NS="http://www.w3.org/2000/svg",n.Browser.svg=!(!e.createElementNS||!e.createElementNS(n.Path.SVG_NS,"svg").createSVGRect),n.Path=n.Path.extend({statics:{SVG:n.Browser.svg},bringToFront:function(){var t=this._map._pathRoot,e=this._container;return e&&t.lastChild!==e&&t.appendChild(e),this},bringToBack:function(){var t=this._map._pathRoot,e=this._container,i=t.firstChild;return e&&i!==e&&t.insertBefore(e,i),this},getPathString:function(){},_createElement:function(t){return e.createElementNS(n.Path.SVG_NS,t)},_initElements:function(){this._map._initPathRoot(),this._initPath(),this._initStyle()},_initPath:function(){this._container=this._createElement("g"),this._path=this._createElement("path"),this._container.appendChild(this._path)},_initStyle:function(){this.options.stroke&&(this._path.setAttribute("stroke-linejoin","round"),this._path.setAttribute("stroke-linecap","round")),this.options.fill&&this._path.setAttribute("fill-rule","evenodd"),this._updateStyle()},_updateStyle:function(){this.options.stroke?(this._path.setAttribute("stroke",this.options.color),this._path.setAttribute("stroke-opacity",this.options.opacity),this._path.setAttribute("stroke-width",this.options.weight),this.options.dashArray?this._path.setAttribute("stroke-dasharray",this.options.dashArray):this._path.removeAttribute("stroke-dasharray")):this._path.setAttribute("stroke","none"),this.options.fill?(this._path.setAttribute("fill",this.options.fillColor||this.options.color),this._path.setAttribute("fill-opacity",this.options.fillOpacity)):this._path.setAttribute("fill","none")},_updatePath:function(){var t=this.getPathString();t||(t="M0 0"),this._path.setAttribute("d",t)},_initEvents:function(){if(this.options.clickable){(n.Browser.svg||!n.Browser.vml)&&this._path.setAttribute("class","leaflet-clickable"),n.DomEvent.on(this._container,"click",this._onMouseClick,this);for(var t=["dblclick","mousedown","mouseover","mouseout","mousemove","contextmenu"],e=0;t.length>e;e++)n.DomEvent.on(this._container,t[e],this._fireMouseEvent,this)}},_onMouseClick:function(t){this._map.dragging&&this._map.dragging.moved()||this._fireMouseEvent(t)},_fireMouseEvent:function(t){if(this.hasEventListeners(t.type)){var e=this._map,i=e.mouseEventToContainerPoint(t),o=e.containerPointToLayerPoint(i),s=e.layerPointToLatLng(o);this.fire(t.type,{latlng:s,layerPoint:o,containerPoint:i,originalEvent:t}),"contextmenu"===t.type&&n.DomEvent.preventDefault(t),"mousemove"!==t.type&&n.DomEvent.stopPropagation(t)}}}),n.Map.include({_initPathRoot:function(){this._pathRoot||(this._pathRoot=n.Path.prototype._createElement("svg"),this._panes.overlayPane.appendChild(this._pathRoot),this.options.zoomAnimation&&n.Browser.any3d?(this._pathRoot.setAttribute("class"," leaflet-zoom-animated"),this.on({zoomanim:this._animatePathZoom,zoomend:this._endPathZoom})):this._pathRoot.setAttribute("class"," leaflet-zoom-hide"),this.on("moveend",this._updateSvgViewport),this._updateSvgViewport())},_animatePathZoom:function(t){var e=this.getZoomScale(t.zoom),i=this._getCenterOffset(t.center)._multiplyBy(-e)._add(this._pathViewport.min);this._pathRoot.style[n.DomUtil.TRANSFORM]=n.DomUtil.getTranslateString(i)+" scale("+e+") ",this._pathZooming=!0},_endPathZoom:function(){this._pathZooming=!1},_updateSvgViewport:function(){if(!this._pathZooming){this._updatePathViewport();var t=this._pathViewport,e=t.min,i=t.max,o=i.x-e.x,s=i.y-e.y,a=this._pathRoot,r=this._panes.overlayPane;n.Browser.mobileWebkit&&r.removeChild(a),n.DomUtil.setPosition(a,e),a.setAttribute("width",o),a.setAttribute("height",s),a.setAttribute("viewBox",[e.x,e.y,o,s].join(" ")),n.Browser.mobileWebkit&&r.appendChild(a)}}}),n.Path.include({bindPopup:function(t,e){return(!this._popup||e)&&(this._popup=new n.Popup(e,this)),this._popup.setContent(t),this._popupHandlersAdded||(this.on("click",this._openPopup,this).on("remove",this.closePopup,this),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this._popup=null,this.off("click",this._openPopup).off("remove",this.closePopup),this._popupHandlersAdded=!1),this},openPopup:function(t){return this._popup&&(t=t||this._latlng||this._latlngs[Math.floor(this._latlngs.length/2)],this._openPopup({latlng:t})),this},closePopup:function(){return this._popup&&this._popup._close(),this},_openPopup:function(t){this._popup.setLatLng(t.latlng),this._map.openPopup(this._popup)}}),n.Browser.vml=!n.Browser.svg&&function(){try{var t=e.createElement("div");t.innerHTML='<v:shape adj="1"/>';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(n){return!1}}(),n.Path=n.Browser.svg||!n.Browser.vml?n.Path:n.Path.extend({statics:{VML:!0,CLIP_PADDING:.02},_createElement:function(){try{return e.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return e.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return e.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),_initPath:function(){var t=this._container=this._createElement("shape");n.DomUtil.addClass(t,"leaflet-vml-shape"),this.options.clickable&&n.DomUtil.addClass(t,"leaflet-clickable"),t.coordsize="1 1",this._path=this._createElement("path"),t.appendChild(this._path),this._map._pathRoot.appendChild(t)},_initStyle:function(){this._updateStyle()},_updateStyle:function(){var t=this._stroke,e=this._fill,i=this.options,n=this._container;n.stroked=i.stroke,n.filled=i.fill,i.stroke?(t||(t=this._stroke=this._createElement("stroke"),t.endcap="round",n.appendChild(t)),t.weight=i.weight+"px",t.color=i.color,t.opacity=i.opacity,t.dashStyle=i.dashArray?i.dashArray instanceof Array?i.dashArray.join(" "):i.dashArray.replace(/ *, */g," "):""):t&&(n.removeChild(t),this._stroke=null),i.fill?(e||(e=this._fill=this._createElement("fill"),n.appendChild(e)),e.color=i.fillColor||i.color,e.opacity=i.fillOpacity):e&&(n.removeChild(e),this._fill=null)},_updatePath:function(){var t=this._container.style;t.display="none",this._path.v=this.getPathString()+" ",t.display=""}}),n.Map.include(n.Browser.svg||!n.Browser.vml?{}:{_initPathRoot:function(){if(!this._pathRoot){var t=this._pathRoot=e.createElement("div");t.className="leaflet-vml-container",this._panes.overlayPane.appendChild(t),this.on("moveend",this._updatePathViewport),this._updatePathViewport()}}}),n.Browser.canvas=function(){return!!e.createElement("canvas").getContext}(),n.Path=n.Path.SVG&&!t.L_PREFER_CANVAS||!n.Browser.canvas?n.Path:n.Path.extend({statics:{CANVAS:!0,SVG:!1},redraw:function(){return this._map&&(this.projectLatlngs(),this._requestUpdate()),this},setStyle:function(t){return n.setOptions(this,t),this._map&&(this._updateStyle(),this._requestUpdate()),this},onRemove:function(t){t.off("viewreset",this.projectLatlngs,this).off("moveend",this._updatePath,this),this.options.clickable&&this._map.off("click",this._onClick,this),this._requestUpdate(),this._map=null},_requestUpdate:function(){this._map&&!n.Path._updateRequest&&(n.Path._updateRequest=n.Util.requestAnimFrame(this._fireMapMoveEnd,this._map))},_fireMapMoveEnd:function(){n.Path._updateRequest=null,this.fire("moveend")},_initElements:function(){this._map._initPathRoot(),this._ctx=this._map._canvasCtx},_updateStyle:function(){var t=this.options;t.stroke&&(this._ctx.lineWidth=t.weight,this._ctx.strokeStyle=t.color),t.fill&&(this._ctx.fillStyle=t.fillColor||t.color)},_drawPath:function(){var t,e,i,o,s,a;for(this._ctx.beginPath(),t=0,i=this._parts.length;i>t;t++){for(e=0,o=this._parts[t].length;o>e;e++)s=this._parts[t][e],a=(0===e?"move":"line")+"To",this._ctx[a](s.x,s.y);this instanceof n.Polygon&&this._ctx.closePath()}},_checkIfEmpty:function(){return!this._parts.length},_updatePath:function(){if(!this._checkIfEmpty()){var t=this._ctx,e=this.options;this._drawPath(),t.save(),this._updateStyle(),e.fill&&(t.globalAlpha=e.fillOpacity,t.fill()),e.stroke&&(t.globalAlpha=e.opacity,t.stroke()),t.restore()}},_initEvents:function(){this.options.clickable&&this._map.on("click",this._onClick,this)},_onClick:function(t){this._containsPoint(t.layerPoint)&&this.fire("click",{latlng:t.latlng,layerPoint:t.layerPoint,containerPoint:t.containerPoint,originalEvent:t})}}),n.Map.include(n.Path.SVG&&!t.L_PREFER_CANVAS||!n.Browser.canvas?{}:{_initPathRoot:function(){var t,i=this._pathRoot;i||(i=this._pathRoot=e.createElement("canvas"),i.style.position="absolute",t=this._canvasCtx=i.getContext("2d"),t.lineCap="round",t.lineJoin="round",this._panes.overlayPane.appendChild(i),this.options.zoomAnimation&&(this._pathRoot.className="leaflet-zoom-animated",this.on("zoomanim",this._animatePathZoom),this.on("zoomend",this._endPathZoom)),this.on("moveend",this._updateCanvasViewport),this._updateCanvasViewport())},_updateCanvasViewport:function(){if(!this._pathZooming){this._updatePathViewport();var t=this._pathViewport,e=t.min,i=t.max.subtract(e),o=this._pathRoot;n.DomUtil.setPosition(o,e),o.width=i.x,o.height=i.y,o.getContext("2d").translate(-e.x,-e.y)}}}),n.LineUtil={simplify:function(t,e){if(!e||!t.length)return t.slice();var i=e*e;return t=this._reducePoints(t,i),t=this._simplifyDP(t,i)},pointToSegmentDistance:function(t,e,i){return Math.sqrt(this._sqClosestPointOnSegment(t,e,i,!0))},closestPointOnSegment:function(t,e,i){return this._sqClosestPointOnSegment(t,e,i)},_simplifyDP:function(t,e){var n=t.length,o=typeof Uint8Array!=i+""?Uint8Array:Array,s=new o(n);s[0]=s[n-1]=1,this._simplifyDPStep(t,s,e,0,n-1);var a,r=[];for(a=0;n>a;a++)s[a]&&r.push(t[a]);return r},_simplifyDPStep:function(t,e,i,n,o){var s,a,r,h=0;for(a=n+1;o-1>=a;a++)r=this._sqClosestPointOnSegment(t[a],t[n],t[o],!0),r>h&&(s=a,h=r);h>i&&(e[s]=1,this._simplifyDPStep(t,e,i,n,s),this._simplifyDPStep(t,e,i,s,o))},_reducePoints:function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;s>n;n++)this._sqDist(t[n],t[o])>e&&(i.push(t[n]),o=n);return s-1>o&&i.push(t[s-1]),i},clipSegment:function(t,e,i,n){var o,s,a,r=n?this._lastCode:this._getBitCode(t,i),h=this._getBitCode(e,i);for(this._lastCode=h;;){if(!(r|h))return[t,e];if(r&h)return!1;o=r||h,s=this._getEdgeIntersection(t,e,o,i),a=this._getBitCode(s,i),o===r?(t=s,r=a):(e=s,h=a)}},_getEdgeIntersection:function(t,e,o,s){var a=e.x-t.x,r=e.y-t.y,h=s.min,l=s.max;return 8&o?new n.Point(t.x+a*(l.y-t.y)/r,l.y):4&o?new n.Point(t.x+a*(h.y-t.y)/r,h.y):2&o?new n.Point(l.x,t.y+r*(l.x-t.x)/a):1&o?new n.Point(h.x,t.y+r*(h.x-t.x)/a):i},_getBitCode:function(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i},_sqDist:function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n},_sqClosestPointOnSegment:function(t,e,i,o){var s,a=e.x,r=e.y,h=i.x-a,l=i.y-r,u=h*h+l*l;return u>0&&(s=((t.x-a)*h+(t.y-r)*l)/u,s>1?(a=i.x,r=i.y):s>0&&(a+=h*s,r+=l*s)),h=t.x-a,l=t.y-r,o?h*h+l*l:new n.Point(a,r)}},n.Polyline=n.Path.extend({initialize:function(t,e){n.Path.prototype.initialize.call(this,e),this._latlngs=this._convertLatLngs(t)},options:{smoothFactor:1,noClip:!1},projectLatlngs:function(){this._originalPoints=[];for(var t=0,e=this._latlngs.length;e>t;t++)this._originalPoints[t]=this._map.latLngToLayerPoint(this._latlngs[t])},getPathString:function(){for(var t=0,e=this._parts.length,i="";e>t;t++)i+=this._getPathPartStr(this._parts[t]);return i},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._latlngs=this._convertLatLngs(t),this.redraw()},addLatLng:function(t){return this._latlngs.push(n.latLng(t)),this.redraw()},spliceLatLngs:function(){var t=[].splice.apply(this._latlngs,arguments);return this._convertLatLngs(this._latlngs),this.redraw(),t},closestLayerPoint:function(t){for(var e,i,o=1/0,s=this._parts,a=null,r=0,h=s.length;h>r;r++)for(var l=s[r],u=1,c=l.length;c>u;u++){e=l[u-1],i=l[u];
var _=n.LineUtil._sqClosestPointOnSegment(t,e,i,!0);o>_&&(o=_,a=n.LineUtil._sqClosestPointOnSegment(t,e,i))}return a&&(a.distance=Math.sqrt(o)),a},getBounds:function(){var t,e,i=new n.LatLngBounds,o=this.getLatLngs();for(t=0,e=o.length;e>t;t++)i.extend(o[t]);return i},_convertLatLngs:function(t){var e,i;for(e=0,i=t.length;i>e;e++){if(n.Util.isArray(t[e])&&"number"!=typeof t[e][0])return;t[e]=n.latLng(t[e])}return t},_initEvents:function(){n.Path.prototype._initEvents.call(this)},_getPathPartStr:function(t){for(var e,i=n.Path.VML,o=0,s=t.length,a="";s>o;o++)e=t[o],i&&e._round(),a+=(o?"L":"M")+e.x+" "+e.y;return a},_clipPoints:function(){var t,e,o,s=this._originalPoints,a=s.length;if(this.options.noClip)return this._parts=[s],i;this._parts=[];var r=this._parts,h=this._map._pathViewport,l=n.LineUtil;for(t=0,e=0;a-1>t;t++)o=l.clipSegment(s[t],s[t+1],h,t),o&&(r[e]=r[e]||[],r[e].push(o[0]),(o[1]!==s[t+1]||t===a-2)&&(r[e].push(o[1]),e++))},_simplifyPoints:function(){for(var t=this._parts,e=n.LineUtil,i=0,o=t.length;o>i;i++)t[i]=e.simplify(t[i],this.options.smoothFactor)},_updatePath:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),n.Path.prototype._updatePath.call(this))}}),n.polyline=function(t,e){return new n.Polyline(t,e)},n.PolyUtil={},n.PolyUtil.clipPolygon=function(t,e){var i,o,s,a,r,h,l,u,c,_=[1,4,2,8],d=n.LineUtil;for(o=0,l=t.length;l>o;o++)t[o]._code=d._getBitCode(t[o],e);for(a=0;4>a;a++){for(u=_[a],i=[],o=0,l=t.length,s=l-1;l>o;s=o++)r=t[o],h=t[s],r._code&u?h._code&u||(c=d._getEdgeIntersection(h,r,u,e),c._code=d._getBitCode(c,e),i.push(c)):(h._code&u&&(c=d._getEdgeIntersection(h,r,u,e),c._code=d._getBitCode(c,e),i.push(c)),i.push(r));t=i}return t},n.Polygon=n.Polyline.extend({options:{fill:!0},initialize:function(t,e){n.Polyline.prototype.initialize.call(this,t,e),t&&n.Util.isArray(t[0])&&"number"!=typeof t[0][0]&&(this._latlngs=this._convertLatLngs(t[0]),this._holes=t.slice(1))},projectLatlngs:function(){if(n.Polyline.prototype.projectLatlngs.call(this),this._holePoints=[],this._holes){var t,e,i,o;for(t=0,i=this._holes.length;i>t;t++)for(this._holePoints[t]=[],e=0,o=this._holes[t].length;o>e;e++)this._holePoints[t][e]=this._map.latLngToLayerPoint(this._holes[t][e])}},_clipPoints:function(){var t=this._originalPoints,e=[];if(this._parts=[t].concat(this._holePoints),!this.options.noClip){for(var i=0,o=this._parts.length;o>i;i++){var s=n.PolyUtil.clipPolygon(this._parts[i],this._map._pathViewport);s.length&&e.push(s)}this._parts=e}},_getPathPartStr:function(t){var e=n.Polyline.prototype._getPathPartStr.call(this,t);return e+(n.Browser.svg?"z":"x")}}),n.polygon=function(t,e){return new n.Polygon(t,e)},function(){function t(t){return n.FeatureGroup.extend({initialize:function(t,e){this._layers={},this._options=e,this.setLatLngs(t)},setLatLngs:function(e){var i=0,n=e.length;for(this.eachLayer(function(t){n>i?t.setLatLngs(e[i++]):this.removeLayer(t)},this);n>i;)this.addLayer(new t(e[i++],this._options));return this}})}n.MultiPolyline=t(n.Polyline),n.MultiPolygon=t(n.Polygon),n.multiPolyline=function(t,e){return new n.MultiPolyline(t,e)},n.multiPolygon=function(t,e){return new n.MultiPolygon(t,e)}}(),n.Rectangle=n.Polygon.extend({initialize:function(t,e){n.Polygon.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=n.latLngBounds(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}}),n.rectangle=function(t,e){return new n.Rectangle(t,e)},n.Circle=n.Path.extend({initialize:function(t,e,i){n.Path.prototype.initialize.call(this,i),this._latlng=n.latLng(t),this._mRadius=e},options:{fill:!0},setLatLng:function(t){return this._latlng=n.latLng(t),this.redraw()},setRadius:function(t){return this._mRadius=t,this.redraw()},projectLatlngs:function(){var t=this._getLngRadius(),e=new n.LatLng(this._latlng.lat,this._latlng.lng-t),i=this._map.latLngToLayerPoint(e);this._point=this._map.latLngToLayerPoint(this._latlng),this._radius=Math.max(Math.round(this._point.x-i.x),1)},getBounds:function(){var t=this._getLngRadius(),e=360*(this._mRadius/40075017),i=this._latlng,o=new n.LatLng(i.lat-e,i.lng-t),s=new n.LatLng(i.lat+e,i.lng+t);return new n.LatLngBounds(o,s)},getLatLng:function(){return this._latlng},getPathString:function(){var t=this._point,e=this._radius;return this._checkIfEmpty()?"":n.Browser.svg?"M"+t.x+","+(t.y-e)+"A"+e+","+e+",0,1,1,"+(t.x-.1)+","+(t.y-e)+" z":(t._round(),e=Math.round(e),"AL "+t.x+","+t.y+" "+e+","+e+" 0,"+23592600)},getRadius:function(){return this._mRadius},_getLatRadius:function(){return 360*(this._mRadius/40075017)},_getLngRadius:function(){return this._getLatRadius()/Math.cos(n.LatLng.DEG_TO_RAD*this._latlng.lat)},_checkIfEmpty:function(){if(!this._map)return!1;var t=this._map._pathViewport,e=this._radius,i=this._point;return i.x-e>t.max.x||i.y-e>t.max.y||i.x+e<t.min.x||i.y+e<t.min.y}}),n.circle=function(t,e,i){return new n.Circle(t,e,i)},n.CircleMarker=n.Circle.extend({options:{radius:10,weight:2},initialize:function(t,e){n.Circle.prototype.initialize.call(this,t,null,e),this._radius=this.options.radius},projectLatlngs:function(){this._point=this._map.latLngToLayerPoint(this._latlng)},_updateStyle:function(){n.Circle.prototype._updateStyle.call(this),this.setRadius(this.options.radius)},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()}}),n.circleMarker=function(t,e){return new n.CircleMarker(t,e)},n.Polyline.include(n.Path.CANVAS?{_containsPoint:function(t,e){var i,o,s,a,r,h,l,u=this.options.weight/2;for(n.Browser.touch&&(u+=10),i=0,a=this._parts.length;a>i;i++)for(l=this._parts[i],o=0,r=l.length,s=r-1;r>o;s=o++)if((e||0!==o)&&(h=n.LineUtil.pointToSegmentDistance(t,l[s],l[o]),u>=h))return!0;return!1}}:{}),n.Polygon.include(n.Path.CANVAS?{_containsPoint:function(t){var e,i,o,s,a,r,h,l,u=!1;if(n.Polyline.prototype._containsPoint.call(this,t,!0))return!0;for(s=0,h=this._parts.length;h>s;s++)for(e=this._parts[s],a=0,l=e.length,r=l-1;l>a;r=a++)i=e[a],o=e[r],i.y>t.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(u=!u);return u}}:{}),n.Circle.include(n.Path.CANVAS?{_drawPath:function(){var t=this._point;this._ctx.beginPath(),this._ctx.arc(t.x,t.y,this._radius,0,2*Math.PI,!1)},_containsPoint:function(t){var e=this._point,i=this.options.stroke?this.options.weight/2:0;return t.distanceTo(e)<=this._radius+i}}:{}),n.GeoJSON=n.FeatureGroup.extend({initialize:function(t,e){n.setOptions(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,o=n.Util.isArray(t)?t:t.features;if(o){for(e=0,i=o.length;i>e;e++)(o[e].geometries||o[e].geometry||o[e].features)&&this.addData(o[e]);return this}var s=this.options;if(!s.filter||s.filter(t)){var a=n.GeoJSON.geometryToLayer(t,s.pointToLayer);return a.feature=t,a.defaultOptions=a.options,this.resetStyle(a),s.onEachFeature&&s.onEachFeature(t,a),this.addLayer(a)}},resetStyle:function(t){var e=this.options.style;e&&(n.Util.extend(t.options,t.defaultOptions),this._setLayerStyle(t,e))},setStyle:function(t){this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}}),n.extend(n.GeoJSON,{geometryToLayer:function(t,e){var i,o,s,a,r,h="Feature"===t.type?t.geometry:t,l=h.coordinates,u=[];switch(h.type){case"Point":return i=this.coordsToLatLng(l),e?e(t,i):new n.Marker(i);case"MultiPoint":for(s=0,a=l.length;a>s;s++)i=this.coordsToLatLng(l[s]),r=e?e(t,i):new n.Marker(i),u.push(r);return new n.FeatureGroup(u);case"LineString":return o=this.coordsToLatLngs(l),new n.Polyline(o);case"Polygon":return o=this.coordsToLatLngs(l,1),new n.Polygon(o);case"MultiLineString":return o=this.coordsToLatLngs(l,1),new n.MultiPolyline(o);case"MultiPolygon":return o=this.coordsToLatLngs(l,2),new n.MultiPolygon(o);case"GeometryCollection":for(s=0,a=h.geometries.length;a>s;s++)r=this.geometryToLayer({geometry:h.geometries[s],type:"Feature",properties:t.properties},e),u.push(r);return new n.FeatureGroup(u);default:throw Error("Invalid GeoJSON object.")}},coordsToLatLng:function(t,e){var i=parseFloat(t[e?0:1]),o=parseFloat(t[e?1:0]);return new n.LatLng(i,o)},coordsToLatLngs:function(t,e,i){var n,o,s,a=[];for(o=0,s=t.length;s>o;o++)n=e?this.coordsToLatLngs(t[o],e-1,i):this.coordsToLatLng(t[o],i),a.push(n);return a}}),n.geoJson=function(t,e){return new n.GeoJSON(t,e)},n.DomEvent={addListener:function(t,e,o,s){var a,r,h,l=n.stamp(o),u="_leaflet_"+e+l;return t[u]?this:(a=function(e){return o.call(s||t,e||n.DomEvent._getEvent())},n.Browser.msTouch&&0===e.indexOf("touch")?this.addMsTouchListener(t,e,a,l):(n.Browser.touch&&"dblclick"===e&&this.addDoubleTapListener&&this.addDoubleTapListener(t,a,l),"addEventListener"in t?"mousewheel"===e?(t.addEventListener("DOMMouseScroll",a,!1),t.addEventListener(e,a,!1)):"mouseenter"===e||"mouseleave"===e?(r=a,h="mouseenter"===e?"mouseover":"mouseout",a=function(e){return n.DomEvent._checkMouse(t,e)?r(e):i},t.addEventListener(h,a,!1)):t.addEventListener(e,a,!1):"attachEvent"in t&&t.attachEvent("on"+e,a),t[u]=a,this))},removeListener:function(t,e,i){var o=n.stamp(i),s="_leaflet_"+e+o,a=t[s];if(a)return n.Browser.msTouch&&0===e.indexOf("touch")?this.removeMsTouchListener(t,e,o):n.Browser.touch&&"dblclick"===e&&this.removeDoubleTapListener?this.removeDoubleTapListener(t,o):"removeEventListener"in t?"mousewheel"===e?(t.removeEventListener("DOMMouseScroll",a,!1),t.removeEventListener(e,a,!1)):"mouseenter"===e||"mouseleave"===e?t.removeEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1):t.removeEventListener(e,a,!1):"detachEvent"in t&&t.detachEvent("on"+e,a),t[s]=null,this},stopPropagation:function(t){return t.stopPropagation?t.stopPropagation():t.cancelBubble=!0,this},disableClickPropagation:function(t){for(var e=n.DomEvent.stopPropagation,i=n.Draggable.START.length-1;i>=0;i--)n.DomEvent.addListener(t,n.Draggable.START[i],e);return n.DomEvent.addListener(t,"click",e).addListener(t,"dblclick",e)},preventDefault:function(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this},stop:function(t){return n.DomEvent.preventDefault(t).stopPropagation(t)},getMousePosition:function(t,i){var o=e.body,s=e.documentElement,a=t.pageX?t.pageX:t.clientX+o.scrollLeft+s.scrollLeft,r=t.pageY?t.pageY:t.clientY+o.scrollTop+s.scrollTop,h=new n.Point(a,r);return i?h._subtract(n.DomUtil.getViewportOffset(i)):h},getWheelDelta:function(t){var e=0;return t.wheelDelta&&(e=t.wheelDelta/120),t.detail&&(e=-t.detail/3),e},_checkMouse:function(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(n){return!1}return i!==t},_getEvent:function(){var e=t.event;if(!e)for(var i=arguments.callee.caller;i&&(e=i.arguments[0],!e||t.Event!==e.constructor);)i=i.caller;return e}},n.DomEvent.on=n.DomEvent.addListener,n.DomEvent.off=n.DomEvent.removeListener,n.Draggable=n.Class.extend({includes:n.Mixin.Events,statics:{START:n.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",MSPointerDown:"touchmove"},TAP_TOLERANCE:15},initialize:function(t,e,i){this._element=t,this._dragStartTarget=e||t,this._longPress=i&&!n.Browser.msTouch},enable:function(){if(!this._enabled){for(var t=n.Draggable.START.length-1;t>=0;t--)n.DomEvent.on(this._dragStartTarget,n.Draggable.START[t],this._onDown,this);this._enabled=!0}},disable:function(){if(this._enabled){for(var t=n.Draggable.START.length-1;t>=0;t--)n.DomEvent.off(this._dragStartTarget,n.Draggable.START[t],this._onDown,this);this._enabled=!1,this._moved=!1}},_onDown:function(t){if(!(!n.Browser.touch&&t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(n.DomEvent.preventDefault(t),n.DomEvent.stopPropagation(t),n.Draggable._disabled))){if(this._simulateClick=!0,t.touches&&t.touches.length>1)return this._simulateClick=!1,clearTimeout(this._longPressTimeout),i;var o=t.touches&&1===t.touches.length?t.touches[0]:t,s=o.target;n.Browser.touch&&"a"===s.tagName.toLowerCase()&&n.DomUtil.addClass(s,"leaflet-active"),this._moved=!1,this._moving||(this._startPoint=new n.Point(o.clientX,o.clientY),this._startPos=this._newPos=n.DomUtil.getPosition(this._element),t.touches&&1===t.touches.length&&n.Browser.touch&&this._longPress&&(this._longPressTimeout=setTimeout(n.bind(function(){var t=this._newPos&&this._newPos.distanceTo(this._startPos)||0;n.Draggable.TAP_TOLERANCE>t&&(this._simulateClick=!1,this._onUp(),this._simulateEvent("contextmenu",o))},this),1e3)),n.DomEvent.on(e,n.Draggable.MOVE[t.type],this._onMove,this),n.DomEvent.on(e,n.Draggable.END[t.type],this._onUp,this))}},_onMove:function(t){if(!(t.touches&&t.touches.length>1)){var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new n.Point(e.clientX,e.clientY),o=i.subtract(this._startPoint);(o.x||o.y)&&(n.DomEvent.preventDefault(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=n.DomUtil.getPosition(this._element).subtract(o),n.Browser.touch||(n.DomUtil.disableTextSelection(),this._setMovingCursor())),this._newPos=this._startPos.add(o),this._moving=!0,n.Util.cancelAnimFrame(this._animRequest),this._animRequest=n.Util.requestAnimFrame(this._updatePosition,this,!0,this._dragStartTarget))}},_updatePosition:function(){this.fire("predrag"),n.DomUtil.setPosition(this._element,this._newPos),this.fire("drag")},_onUp:function(t){var i;if(clearTimeout(this._longPressTimeout),this._simulateClick&&t.changedTouches){var o=t.changedTouches[0],s=o.target,a=this._newPos&&this._newPos.distanceTo(this._startPos)||0;"a"===s.tagName.toLowerCase()&&n.DomUtil.removeClass(s,"leaflet-active"),n.Draggable.TAP_TOLERANCE>a&&(i=o)}n.Browser.touch||(n.DomUtil.enableTextSelection(),this._restoreCursor());for(var r in n.Draggable.MOVE)n.Draggable.MOVE.hasOwnProperty(r)&&(n.DomEvent.off(e,n.Draggable.MOVE[r],this._onMove),n.DomEvent.off(e,n.Draggable.END[r],this._onUp));this._moved&&(n.Util.cancelAnimFrame(this._animRequest),this.fire("dragend")),this._moving=!1,i&&(this._moved=!1,this._simulateEvent("click",i))},_setMovingCursor:function(){n.DomUtil.addClass(e.body,"leaflet-dragging")},_restoreCursor:function(){n.DomUtil.removeClass(e.body,"leaflet-dragging")},_simulateEvent:function(i,n){var o=e.createEvent("MouseEvents");o.initMouseEvent(i,!0,!0,t,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(o)}}),n.Handler=n.Class.extend({initialize:function(t){this._map=t},enable:function(){this._enabled||(this._enabled=!0,this.addHooks())},disable:function(){this._enabled&&(this._enabled=!1,this.removeHooks())},enabled:function(){return!!this._enabled}}),n.Map.mergeOptions({dragging:!0,inertia:!n.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,inertiaThreshold:n.Browser.touch?32:18,easeLinearity:.25,longPress:!0,worldCopyJump:!1}),n.Map.Drag=n.Handler.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new n.Draggable(t._mapPane,t._container,t.options.longPress),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDrag,this),t.on("viewreset",this._onViewReset,this))}this._draggable.enable()},removeHooks:function(){this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){var t=this._map;t._panAnim&&t._panAnim.stop(),t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(){if(this._map.options.inertia){var t=this._lastTime=+new Date,e=this._lastPos=this._draggable._newPos;this._positions.push(e),this._times.push(t),t-this._times[0]>200&&(this._positions.shift(),this._times.shift())}this._map.fire("move").fire("drag")},_onViewReset:function(){var t=this._map.getSize()._divideBy(2),e=this._map.latLngToLayerPoint(new n.LatLng(0,0));this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.project(new n.LatLng(0,180)).x},_onPreDrag:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,a=Math.abs(o+i)<Math.abs(s+i)?o:s;this._draggable._newPos.x=a},_onDragEnd:function(){var t=this._map,e=t.options,i=+new Date-this._lastTime,o=!e.inertia||i>e.inertiaThreshold||!this._positions[0];if(o)t.fire("moveend");else{var s=this._lastPos.subtract(this._positions[0]),a=(this._lastTime+i-this._times[0])/1e3,r=e.easeLinearity,h=s.multiplyBy(r/a),l=h.distanceTo(new n.Point(0,0)),u=Math.min(e.inertiaMaxSpeed,l),c=h.multiplyBy(u/l),_=u/(e.inertiaDeceleration*r),d=c.multiplyBy(-_/2).round();n.Util.requestAnimFrame(function(){t.panBy(d,_,r)})}t.fire("dragend"),e.maxBounds&&n.Util.requestAnimFrame(this._panInsideMaxBounds,t,!0,t._container)},_panInsideMaxBounds:function(){this.panInsideBounds(this.options.maxBounds)}}),n.Map.addInitHook("addHandler","dragging",n.Map.Drag),n.Map.mergeOptions({doubleClickZoom:!0}),n.Map.DoubleClickZoom=n.Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick)},_onDoubleClick:function(t){this.setView(t.latlng,this._zoom+1)}}),n.Map.addInitHook("addHandler","doubleClickZoom",n.Map.DoubleClickZoom),n.Map.mergeOptions({scrollWheelZoom:!0}),n.Map.ScrollWheelZoom=n.Handler.extend({addHooks:function(){n.DomEvent.on(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){n.DomEvent.off(this._map._container,"mousewheel",this._onWheelScroll)},_onWheelScroll:function(t){var e=n.DomEvent.getWheelDelta(t);this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(40-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(n.bind(this._performZoom,this),i),n.DomEvent.preventDefault(t),n.DomEvent.stopPropagation(t)},_performZoom:function(){var t=this._map,e=this._delta,i=t.getZoom();if(e=e>0?Math.ceil(e):Math.round(e),e=Math.max(Math.min(e,4),-4),e=t._limitZoom(i+e)-i,this._delta=0,this._startTime=null,e){var n=i+e,o=this._getCenterForScrollWheelZoom(n);t.setView(o,n)}},_getCenterForScrollWheelZoom:function(t){var e=this._map,i=e.getZoomScale(t),n=e.getSize()._divideBy(2),o=this._lastMousePos._subtract(n)._multiplyBy(1-1/i),s=e._getTopLeftPoint()._add(n)._add(o);return e.unproject(s)}}),n.Map.addInitHook("addHandler","scrollWheelZoom",n.Map.ScrollWheelZoom),n.extend(n.DomEvent,{_touchstart:n.Browser.msTouch?"MSPointerDown":"touchstart",_touchend:n.Browser.msTouch?"MSPointerUp":"touchend",addDoubleTapListener:function(t,i,o){function s(t){var e;if(n.Browser.msTouch?(p.push(t.pointerId),e=p.length):e=t.touches.length,!(e>1)){var i=Date.now(),o=i-(r||i);h=t.touches?t.touches[0]:t,l=o>0&&u>=o,r=i}}function a(t){if(n.Browser.msTouch){var e=p.indexOf(t.pointerId);if(-1===e)return;p.splice(e,1)}if(l){if(n.Browser.msTouch){var o,s={};for(var a in h)o=h[a],s[a]="function"==typeof o?o.bind(h):o;h=s}h.type="dblclick",i(h),r=null}}var r,h,l=!1,u=250,c="_leaflet_",_=this._touchstart,d=this._touchend,p=[];t[c+_+o]=s,t[c+d+o]=a;var m=n.Browser.msTouch?e.documentElement:t;return t.addEventListener(_,s,!1),m.addEventListener(d,a,!1),n.Browser.msTouch&&m.addEventListener("MSPointerCancel",a,!1),this},removeDoubleTapListener:function(t,i){var o="_leaflet_";return t.removeEventListener(this._touchstart,t[o+this._touchstart+i],!1),(n.Browser.msTouch?e.documentElement:t).removeEventListener(this._touchend,t[o+this._touchend+i],!1),n.Browser.msTouch&&e.documentElement.removeEventListener("MSPointerCancel",t[o+this._touchend+i],!1),this}}),n.extend(n.DomEvent,{_msTouches:[],_msDocumentListener:!1,addMsTouchListener:function(t,e,i,n){switch(e){case"touchstart":return this.addMsTouchListenerStart(t,e,i,n);case"touchend":return this.addMsTouchListenerEnd(t,e,i,n);case"touchmove":return this.addMsTouchListenerMove(t,e,i,n);default:throw"Unknown touch event type"}},addMsTouchListenerStart:function(t,i,n,o){var s="_leaflet_",a=this._msTouches,r=function(t){for(var e=!1,i=0;a.length>i;i++)if(a[i].pointerId===t.pointerId){e=!0;break}e||a.push(t),t.touches=a.slice(),t.changedTouches=[t],n(t)};if(t[s+"touchstart"+o]=r,t.addEventListener("MSPointerDown",r,!1),!this._msDocumentListener){var h=function(t){for(var e=0;a.length>e;e++)if(a[e].pointerId===t.pointerId){a.splice(e,1);break}};e.documentElement.addEventListener("MSPointerUp",h,!1),e.documentElement.addEventListener("MSPointerCancel",h,!1),this._msDocumentListener=!0}return this},addMsTouchListenerMove:function(t,e,i,n){function o(t){if(t.pointerType!==t.MSPOINTER_TYPE_MOUSE||0!==t.buttons){for(var e=0;a.length>e;e++)if(a[e].pointerId===t.pointerId){a[e]=t;break}t.touches=a.slice(),t.changedTouches=[t],i(t)}}var s="_leaflet_",a=this._msTouches;return t[s+"touchmove"+n]=o,t.addEventListener("MSPointerMove",o,!1),this},addMsTouchListenerEnd:function(t,e,i,n){var o="_leaflet_",s=this._msTouches,a=function(t){for(var e=0;s.length>e;e++)if(s[e].pointerId===t.pointerId){s.splice(e,1);break}t.touches=s.slice(),t.changedTouches=[t],i(t)};return t[o+"touchend"+n]=a,t.addEventListener("MSPointerUp",a,!1),t.addEventListener("MSPointerCancel",a,!1),this},removeMsTouchListener:function(t,e,i){var n="_leaflet_",o=t[n+e+i];switch(e){case"touchstart":t.removeEventListener("MSPointerDown",o,!1);break;case"touchmove":t.removeEventListener("MSPointerMove",o,!1);break;case"touchend":t.removeEventListener("MSPointerUp",o,!1),t.removeEventListener("MSPointerCancel",o,!1)}return this}}),n.Map.mergeOptions({touchZoom:n.Browser.touch&&!n.Browser.android23}),n.Map.TouchZoom=n.Handler.extend({addHooks:function(){n.DomEvent.on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){n.DomEvent.off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var o=i.mouseEventToLayerPoint(t.touches[0]),s=i.mouseEventToLayerPoint(t.touches[1]),a=i._getCenterLayerPoint();this._startCenter=o.add(s)._divideBy(2),this._startDist=o.distanceTo(s),this._moved=!1,this._zooming=!0,this._centerOffset=a.subtract(this._startCenter),i._panAnim&&i._panAnim.stop(),n.DomEvent.on(e,"touchmove",this._onTouchMove,this).on(e,"touchend",this._onTouchEnd,this),n.DomEvent.preventDefault(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length){var e=this._map,i=e.mouseEventToLayerPoint(t.touches[0]),o=e.mouseEventToLayerPoint(t.touches[1]);this._scale=i.distanceTo(o)/this._startDist,this._delta=i._add(o)._divideBy(2)._subtract(this._startCenter),1!==this._scale&&(this._moved||(n.DomUtil.addClass(e._mapPane,"leaflet-zoom-anim leaflet-touching"),e.fire("movestart").fire("zoomstart")._prepareTileBg(),this._moved=!0),n.Util.cancelAnimFrame(this._animRequest),this._animRequest=n.Util.requestAnimFrame(this._updateOnMove,this,!0,this._map._container),n.DomEvent.preventDefault(t))}},_updateOnMove:function(){var t=this._map,e=this._getScaleOrigin(),i=t.layerPointToLatLng(e);t.fire("zoomanim",{center:i,zoom:t.getScaleZoom(this._scale)}),t._tileBg.style[n.DomUtil.TRANSFORM]=n.DomUtil.getTranslateString(this._delta)+" "+n.DomUtil.getScaleString(this._scale,this._startCenter)},_onTouchEnd:function(){if(this._moved&&this._zooming){var t=this._map;this._zooming=!1,n.DomUtil.removeClass(t._mapPane,"leaflet-touching"),n.DomEvent.off(e,"touchmove",this._onTouchMove).off(e,"touchend",this._onTouchEnd);var i=this._getScaleOrigin(),o=t.layerPointToLatLng(i),s=t.getZoom(),a=t.getScaleZoom(this._scale)-s,r=a>0?Math.ceil(a):Math.floor(a),h=t._limitZoom(s+r);t.fire("zoomanim",{center:o,zoom:h}),t._runAnimation(o,h,t.getZoomScale(h)/this._scale,i,!0)}},_getScaleOrigin:function(){var t=this._centerOffset.subtract(this._delta).divideBy(this._scale);return this._startCenter.add(t)}}),n.Map.addInitHook("addHandler","touchZoom",n.Map.TouchZoom),n.Map.mergeOptions({boxZoom:!0}),n.Map.BoxZoom=n.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){n.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){n.DomEvent.off(this._container,"mousedown",this._onMouseDown)},_onMouseDown:function(t){return!t.shiftKey||1!==t.which&&1!==t.button?!1:(n.DomUtil.disableTextSelection(),this._startLayerPoint=this._map.mouseEventToLayerPoint(t),this._box=n.DomUtil.create("div","leaflet-zoom-box",this._pane),n.DomUtil.setPosition(this._box,this._startLayerPoint),this._container.style.cursor="crosshair",n.DomEvent.on(e,"mousemove",this._onMouseMove,this).on(e,"mouseup",this._onMouseUp,this).preventDefault(t),this._map.fire("boxzoomstart"),i)},_onMouseMove:function(t){var e=this._startLayerPoint,i=this._box,o=this._map.mouseEventToLayerPoint(t),s=o.subtract(e),a=new n.Point(Math.min(o.x,e.x),Math.min(o.y,e.y));n.DomUtil.setPosition(i,a),i.style.width=Math.max(0,Math.abs(s.x)-4)+"px",i.style.height=Math.max(0,Math.abs(s.y)-4)+"px"},_onMouseUp:function(t){this._pane.removeChild(this._box),this._container.style.cursor="",n.DomUtil.enableTextSelection(),n.DomEvent.off(e,"mousemove",this._onMouseMove).off(e,"mouseup",this._onMouseUp);var i=this._map,o=i.mouseEventToLayerPoint(t);if(!this._startLayerPoint.equals(o)){var s=new n.LatLngBounds(i.layerPointToLatLng(this._startLayerPoint),i.layerPointToLatLng(o));i.fitBounds(s),i.fire("boxzoomend",{boxZoomBounds:s})}}}),n.Map.addInitHook("addHandler","boxZoom",n.Map.BoxZoom),n.Map.mergeOptions({keyboard:!0,keyboardPanOffset:80,keyboardZoomOffset:1}),n.Map.Keyboard=n.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61],zoomOut:[189,109,173]},initialize:function(t){this._map=t,this._setPanOffset(t.options.keyboardPanOffset),this._setZoomOffset(t.options.keyboardZoomOffset)},addHooks:function(){var t=this._map._container;-1===t.tabIndex&&(t.tabIndex="0"),n.DomEvent.on(t,"focus",this._onFocus,this).on(t,"blur",this._onBlur,this).on(t,"mousedown",this._onMouseDown,this),this._map.on("focus",this._addHooks,this).on("blur",this._removeHooks,this)},removeHooks:function(){this._removeHooks();var t=this._map._container;n.DomEvent.off(t,"focus",this._onFocus,this).off(t,"blur",this._onBlur,this).off(t,"mousedown",this._onMouseDown,this),this._map.off("focus",this._addHooks,this).off("blur",this._removeHooks,this)},_onMouseDown:function(){this._focused||this._map._container.focus()},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanOffset:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;i>e;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;i>e;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;i>e;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;i>e;e++)n[o.up[e]]=[0,-1*t]},_setZoomOffset:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;i>e;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;i>e;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){n.DomEvent.on(e,"keydown",this._onKeyDown,this)},_removeHooks:function(){n.DomEvent.off(e,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){var e=t.keyCode,i=this._map;if(this._panKeys.hasOwnProperty(e))i.panBy(this._panKeys[e]),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds);else{if(!this._zoomKeys.hasOwnProperty(e))return;i.setZoom(i.getZoom()+this._zoomKeys[e])}n.DomEvent.stop(t)}}),n.Map.addInitHook("addHandler","keyboard",n.Map.Keyboard),n.Handler.MarkerDrag=n.Handler.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new n.Draggable(t,t).on("dragstart",this._onDragStart,this).on("drag",this._onDrag,this).on("dragend",this._onDragEnd,this)),this._draggable.enable()},removeHooks:function(){this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){this._marker.closePopup().fire("movestart").fire("dragstart")},_onDrag:function(){var t=this._marker,e=t._shadow,i=n.DomUtil.getPosition(t._icon),o=t._map.layerPointToLatLng(i);e&&n.DomUtil.setPosition(e,i),t._latlng=o,t.fire("move",{latlng:o}).fire("drag")},_onDragEnd:function(){this._marker.fire("moveend").fire("dragend")}}),n.Handler.PolyEdit=n.Handler.extend({options:{icon:new n.DivIcon({iconSize:new n.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"})},initialize:function(t,e){this._poly=t,n.setOptions(this,e)},addHooks:function(){this._poly._map&&(this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){this._poly._map&&(this._poly._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new n.LayerGroup),this._markers=[];var t,e,i,o,s=this._poly._latlngs;for(t=0,i=s.length;i>t;t++)o=this._createMarker(s[t],t),o.on("click",this._onMarkerClick,this),this._markers.push(o);var a,r;for(t=0,e=i-1;i>t;e=t++)(0!==t||n.Polygon&&this._poly instanceof n.Polygon)&&(a=this._markers[e],r=this._markers[t],this._createMiddleMarker(a,r),this._updatePrevNext(a,r))},_createMarker:function(t,e){var i=new n.Marker(t,{draggable:!0,icon:this.options.icon});return i._origLatLng=t,i._index=e,i.on("drag",this._onMarkerDrag,this),i.on("dragend",this._fireEdit,this),this._markerGroup.addLayer(i),i},_fireEdit:function(){this._poly.fire("edit")},_onMarkerDrag:function(t){var e=t.target;n.extend(e._origLatLng,e._latlng),e._middleLeft&&e._middleLeft.setLatLng(this._getMiddleLatLng(e._prev,e)),e._middleRight&&e._middleRight.setLatLng(this._getMiddleLatLng(e,e._next)),this._poly.redraw()},_onMarkerClick:function(t){if(!(3>this._poly._latlngs.length)){var e=t.target,i=e._index;this._markerGroup.removeLayer(e),this._markers.splice(i,1),this._poly.spliceLatLngs(i,1),this._updateIndexes(i,-1),this._updatePrevNext(e._prev,e._next),e._middleLeft&&this._markerGroup.removeLayer(e._middleLeft),e._middleRight&&this._markerGroup.removeLayer(e._middleRight),e._prev&&e._next?this._createMiddleMarker(e._prev,e._next):e._prev?e._next||(e._prev._middleRight=null):e._next._middleLeft=null,this._poly.fire("edit")}},_updateIndexes:function(t,e){this._markerGroup.eachLayer(function(i){i._index>t&&(i._index+=e)})},_createMiddleMarker:function(t,e){var i,n,o,s=this._getMiddleLatLng(t,e),a=this._createMarker(s);a.setOpacity(.6),t._middleRight=e._middleLeft=a,n=function(){var n=e._index;a._index=n,a.off("click",i).on("click",this._onMarkerClick,this),s.lat=a.getLatLng().lat,s.lng=a.getLatLng().lng,this._poly.spliceLatLngs(n,0,s),this._markers.splice(n,0,a),a.setOpacity(1),this._updateIndexes(n,1),e._index++,this._updatePrevNext(t,a),this._updatePrevNext(a,e)},o=function(){a.off("dragstart",n,this),a.off("dragend",o,this),this._createMiddleMarker(t,a),this._createMiddleMarker(a,e)},i=function(){n.call(this),o.call(this),this._poly.fire("edit")},a.on("click",i,this).on("dragstart",n,this).on("dragend",o,this),this._markerGroup.addLayer(a)},_updatePrevNext:function(t,e){t&&(t._next=e),e&&(e._prev=t)},_getMiddleLatLng:function(t,e){var i=this._poly._map,n=i.latLngToLayerPoint(t.getLatLng()),o=i.latLngToLayerPoint(e.getLatLng());return i.layerPointToLatLng(n._add(o)._divideBy(2))}}),n.Polyline.addInitHook(function(){n.Handler.PolyEdit&&(this.editing=new n.Handler.PolyEdit(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),n.Control=n.Class.extend({options:{position:"topright"},initialize:function(t){n.setOptions(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this
},addTo:function(t){this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),o=t._controlCorners[i];return n.DomUtil.addClass(e,"leaflet-control"),-1!==i.indexOf("bottom")?o.insertBefore(e,o.firstChild):o.appendChild(e),this},removeFrom:function(t){var e=this.getPosition(),i=t._controlCorners[e];return i.removeChild(this._container),this._map=null,this.onRemove&&this.onRemove(t),this}}),n.control=function(t){return new n.Control(t)},n.Map.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.removeFrom(this),this},_initControlPos:function(){function t(t,s){var a=i+t+" "+i+s;e[t+s]=n.DomUtil.create("div",a,o)}var e=this._controlCorners={},i="leaflet-",o=this._controlContainer=n.DomUtil.create("div",i+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")}}),n.Control.Zoom=n.Control.extend({options:{position:"topleft"},onAdd:function(t){var e="leaflet-control-zoom",i="leaflet-bar",o=i+"-part",s=n.DomUtil.create("div",e+" "+i);return this._map=t,this._zoomInButton=this._createButton("+","Zoom in",e+"-in "+o+" "+o+"-top",s,this._zoomIn,this),this._zoomOutButton=this._createButton("-","Zoom out",e+"-out "+o+" "+o+"-bottom",s,this._zoomOut,this),t.on("zoomend",this._updateDisabled,this),s},onRemove:function(t){t.off("zoomend",this._updateDisabled,this)},_zoomIn:function(t){this._map.zoomIn(t.shiftKey?3:1)},_zoomOut:function(t){this._map.zoomOut(t.shiftKey?3:1)},_createButton:function(t,e,i,o,s,a){var r=n.DomUtil.create("a",i,o);r.innerHTML=t,r.href="#",r.title=e;var h=n.DomEvent.stopPropagation;return n.DomEvent.on(r,"click",h).on(r,"mousedown",h).on(r,"dblclick",h).on(r,"click",n.DomEvent.preventDefault).on(r,"click",s,a),r},_updateDisabled:function(){var t=this._map,e="leaflet-control-zoom-disabled";n.DomUtil.removeClass(this._zoomInButton,e),n.DomUtil.removeClass(this._zoomOutButton,e),t._zoom===t.getMinZoom()&&n.DomUtil.addClass(this._zoomOutButton,e),t._zoom===t.getMaxZoom()&&n.DomUtil.addClass(this._zoomInButton,e)}}),n.Map.mergeOptions({zoomControl:!0}),n.Map.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new n.Control.Zoom,this.addControl(this.zoomControl))}),n.control.zoom=function(t){return new n.Control.Zoom(t)},n.Control.Attribution=n.Control.extend({options:{position:"bottomright",prefix:'Powered by <a href="http://leafletjs.com">Leaflet</a>'},initialize:function(t){n.setOptions(this,t),this._attributions={}},onAdd:function(t){return this._container=n.DomUtil.create("div","leaflet-control-attribution"),n.DomEvent.disableClickPropagation(this._container),t.on("layeradd",this._onLayerAdd,this).on("layerremove",this._onLayerRemove,this),this._update(),this._container},onRemove:function(t){t.off("layeradd",this._onLayerAdd).off("layerremove",this._onLayerRemove)},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):i},removeAttribution:function(t){return t?(this._attributions[t]--,this._update(),this):i},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions.hasOwnProperty(e)&&this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(" &#8212; ")}},_onLayerAdd:function(t){t.layer.getAttribution&&this.addAttribution(t.layer.getAttribution())},_onLayerRemove:function(t){t.layer.getAttribution&&this.removeAttribution(t.layer.getAttribution())}}),n.Map.mergeOptions({attributionControl:!0}),n.Map.addInitHook(function(){this.options.attributionControl&&(this.attributionControl=(new n.Control.Attribution).addTo(this))}),n.control.attribution=function(t){return new n.Control.Attribution(t)},n.Control.Scale=n.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0,updateWhenIdle:!1},onAdd:function(t){this._map=t;var e="leaflet-control-scale",i=n.DomUtil.create("div",e),o=this.options;return this._addScales(o,e,i),t.on(o.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=n.DomUtil.create("div",e+"-line",i)),t.imperial&&(this._iScale=n.DomUtil.create("div",e+"-line",i))},_update:function(){var t=this._map.getBounds(),e=t.getCenter().lat,i=6378137*Math.PI*Math.cos(e*Math.PI/180),n=i*(t.getNorthEast().lng-t.getSouthWest().lng)/180,o=this._map.getSize(),s=this.options,a=0;o.x>0&&(a=n*(s.maxWidth/o.x)),this._updateScales(s,a)},_updateScales:function(t,e){t.metric&&e&&this._updateMetric(e),t.imperial&&e&&this._updateImperial(e)},_updateMetric:function(t){var e=this._getRoundNum(t);this._mScale.style.width=this._getScaleWidth(e/t)+"px",this._mScale.innerHTML=1e3>e?e+" m":e/1e3+" km"},_updateImperial:function(t){var e,i,n,o=3.2808399*t,s=this._iScale;o>5280?(e=o/5280,i=this._getRoundNum(e),s.style.width=this._getScaleWidth(i/e)+"px",s.innerHTML=i+" mi"):(n=this._getRoundNum(o),s.style.width=this._getScaleWidth(n/o)+"px",s.innerHTML=n+" ft")},_getScaleWidth:function(t){return Math.round(this.options.maxWidth*t)-10},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),n.control.scale=function(t){return new n.Control.Scale(t)},n.Control.Layers=n.Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0},initialize:function(t,e,i){n.setOptions(this,i),this._layers={},this._lastZIndex=0,this._handlingClick=!1;for(var o in t)t.hasOwnProperty(o)&&this._addLayer(t[o],o);for(o in e)e.hasOwnProperty(o)&&this._addLayer(e[o],o,!0)},onAdd:function(t){return this._initLayout(),this._update(),t.on("layeradd",this._onLayerChange,this).on("layerremove",this._onLayerChange,this),this._container},onRemove:function(t){t.off("layeradd",this._onLayerChange).off("layerremove",this._onLayerChange)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._update(),this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._update(),this},removeLayer:function(t){var e=n.stamp(t);return delete this._layers[e],this._update(),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=n.DomUtil.create("div",t);n.Browser.touch?n.DomEvent.on(e,"click",n.DomEvent.stopPropagation):(n.DomEvent.disableClickPropagation(e),n.DomEvent.on(e,"mousewheel",n.DomEvent.stopPropagation));var i=this._form=n.DomUtil.create("form",t+"-list");if(this.options.collapsed){n.DomEvent.on(e,"mouseover",this._expand,this).on(e,"mouseout",this._collapse,this);var o=this._layersLink=n.DomUtil.create("a",t+"-toggle",e);o.href="#",o.title="Layers",n.Browser.touch?n.DomEvent.on(o,"click",n.DomEvent.stopPropagation).on(o,"click",n.DomEvent.preventDefault).on(o,"click",this._expand,this):n.DomEvent.on(o,"focus",this._expand,this),this._map.on("movestart",this._collapse,this)}else this._expand();this._baseLayersList=n.DomUtil.create("div",t+"-base",i),this._separator=n.DomUtil.create("div",t+"-separator",i),this._overlaysList=n.DomUtil.create("div",t+"-overlays",i),e.appendChild(i)},_addLayer:function(t,e,i){var o=n.stamp(t);this._layers[o]={layer:t,name:e,overlay:i},this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex))},_update:function(){if(this._container){this._baseLayersList.innerHTML="",this._overlaysList.innerHTML="";var t=!1,e=!1;for(var i in this._layers)if(this._layers.hasOwnProperty(i)){var n=this._layers[i];this._addItem(n),e=e||n.overlay,t=t||!n.overlay}this._separator.style.display=e&&t?"":"none"}},_onLayerChange:function(t){var e=n.stamp(t.layer);this._layers[e]&&!this._handlingClick&&this._update()},_createRadioElement:function(t,i){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"';i&&(n+=' checked="checked"'),n+="/>";var o=e.createElement("div");return o.innerHTML=n,o.firstChild},_addItem:function(t){var i,o=e.createElement("label"),s=this._map.hasLayer(t.layer);t.overlay?(i=e.createElement("input"),i.type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=s):i=this._createRadioElement("leaflet-base-layers",s),i.layerId=n.stamp(t.layer),n.DomEvent.on(i,"click",this._onInputClick,this);var a=e.createElement("span");a.innerHTML=" "+t.name,o.appendChild(i),o.appendChild(a);var r=t.overlay?this._overlaysList:this._baseLayersList;return r.appendChild(o),o},_onInputClick:function(){var t,e,i,n,o=this._form.getElementsByTagName("input"),s=o.length;for(this._handlingClick=!0,t=0;s>t;t++)e=o[t],i=this._layers[e.layerId],e.checked&&!this._map.hasLayer(i.layer)?(this._map.addLayer(i.layer),i.overlay||(n=i.layer)):!e.checked&&this._map.hasLayer(i.layer)&&this._map.removeLayer(i.layer);n&&(this._map.setZoom(this._map.getZoom()),this._map.fire("baselayerchange",{layer:n})),this._handlingClick=!1},_expand:function(){n.DomUtil.addClass(this._container,"leaflet-control-layers-expanded")},_collapse:function(){this._container.className=this._container.className.replace(" leaflet-control-layers-expanded","")}}),n.control.layers=function(t,e,i){return new n.Control.Layers(t,e,i)},n.PosAnimation=n.Class.extend({includes:n.Mixin.Events,run:function(t,e,i,o){this.stop(),this._el=t,this._inProgress=!0,this.fire("start"),t.style[n.DomUtil.TRANSITION]="all "+(i||.25)+"s cubic-bezier(0,0,"+(o||.5)+",1)",n.DomEvent.on(t,n.DomUtil.TRANSITION_END,this._onTransitionEnd,this),n.DomUtil.setPosition(t,e),n.Util.falseFn(t.offsetWidth),this._stepTimer=setInterval(n.bind(this.fire,this,"step"),50)},stop:function(){this._inProgress&&(n.DomUtil.setPosition(this._el,this._getPos()),this._onTransitionEnd(),n.Util.falseFn(this._el.offsetWidth))},_transformRe:/(-?[\d\.]+), (-?[\d\.]+)\)/,_getPos:function(){var e,i,o,s=this._el,a=t.getComputedStyle(s);return n.Browser.any3d?(o=a[n.DomUtil.TRANSFORM].match(this._transformRe),e=parseFloat(o[1]),i=parseFloat(o[2])):(e=parseFloat(a.left),i=parseFloat(a.top)),new n.Point(e,i,!0)},_onTransitionEnd:function(){n.DomEvent.off(this._el,n.DomUtil.TRANSITION_END,this._onTransitionEnd,this),this._inProgress&&(this._inProgress=!1,this._el.style[n.DomUtil.TRANSITION]="",clearInterval(this._stepTimer),this.fire("step").fire("end"))}}),n.Map.include({setView:function(t,e,i){e=this._limitZoom(e);var n=this._zoom!==e;if(this._loaded&&!i&&this._layers){this._panAnim&&this._panAnim.stop();var o=n?this._zoomToIfClose&&this._zoomToIfClose(t,e):this._panByIfClose(t);if(o)return clearTimeout(this._sizeTimer),this}return this._resetView(t,e),this},panBy:function(t,e,i){if(t=n.point(t),!t.x&&!t.y)return this;this._panAnim||(this._panAnim=new n.PosAnimation,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),this.fire("movestart"),n.DomUtil.addClass(this._mapPane,"leaflet-pan-anim");var o=n.DomUtil.getPosition(this._mapPane).subtract(t)._round();return this._panAnim.run(this._mapPane,o,e||.25,i),this},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){n.DomUtil.removeClass(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_panByIfClose:function(t){var e=this._getCenterOffset(t)._floor();return this._offsetIsWithinView(e)?(this.panBy(e),!0):!1},_offsetIsWithinView:function(t,e){var i=e||1,n=this.getSize();return Math.abs(t.x)<=n.x*i&&Math.abs(t.y)<=n.y*i}}),n.PosAnimation=n.DomUtil.TRANSITION?n.PosAnimation:n.PosAnimation.extend({run:function(t,e,i,o){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(o||.5,.2),this._startPos=n.DomUtil.getPosition(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(),this._complete())},_animate:function(){this._animId=n.Util.requestAnimFrame(this._animate,this),this._step()},_step:function(){var t=+new Date-this._startTime,e=1e3*this._duration;e>t?this._runFrame(this._easeOut(t/e)):(this._runFrame(1),this._complete())},_runFrame:function(t){var e=this._startPos.add(this._offset.multiplyBy(t));n.DomUtil.setPosition(this._el,e),this.fire("step")},_complete:function(){n.Util.cancelAnimFrame(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),n.Map.mergeOptions({zoomAnimation:n.DomUtil.TRANSITION&&!n.Browser.android23&&!n.Browser.mobileOpera}),n.DomUtil.TRANSITION&&n.Map.addInitHook(function(){n.DomEvent.on(this._mapPane,n.DomUtil.TRANSITION_END,this._catchTransitionEnd,this)}),n.Map.include(n.DomUtil.TRANSITION?{_zoomToIfClose:function(t,e){if(this._animatingZoom)return!0;if(!this.options.zoomAnimation)return!1;var i=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/i);if(!this._offsetIsWithinView(o,1))return!1;n.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim"),this.fire("movestart").fire("zoomstart"),this.fire("zoomanim",{center:t,zoom:e});var s=this._getCenterLayerPoint().add(o);return this._prepareTileBg(),this._runAnimation(t,e,i,s),!0},_catchTransitionEnd:function(){this._animatingZoom&&this._onZoomTransitionEnd()},_runAnimation:function(t,e,i,o,s){this._animateToCenter=t,this._animateToZoom=e,this._animatingZoom=!0,n.Draggable&&(n.Draggable._disabled=!0);var a=n.DomUtil.TRANSFORM,r=this._tileBg;clearTimeout(this._clearTileBgTimer),n.Util.falseFn(r.offsetWidth);var h=n.DomUtil.getScaleString(i,o),l=r.style[a];r.style[a]=s?l+" "+h:h+" "+l},_prepareTileBg:function(){var t=this._tilePane,e=this._tileBg;if(e&&this._getLoadedTilesPercentage(e)>.5&&.5>this._getLoadedTilesPercentage(t))return t.style.visibility="hidden",t.empty=!0,this._stopLoadingImages(t),i;e||(e=this._tileBg=this._createPane("leaflet-tile-pane",this._mapPane),e.style.zIndex=1),e.style[n.DomUtil.TRANSFORM]="",e.style.visibility="hidden",e.empty=!0,t.empty=!1,this._tilePane=this._panes.tilePane=e;var o=this._tileBg=t;n.DomUtil.addClass(o,"leaflet-zoom-animated"),this._stopLoadingImages(o)},_getLoadedTilesPercentage:function(t){var e,i,n=t.getElementsByTagName("img"),o=0;for(e=0,i=n.length;i>e;e++)n[e].complete&&o++;return o/i},_stopLoadingImages:function(t){var e,i,o,s=Array.prototype.slice.call(t.getElementsByTagName("img"));for(e=0,i=s.length;i>e;e++)o=s[e],o.complete||(o.onload=n.Util.falseFn,o.onerror=n.Util.falseFn,o.src=n.Util.emptyImageUrl,o.parentNode.removeChild(o))},_onZoomTransitionEnd:function(){this._restoreTileFront(),n.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim"),n.Util.falseFn(this._tileBg.offsetWidth),this._animatingZoom=!1,this._resetView(this._animateToCenter,this._animateToZoom,!0,!0),n.Draggable&&(n.Draggable._disabled=!1)},_restoreTileFront:function(){this._tilePane.innerHTML="",this._tilePane.style.visibility="",this._tilePane.style.zIndex=2,this._tileBg.style.zIndex=1},_clearTileBg:function(){this._animatingZoom||this.touchZoom._zooming||(this._tileBg.innerHTML="")}}:{}),n.Map.include({_defaultLocateOptions:{watch:!1,setView:!1,maxZoom:1/0,timeout:1e4,maximumAge:0,enableHighAccuracy:!1},locate:function(t){if(t=this._locationOptions=n.extend(this._defaultLocateOptions,t),!navigator.geolocation)return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=n.bind(this._handleGeolocationResponse,this),i=n.bind(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch(this._locationWatchId),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locationOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(t){var e=180*t.coords.accuracy/4e7,i=2*e,o=t.coords.latitude,s=t.coords.longitude,a=new n.LatLng(o,s),r=new n.LatLng(o-e,s-i),h=new n.LatLng(o+e,s+i),l=new n.LatLngBounds(r,h),u=this._locationOptions;if(u.setView){var c=Math.min(this.getBoundsZoom(l),u.maxZoom);this.setView(a,c)}this.fire("locationfound",{latlng:a,bounds:l,accuracy:t.coords.accuracy})}})})(this,document);
/MKLiveView/v1.0/Source/References/Web/LeafletJS/locate-ie.css
0,0 → 1,12
/* Conditional stylesheet for IE. */
.leaflet-control-locate {
border: 3px solid #999;
}
 
.leaflet-control-locate a {
background-color: #eee;
}
 
.leaflet-control-locate a:hover {
background-color: #fff;
}
/MKLiveView/v1.0/Source/References/Web/LeafletJS/locate.css
0,0 → 1,23
.leaflet-bar-part-single {
-webkit-border-radius: 4px 4px 4px 4px;
border-radius: 4px 4px 4px 4px;
border-bottom: none;
}
 
.leaflet-touch .leaflet-bar-part-single {
-webkit-border-radius: 7px 7px 7px 7px;
border-radius: 7px 7px 7px 7px;
border-bottom: none;
}
 
.leaflet-control-locate a {
background-image: url(images/locate.png);
}
 
.leaflet-control-locate.requesting a {
background-image: url(images/spinner.gif);
}
 
.leaflet-control-locate.active a {
background-image: url(images/locate_active.png);
}
/MKLiveView/v1.0/Source/References/Web/LeafletJS/locate.js
0,0 → 1,190
L.Control.Locate = L.Control.extend({
options: {
position: 'topleft',
drawCircle: true,
follow: false, // follow with zoom and pan the user's location
// range circle
circleStyle: {
color: '#136AEC',
fillColor: '#136AEC',
fillOpacity: 0.15,
weight: 2,
opacity: 0.5
},
// inner marker
markerStyle: {
color: '#136AEC',
fillColor: '#2A93EE',
fillOpacity: 0.7,
weight: 2,
opacity: 0.9,
radius: 4
},
metric: true,
debug: false,
onLocationError: function(err) {
alert(err.message);
},
title: "Show me where I am",
popupText: ["You are within ", " from this point"],
setView: true, // automatically sets the map view to the user's location
locateOptions: {}
},
 
onAdd: function (map) {
var className = 'leaflet-control-locate',
classNames = className + ' leaflet-control-zoom leaflet-bar leaflet-control',
container = L.DomUtil.create('div', classNames);
 
var self = this;
this._layer = new L.LayerGroup();
this._layer.addTo(map);
this._event = undefined;
// nested extend so that the first can overwrite the second
// and the second can overwrite the third
this._locateOptions = L.extend(L.extend({
'setView': false // have to set this to false because we have to
// do setView manually
}, this.options.locateOptions), {
'watch': true // if you overwrite this, visualization cannot be updated
});
 
var link = L.DomUtil.create('a', 'leaflet-bar-part leaflet-bar-part-single', container);
link.href = '#';
link.title = this.options.title;
 
var _log = function(data) {
if (self.options.debug) {
console.log(data);
}
};
 
L.DomEvent
.on(link, 'click', L.DomEvent.stopPropagation)
.on(link, 'click', L.DomEvent.preventDefault)
.on(link, 'click', function() {
if (self._active && (map.getBounds().contains(self._event.latlng) || !self.options.setView)) {
stopLocate();
} else {
if (self.options.setView) {
self._locateOnNextLocationFound = true;
}
if(!self._active) {
map.locate(self._locateOptions);
}
self._active = true;
if (!self._event) {
self._container.className = classNames + " requesting";
} else {
visualizeLocation();
}
}
})
.on(link, 'dblclick', L.DomEvent.stopPropagation);
 
var onLocationFound = function (e) {
_log('onLocationFound');
 
self._active = true;
 
if (self._event &&
(self._event.latlng.lat != e.latlng.lat ||
self._event.latlng.lng != e.latlng.lng)) {
_log('location has changed');
}
 
self._event = e;
 
if (self.options.follow) {
self._locateOnNextLocationFound = true;
}
 
visualizeLocation();
};
 
var visualizeLocation = function() {
_log('visualizeLocation,' + 'setView:' + self._locateOnNextLocationFound);
 
var radius = self._event.accuracy / 2;
 
if (self._locateOnNextLocationFound) {
map.fitBounds(self._event.bounds);
self._locateOnNextLocationFound = false;
}
 
self._layer.clearLayers();
 
// circle with the radius of the location's accuracy
if (self.options.drawCircle) {
L.circle(self._event.latlng, radius, self.options.circleStyle)
.addTo(self._layer);
}
 
var distance, unit;
if (self.options.metric) {
distance = radius.toFixed(0);
unit = "meters";
} else {
distance = (radius * 3.2808399).toFixed(0);
unit = "feet";
}
 
// small inner marker
var t = self.options.popupText;
L.circleMarker(self._event.latlng, self.options.markerStyle)
.bindPopup(t[0] + distance + " " + unit + t[1])
.addTo(self._layer);
 
if (!self._container)
return;
self._container.className = classNames + " active";
};
 
var resetVariables = function() {
self._active = false;
self._locateOnNextLocationFound = true;
};
 
resetVariables();
 
var stopLocate = function() {
_log('stopLocate');
map.stopLocate();
 
self._container.className = classNames;
resetVariables();
 
self._layer.clearLayers();
};
 
 
var onLocationError = function (err) {
_log('onLocationError');
 
// ignore timeout error if the location is watched
if (err.code==3 && this._locateOptions.watch) {
return;
}
 
stopLocate();
self.options.onLocationError(err);
};
 
// event hooks
map.on('locationfound', onLocationFound, self);
map.on('locationerror', onLocationError, self);
 
return container;
}
});
 
L.Map.addInitHook(function () {
if (this.options.locateControl) {
this.locateControl = L.control.locate();
this.addControl(this.locateControl);
}
});
 
L.control.locate = function (options) {
return new L.Control.Locate(options);
};
/MKLiveView/v1.0/Source/References/Web/LeafletJS/mobile.css
0,0 → 1,6
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
/MKLiveView/v1.0/Source/References/Web/LeafletJS/proj4js-compressed.js
0,0 → 1,242
/*
proj4js.js -- Javascript reprojection library.
Authors: Mike Adair madairATdmsolutions.ca
Richard Greenwood richATgreenwoodmap.com
Didier Richard didier.richardATign.fr
Stephen Irons
License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
Note: This program is an almost direct port of the C library
Proj4.
*/
Proj4js={defaultDatum:'WGS84',transform:function(source,dest,point){if(!source.readyToUse){this.reportError("Proj4js initialization for:"+source.srsCode+" not yet complete");return point;}
if(!dest.readyToUse){this.reportError("Proj4js initialization for:"+dest.srsCode+" not yet complete");return point;}
if((source.srsProjNumber=="900913"&&dest.datumCode!="WGS84"&&!dest.datum_params)||(dest.srsProjNumber=="900913"&&source.datumCode!="WGS84"&&!source.datum_params)){var wgs84=Proj4js.WGS84;this.transform(source,wgs84,point);source=wgs84;}
if(source.axis!="enu"){this.adjust_axis(source,false,point);}
if(source.projName=="longlat"){point.x*=Proj4js.common.D2R;point.y*=Proj4js.common.D2R;}else{if(source.to_meter){point.x*=source.to_meter;point.y*=source.to_meter;}
source.inverse(point);}
if(source.from_greenwich){point.x+=source.from_greenwich;}
point=this.datum_transform(source.datum,dest.datum,point);if(dest.from_greenwich){point.x-=dest.from_greenwich;}
if(dest.projName=="longlat"){point.x*=Proj4js.common.R2D;point.y*=Proj4js.common.R2D;}else{dest.forward(point);if(dest.to_meter){point.x/=dest.to_meter;point.y/=dest.to_meter;}}
if(dest.axis!="enu"){this.adjust_axis(dest,true,point);}
return point;},datum_transform:function(source,dest,point){if(source.compare_datums(dest)){return point;}
if(source.datum_type==Proj4js.common.PJD_NODATUM||dest.datum_type==Proj4js.common.PJD_NODATUM){return point;}
if(source.datum_type==Proj4js.common.PJD_GRIDSHIFT)
{alert("ERROR: Grid shift transformations are not implemented yet.");}
if(dest.datum_type==Proj4js.common.PJD_GRIDSHIFT)
{alert("ERROR: Grid shift transformations are not implemented yet.");}
if(source.es!=dest.es||source.a!=dest.a||source.datum_type==Proj4js.common.PJD_3PARAM||source.datum_type==Proj4js.common.PJD_7PARAM||dest.datum_type==Proj4js.common.PJD_3PARAM||dest.datum_type==Proj4js.common.PJD_7PARAM)
{source.geodetic_to_geocentric(point);if(source.datum_type==Proj4js.common.PJD_3PARAM||source.datum_type==Proj4js.common.PJD_7PARAM){source.geocentric_to_wgs84(point);}
if(dest.datum_type==Proj4js.common.PJD_3PARAM||dest.datum_type==Proj4js.common.PJD_7PARAM){dest.geocentric_from_wgs84(point);}
dest.geocentric_to_geodetic(point);}
if(dest.datum_type==Proj4js.common.PJD_GRIDSHIFT)
{alert("ERROR: Grid shift transformations are not implemented yet.");}
return point;},adjust_axis:function(crs,denorm,point){var xin=point.x,yin=point.y,zin=point.z||0.0;var v,t;for(var i=0;i<3;i++){if(denorm&&i==2&&point.z===undefined){continue;}
if(i==0){v=xin;t='x';}
else if(i==1){v=yin;t='y';}
else{v=zin;t='z';}
switch(crs.axis[i]){case'e':point[t]=v;break;case'w':point[t]=-v;break;case'n':point[t]=v;break;case's':point[t]=-v;break;case'u':if(point[t]!==undefined){point.z=v;}
break;case'd':if(point[t]!==undefined){point.z=-v;}
break;default:alert("ERROR: unknow axis ("+crs.axis[i]+") - check definition of "+src.projName);return null;}}
return point;},reportError:function(msg){},extend:function(destination,source){destination=destination||{};if(source){for(var property in source){var value=source[property];if(value!==undefined){destination[property]=value;}}}
return destination;},Class:function(){var Class=function(){this.initialize.apply(this,arguments);};var extended={};var parent;for(var i=0;i<arguments.length;++i){if(typeof arguments[i]=="function"){parent=arguments[i].prototype;}else{parent=arguments[i];}
Proj4js.extend(extended,parent);}
Class.prototype=extended;return Class;},bind:function(func,object){var args=Array.prototype.slice.apply(arguments,[2]);return function(){var newArgs=args.concat(Array.prototype.slice.apply(arguments,[0]));return func.apply(object,newArgs);};},scriptName:"proj4js-compressed.js",defsLookupService:'http://spatialreference.org/ref',libPath:null,getScriptLocation:function(){if(this.libPath)return this.libPath;var scriptName=this.scriptName;var scriptNameLen=scriptName.length;var scripts=document.getElementsByTagName('script');for(var i=0;i<scripts.length;i++){var src=scripts[i].getAttribute('src');if(src){var index=src.lastIndexOf(scriptName);if((index>-1)&&(index+scriptNameLen==src.length)){this.libPath=src.slice(0,-scriptNameLen);break;}}}
return this.libPath||"";},loadScript:function(url,onload,onfail,loadCheck){var script=document.createElement('script');script.defer=false;script.type="text/javascript";script.id=url;script.src=url;script.onload=onload;script.onerror=onfail;script.loadCheck=loadCheck;if(/MSIE/.test(navigator.userAgent)){script.onreadystatechange=this.checkReadyState;}
document.getElementsByTagName('head')[0].appendChild(script);},checkReadyState:function(){if(this.readyState=='loaded'){if(!this.loadCheck()){this.onerror();}else{this.onload();}}}};Proj4js.Proj=Proj4js.Class({readyToUse:false,title:null,projName:null,units:null,datum:null,x0:0,y0:0,localCS:false,queue:null,initialize:function(srsCode,callback){this.srsCodeInput=srsCode;this.queue=[];if(callback){this.queue.push(callback);}
if((srsCode.indexOf('GEOGCS')>=0)||(srsCode.indexOf('GEOCCS')>=0)||(srsCode.indexOf('PROJCS')>=0)||(srsCode.indexOf('LOCAL_CS')>=0)){this.parseWKT(srsCode);this.deriveConstants();this.loadProjCode(this.projName);return;}
if(srsCode.indexOf('urn:')==0){var urn=srsCode.split(':');if((urn[1]=='ogc'||urn[1]=='x-ogc')&&(urn[2]=='def')&&(urn[3]=='crs')){srsCode=urn[4]+':'+urn[urn.length-1];}}else if(srsCode.indexOf('http://')==0){var url=srsCode.split('#');if(url[0].match(/epsg.org/)){srsCode='EPSG:'+url[1];}else if(url[0].match(/RIG.xml/)){srsCode='IGNF:'+url[1];}}
this.srsCode=srsCode.toUpperCase();if(this.srsCode.indexOf("EPSG")==0){this.srsCode=this.srsCode;this.srsAuth='epsg';this.srsProjNumber=this.srsCode.substring(5);}else if(this.srsCode.indexOf("IGNF")==0){this.srsCode=this.srsCode;this.srsAuth='IGNF';this.srsProjNumber=this.srsCode.substring(5);}else if(this.srsCode.indexOf("CRS")==0){this.srsCode=this.srsCode;this.srsAuth='CRS';this.srsProjNumber=this.srsCode.substring(4);}else{this.srsAuth='';this.srsProjNumber=this.srsCode;}
this.loadProjDefinition();},loadProjDefinition:function(){if(Proj4js.defs[this.srsCode]){this.defsLoaded();return;}
var url=Proj4js.getScriptLocation()+'defs/'+this.srsAuth.toUpperCase()+this.srsProjNumber+'.js';Proj4js.loadScript(url,Proj4js.bind(this.defsLoaded,this),Proj4js.bind(this.loadFromService,this),Proj4js.bind(this.checkDefsLoaded,this));},loadFromService:function(){var url=Proj4js.defsLookupService+'/'+this.srsAuth+'/'+this.srsProjNumber+'/proj4js/';Proj4js.loadScript(url,Proj4js.bind(this.defsLoaded,this),Proj4js.bind(this.defsFailed,this),Proj4js.bind(this.checkDefsLoaded,this));},defsLoaded:function(){this.parseDefs();this.loadProjCode(this.projName);},checkDefsLoaded:function(){if(Proj4js.defs[this.srsCode]){return true;}else{return false;}},defsFailed:function(){Proj4js.reportError('failed to load projection definition for: '+this.srsCode);Proj4js.defs[this.srsCode]=Proj4js.defs['WGS84'];this.defsLoaded();},loadProjCode:function(projName){if(Proj4js.Proj[projName]){this.initTransforms();return;}
var url=Proj4js.getScriptLocation()+'projCode/'+projName+'.js';Proj4js.loadScript(url,Proj4js.bind(this.loadProjCodeSuccess,this,projName),Proj4js.bind(this.loadProjCodeFailure,this,projName),Proj4js.bind(this.checkCodeLoaded,this,projName));},loadProjCodeSuccess:function(projName){if(Proj4js.Proj[projName].dependsOn){this.loadProjCode(Proj4js.Proj[projName].dependsOn);}else{this.initTransforms();}},loadProjCodeFailure:function(projName){Proj4js.reportError("failed to find projection file for: "+projName);},checkCodeLoaded:function(projName){if(Proj4js.Proj[projName]){return true;}else{return false;}},initTransforms:function(){Proj4js.extend(this,Proj4js.Proj[this.projName]);this.init();this.readyToUse=true;if(this.queue){var item;while((item=this.queue.shift())){item.call(this,this);}}},wktRE:/^(\w+)\[(.*)\]$/,parseWKT:function(wkt){var wktMatch=wkt.match(this.wktRE);if(!wktMatch)return;var wktObject=wktMatch[1];var wktContent=wktMatch[2];var wktTemp=wktContent.split(",");var wktName;if(wktObject.toUpperCase()=="TOWGS84"){wktName=wktObject;}else{wktName=wktTemp.shift();}
wktName=wktName.replace(/^\"/,"");wktName=wktName.replace(/\"$/,"");var wktArray=new Array();var bkCount=0;var obj="";for(var i=0;i<wktTemp.length;++i){var token=wktTemp[i];for(var j=0;j<token.length;++j){if(token.charAt(j)=="[")++bkCount;if(token.charAt(j)=="]")--bkCount;}
obj+=token;if(bkCount===0){wktArray.push(obj);obj="";}else{obj+=",";}}
switch(wktObject){case'LOCAL_CS':this.projName='identity'
this.localCS=true;this.srsCode=wktName;break;case'GEOGCS':this.projName='longlat'
this.geocsCode=wktName;if(!this.srsCode)this.srsCode=wktName;break;case'PROJCS':this.srsCode=wktName;break;case'GEOCCS':break;case'PROJECTION':this.projName=Proj4js.wktProjections[wktName]
break;case'DATUM':this.datumName=wktName;break;case'LOCAL_DATUM':this.datumCode='none';break;case'SPHEROID':this.ellps=wktName;this.a=parseFloat(wktArray.shift());this.rf=parseFloat(wktArray.shift());break;case'PRIMEM':this.from_greenwich=parseFloat(wktArray.shift());break;case'UNIT':this.units=wktName;this.unitsPerMeter=parseFloat(wktArray.shift());break;case'PARAMETER':var name=wktName.toLowerCase();var value=parseFloat(wktArray.shift());switch(name){case'false_easting':this.x0=value;break;case'false_northing':this.y0=value;break;case'scale_factor':this.k0=value;break;case'central_meridian':this.long0=value*Proj4js.common.D2R;break;case'latitude_of_origin':this.lat0=value*Proj4js.common.D2R;break;case'more_here':break;default:break;}
break;case'TOWGS84':this.datum_params=wktArray;break;case'AXIS':var name=wktName.toLowerCase();var value=wktArray.shift();switch(value){case'EAST':value='e';break;case'WEST':value='w';break;case'NORTH':value='n';break;case'SOUTH':value='s';break;case'UP':value='u';break;case'DOWN':value='d';break;case'OTHER':default:value=' ';break;}
if(!this.axis){this.axis="enu";}
switch(name){case'X':this.axis=value+this.axis.substr(1,2);break;case'Y':this.axis=this.axis.substr(0,1)+value+this.axis.substr(2,1);break;case'Z':this.axis=this.axis.substr(0,2)+value;break;default:break;}
case'MORE_HERE':break;default:break;}
for(var i=0;i<wktArray.length;++i){this.parseWKT(wktArray[i]);}},parseDefs:function(){this.defData=Proj4js.defs[this.srsCode];var paramName,paramVal;if(!this.defData){return;}
var paramArray=this.defData.split("+");for(var prop=0;prop<paramArray.length;prop++){var property=paramArray[prop].split("=");paramName=property[0].toLowerCase();paramVal=property[1];switch(paramName.replace(/\s/gi,"")){case"":break;case"title":this.title=paramVal;break;case"proj":this.projName=paramVal.replace(/\s/gi,"");break;case"units":this.units=paramVal.replace(/\s/gi,"");break;case"datum":this.datumCode=paramVal.replace(/\s/gi,"");break;case"nadgrids":this.nagrids=paramVal.replace(/\s/gi,"");break;case"ellps":this.ellps=paramVal.replace(/\s/gi,"");break;case"a":this.a=parseFloat(paramVal);break;case"b":this.b=parseFloat(paramVal);break;case"rf":this.rf=parseFloat(paramVal);break;case"lat_0":this.lat0=paramVal*Proj4js.common.D2R;break;case"lat_1":this.lat1=paramVal*Proj4js.common.D2R;break;case"lat_2":this.lat2=paramVal*Proj4js.common.D2R;break;case"lat_ts":this.lat_ts=paramVal*Proj4js.common.D2R;break;case"lon_0":this.long0=paramVal*Proj4js.common.D2R;break;case"alpha":this.alpha=parseFloat(paramVal)*Proj4js.common.D2R;break;case"lonc":this.longc=paramVal*Proj4js.common.D2R;break;case"x_0":this.x0=parseFloat(paramVal);break;case"y_0":this.y0=parseFloat(paramVal);break;case"k_0":this.k0=parseFloat(paramVal);break;case"k":this.k0=parseFloat(paramVal);break;case"r_a":this.R_A=true;break;case"zone":this.zone=parseInt(paramVal);break;case"south":this.utmSouth=true;break;case"towgs84":this.datum_params=paramVal.split(",");break;case"to_meter":this.to_meter=parseFloat(paramVal);break;case"from_greenwich":this.from_greenwich=paramVal*Proj4js.common.D2R;break;case"pm":paramVal=paramVal.replace(/\s/gi,"");this.from_greenwich=Proj4js.PrimeMeridian[paramVal]?Proj4js.PrimeMeridian[paramVal]:parseFloat(paramVal);this.from_greenwich*=Proj4js.common.D2R;break;case"axis":paramVal=paramVal.replace(/\s/gi,"");var legalAxis="ewnsud";if(paramVal.length==3&&legalAxis.indexOf(paramVal.substr(0,1))!=-1&&legalAxis.indexOf(paramVal.substr(1,1))!=-1&&legalAxis.indexOf(paramVal.substr(2,1))!=-1){this.axis=paramVal;}
break
case"no_defs":break;default:}}
this.deriveConstants();},deriveConstants:function(){if(this.nagrids=='@null')this.datumCode='none';if(this.datumCode&&this.datumCode!='none'){var datumDef=Proj4js.Datum[this.datumCode];if(datumDef){this.datum_params=datumDef.towgs84?datumDef.towgs84.split(','):null;this.ellps=datumDef.ellipse;this.datumName=datumDef.datumName?datumDef.datumName:this.datumCode;}}
if(!this.a){var ellipse=Proj4js.Ellipsoid[this.ellps]?Proj4js.Ellipsoid[this.ellps]:Proj4js.Ellipsoid['WGS84'];Proj4js.extend(this,ellipse);}
if(this.rf&&!this.b)this.b=(1.0-1.0/this.rf)*this.a;if(Math.abs(this.a-this.b)<Proj4js.common.EPSLN){this.sphere=true;this.b=this.a;}
this.a2=this.a*this.a;this.b2=this.b*this.b;this.es=(this.a2-this.b2)/this.a2;this.e=Math.sqrt(this.es);if(this.R_A){this.a*=1.-this.es*(Proj4js.common.SIXTH+this.es*(Proj4js.common.RA4+this.es*Proj4js.common.RA6));this.a2=this.a*this.a;this.b2=this.b*this.b;this.es=0.;}
this.ep2=(this.a2-this.b2)/this.b2;if(!this.k0)this.k0=1.0;if(!this.axis){this.axis="enu";}
this.datum=new Proj4js.datum(this);}});Proj4js.Proj.longlat={init:function(){},forward:function(pt){return pt;},inverse:function(pt){return pt;}};Proj4js.Proj.identity=Proj4js.Proj.longlat;Proj4js.defs={'WGS84':"+title=long/lat:WGS84 +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees",'EPSG:4326':"+title=long/lat:WGS84 +proj=longlat +a=6378137.0 +b=6356752.31424518 +ellps=WGS84 +datum=WGS84 +units=degrees",'EPSG:4269':"+title=long/lat:NAD83 +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees",'EPSG:3785':"+title= Google Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"};Proj4js.defs['GOOGLE']=Proj4js.defs['EPSG:3785'];Proj4js.defs['EPSG:900913']=Proj4js.defs['EPSG:3785'];Proj4js.defs['EPSG:102113']=Proj4js.defs['EPSG:3785'];Proj4js.common={PI:3.141592653589793238,HALF_PI:1.570796326794896619,TWO_PI:6.283185307179586477,FORTPI:0.78539816339744833,R2D:57.29577951308232088,D2R:0.01745329251994329577,SEC_TO_RAD:4.84813681109535993589914102357e-6,EPSLN:1.0e-10,MAX_ITER:20,COS_67P5:0.38268343236508977,AD_C:1.0026000,PJD_UNKNOWN:0,PJD_3PARAM:1,PJD_7PARAM:2,PJD_GRIDSHIFT:3,PJD_WGS84:4,PJD_NODATUM:5,SRS_WGS84_SEMIMAJOR:6378137.0,SIXTH:.1666666666666666667,RA4:.04722222222222222222,RA6:.02215608465608465608,RV4:.06944444444444444444,RV6:.04243827160493827160,msfnz:function(eccent,sinphi,cosphi){var con=eccent*sinphi;return cosphi/(Math.sqrt(1.0-con*con));},tsfnz:function(eccent,phi,sinphi){var con=eccent*sinphi;var com=.5*eccent;con=Math.pow(((1.0-con)/(1.0+con)),com);return(Math.tan(.5*(this.HALF_PI-phi))/con);},phi2z:function(eccent,ts){var eccnth=.5*eccent;var con,dphi;var phi=this.HALF_PI-2*Math.atan(ts);for(var i=0;i<=15;i++){con=eccent*Math.sin(phi);dphi=this.HALF_PI-2*Math.atan(ts*(Math.pow(((1.0-con)/(1.0+con)),eccnth)))-phi;phi+=dphi;if(Math.abs(dphi)<=.0000000001)return phi;}
alert("phi2z has NoConvergence");return(-9999);},qsfnz:function(eccent,sinphi){var con;if(eccent>1.0e-7){con=eccent*sinphi;return((1.0-eccent*eccent)*(sinphi/(1.0-con*con)-(.5/eccent)*Math.log((1.0-con)/(1.0+con))));}else{return(2.0*sinphi);}},asinz:function(x){if(Math.abs(x)>1.0){x=(x>1.0)?1.0:-1.0;}
return Math.asin(x);},e0fn:function(x){return(1.0-0.25*x*(1.0+x/16.0*(3.0+1.25*x)));},e1fn:function(x){return(0.375*x*(1.0+0.25*x*(1.0+0.46875*x)));},e2fn:function(x){return(0.05859375*x*x*(1.0+0.75*x));},e3fn:function(x){return(x*x*x*(35.0/3072.0));},mlfn:function(e0,e1,e2,e3,phi){return(e0*phi-e1*Math.sin(2.0*phi)+e2*Math.sin(4.0*phi)-e3*Math.sin(6.0*phi));},srat:function(esinp,exp){return(Math.pow((1.0-esinp)/(1.0+esinp),exp));},sign:function(x){if(x<0.0)return(-1);else return(1);},adjust_lon:function(x){x=(Math.abs(x)<this.PI)?x:(x-(this.sign(x)*this.TWO_PI));return x;},adjust_lat:function(x){x=(Math.abs(x)<this.HALF_PI)?x:(x-(this.sign(x)*this.PI));return x;},latiso:function(eccent,phi,sinphi){if(Math.abs(phi)>this.HALF_PI)return+Number.NaN;if(phi==this.HALF_PI)return Number.POSITIVE_INFINITY;if(phi==-1.0*this.HALF_PI)return-1.0*Number.POSITIVE_INFINITY;var con=eccent*sinphi;return Math.log(Math.tan((this.HALF_PI+phi)/2.0))+eccent*Math.log((1.0-con)/(1.0+con))/2.0;},fL:function(x,L){return 2.0*Math.atan(x*Math.exp(L))-this.HALF_PI;},invlatiso:function(eccent,ts){var phi=this.fL(1.0,ts);var Iphi=0.0;var con=0.0;do{Iphi=phi;con=eccent*Math.sin(Iphi);phi=this.fL(Math.exp(eccent*Math.log((1.0+con)/(1.0-con))/2.0),ts)}while(Math.abs(phi-Iphi)>1.0e-12);return phi;},sinh:function(x)
{var r=Math.exp(x);r=(r-1.0/r)/2.0;return r;},cosh:function(x)
{var r=Math.exp(x);r=(r+1.0/r)/2.0;return r;},tanh:function(x)
{var r=Math.exp(x);r=(r-1.0/r)/(r+1.0/r);return r;},asinh:function(x)
{var s=(x>=0?1.0:-1.0);return s*(Math.log(Math.abs(x)+Math.sqrt(x*x+1.0)));},acosh:function(x)
{return 2.0*Math.log(Math.sqrt((x+1.0)/2.0)+Math.sqrt((x-1.0)/2.0));},atanh:function(x)
{return Math.log((x-1.0)/(x+1.0))/2.0;},gN:function(a,e,sinphi)
{var temp=e*sinphi;return a/Math.sqrt(1.0-temp*temp);}};Proj4js.datum=Proj4js.Class({initialize:function(proj){this.datum_type=Proj4js.common.PJD_WGS84;if(proj.datumCode&&proj.datumCode=='none'){this.datum_type=Proj4js.common.PJD_NODATUM;}
if(proj&&proj.datum_params){for(var i=0;i<proj.datum_params.length;i++){proj.datum_params[i]=parseFloat(proj.datum_params[i]);}
if(proj.datum_params[0]!=0||proj.datum_params[1]!=0||proj.datum_params[2]!=0){this.datum_type=Proj4js.common.PJD_3PARAM;}
if(proj.datum_params.length>3){if(proj.datum_params[3]!=0||proj.datum_params[4]!=0||proj.datum_params[5]!=0||proj.datum_params[6]!=0){this.datum_type=Proj4js.common.PJD_7PARAM;proj.datum_params[3]*=Proj4js.common.SEC_TO_RAD;proj.datum_params[4]*=Proj4js.common.SEC_TO_RAD;proj.datum_params[5]*=Proj4js.common.SEC_TO_RAD;proj.datum_params[6]=(proj.datum_params[6]/1000000.0)+1.0;}}}
if(proj){this.a=proj.a;this.b=proj.b;this.es=proj.es;this.ep2=proj.ep2;this.datum_params=proj.datum_params;}},compare_datums:function(dest){if(this.datum_type!=dest.datum_type){return false;}else if(this.a!=dest.a||Math.abs(this.es-dest.es)>0.000000000050){return false;}else if(this.datum_type==Proj4js.common.PJD_3PARAM){return(this.datum_params[0]==dest.datum_params[0]&&this.datum_params[1]==dest.datum_params[1]&&this.datum_params[2]==dest.datum_params[2]);}else if(this.datum_type==Proj4js.common.PJD_7PARAM){return(this.datum_params[0]==dest.datum_params[0]&&this.datum_params[1]==dest.datum_params[1]&&this.datum_params[2]==dest.datum_params[2]&&this.datum_params[3]==dest.datum_params[3]&&this.datum_params[4]==dest.datum_params[4]&&this.datum_params[5]==dest.datum_params[5]&&this.datum_params[6]==dest.datum_params[6]);}else if(this.datum_type==Proj4js.common.PJD_GRIDSHIFT){return strcmp(pj_param(this.params,"snadgrids").s,pj_param(dest.params,"snadgrids").s)==0;}else{return true;}},geodetic_to_geocentric:function(p){var Longitude=p.x;var Latitude=p.y;var Height=p.z?p.z:0;var X;var Y;var Z;var Error_Code=0;var Rn;var Sin_Lat;var Sin2_Lat;var Cos_Lat;if(Latitude<-Proj4js.common.HALF_PI&&Latitude>-1.001*Proj4js.common.HALF_PI){Latitude=-Proj4js.common.HALF_PI;}else if(Latitude>Proj4js.common.HALF_PI&&Latitude<1.001*Proj4js.common.HALF_PI){Latitude=Proj4js.common.HALF_PI;}else if((Latitude<-Proj4js.common.HALF_PI)||(Latitude>Proj4js.common.HALF_PI)){Proj4js.reportError('geocent:lat out of range:'+Latitude);return null;}
if(Longitude>Proj4js.common.PI)Longitude-=(2*Proj4js.common.PI);Sin_Lat=Math.sin(Latitude);Cos_Lat=Math.cos(Latitude);Sin2_Lat=Sin_Lat*Sin_Lat;Rn=this.a/(Math.sqrt(1.0e0-this.es*Sin2_Lat));X=(Rn+Height)*Cos_Lat*Math.cos(Longitude);Y=(Rn+Height)*Cos_Lat*Math.sin(Longitude);Z=((Rn*(1-this.es))+Height)*Sin_Lat;p.x=X;p.y=Y;p.z=Z;return Error_Code;},geocentric_to_geodetic:function(p){var genau=1.E-12;var genau2=(genau*genau);var maxiter=30;var P;var RR;var CT;var ST;var RX;var RK;var RN;var CPHI0;var SPHI0;var CPHI;var SPHI;var SDPHI;var At_Pole;var iter;var X=p.x;var Y=p.y;var Z=p.z?p.z:0.0;var Longitude;var Latitude;var Height;At_Pole=false;P=Math.sqrt(X*X+Y*Y);RR=Math.sqrt(X*X+Y*Y+Z*Z);if(P/this.a<genau){At_Pole=true;Longitude=0.0;if(RR/this.a<genau){Latitude=Proj4js.common.HALF_PI;Height=-this.b;return;}}else{Longitude=Math.atan2(Y,X);}
CT=Z/RR;ST=P/RR;RX=1.0/Math.sqrt(1.0-this.es*(2.0-this.es)*ST*ST);CPHI0=ST*(1.0-this.es)*RX;SPHI0=CT*RX;iter=0;do
{iter++;RN=this.a/Math.sqrt(1.0-this.es*SPHI0*SPHI0);Height=P*CPHI0+Z*SPHI0-RN*(1.0-this.es*SPHI0*SPHI0);RK=this.es*RN/(RN+Height);RX=1.0/Math.sqrt(1.0-RK*(2.0-RK)*ST*ST);CPHI=ST*(1.0-RK)*RX;SPHI=CT*RX;SDPHI=SPHI*CPHI0-CPHI*SPHI0;CPHI0=CPHI;SPHI0=SPHI;}
while(SDPHI*SDPHI>genau2&&iter<maxiter);Latitude=Math.atan(SPHI/Math.abs(CPHI));p.x=Longitude;p.y=Latitude;p.z=Height;return p;},geocentric_to_geodetic_noniter:function(p){var X=p.x;var Y=p.y;var Z=p.z?p.z:0;var Longitude;var Latitude;var Height;var W;var W2;var T0;var T1;var S0;var S1;var Sin_B0;var Sin3_B0;var Cos_B0;var Sin_p1;var Cos_p1;var Rn;var Sum;var At_Pole;X=parseFloat(X);Y=parseFloat(Y);Z=parseFloat(Z);At_Pole=false;if(X!=0.0)
{Longitude=Math.atan2(Y,X);}
else
{if(Y>0)
{Longitude=Proj4js.common.HALF_PI;}
else if(Y<0)
{Longitude=-Proj4js.common.HALF_PI;}
else
{At_Pole=true;Longitude=0.0;if(Z>0.0)
{Latitude=Proj4js.common.HALF_PI;}
else if(Z<0.0)
{Latitude=-Proj4js.common.HALF_PI;}
else
{Latitude=Proj4js.common.HALF_PI;Height=-this.b;return;}}}
W2=X*X+Y*Y;W=Math.sqrt(W2);T0=Z*Proj4js.common.AD_C;S0=Math.sqrt(T0*T0+W2);Sin_B0=T0/S0;Cos_B0=W/S0;Sin3_B0=Sin_B0*Sin_B0*Sin_B0;T1=Z+this.b*this.ep2*Sin3_B0;Sum=W-this.a*this.es*Cos_B0*Cos_B0*Cos_B0;S1=Math.sqrt(T1*T1+Sum*Sum);Sin_p1=T1/S1;Cos_p1=Sum/S1;Rn=this.a/Math.sqrt(1.0-this.es*Sin_p1*Sin_p1);if(Cos_p1>=Proj4js.common.COS_67P5)
{Height=W/Cos_p1-Rn;}
else if(Cos_p1<=-Proj4js.common.COS_67P5)
{Height=W/-Cos_p1-Rn;}
else
{Height=Z/Sin_p1+Rn*(this.es-1.0);}
if(At_Pole==false)
{Latitude=Math.atan(Sin_p1/Cos_p1);}
p.x=Longitude;p.y=Latitude;p.z=Height;return p;},geocentric_to_wgs84:function(p){if(this.datum_type==Proj4js.common.PJD_3PARAM)
{p.x+=this.datum_params[0];p.y+=this.datum_params[1];p.z+=this.datum_params[2];}
else if(this.datum_type==Proj4js.common.PJD_7PARAM)
{var Dx_BF=this.datum_params[0];var Dy_BF=this.datum_params[1];var Dz_BF=this.datum_params[2];var Rx_BF=this.datum_params[3];var Ry_BF=this.datum_params[4];var Rz_BF=this.datum_params[5];var M_BF=this.datum_params[6];var x_out=M_BF*(p.x-Rz_BF*p.y+Ry_BF*p.z)+Dx_BF;var y_out=M_BF*(Rz_BF*p.x+p.y-Rx_BF*p.z)+Dy_BF;var z_out=M_BF*(-Ry_BF*p.x+Rx_BF*p.y+p.z)+Dz_BF;p.x=x_out;p.y=y_out;p.z=z_out;}},geocentric_from_wgs84:function(p){if(this.datum_type==Proj4js.common.PJD_3PARAM)
{p.x-=this.datum_params[0];p.y-=this.datum_params[1];p.z-=this.datum_params[2];}
else if(this.datum_type==Proj4js.common.PJD_7PARAM)
{var Dx_BF=this.datum_params[0];var Dy_BF=this.datum_params[1];var Dz_BF=this.datum_params[2];var Rx_BF=this.datum_params[3];var Ry_BF=this.datum_params[4];var Rz_BF=this.datum_params[5];var M_BF=this.datum_params[6];var x_tmp=(p.x-Dx_BF)/M_BF;var y_tmp=(p.y-Dy_BF)/M_BF;var z_tmp=(p.z-Dz_BF)/M_BF;p.x=x_tmp+Rz_BF*y_tmp-Ry_BF*z_tmp;p.y=-Rz_BF*x_tmp+y_tmp+Rx_BF*z_tmp;p.z=Ry_BF*x_tmp-Rx_BF*y_tmp+z_tmp;}}});Proj4js.Point=Proj4js.Class({initialize:function(x,y,z){if(typeof x=='object'){this.x=x[0];this.y=x[1];this.z=x[2]||0.0;}else if(typeof x=='string'&&typeof y=='undefined'){var coords=x.split(',');this.x=parseFloat(coords[0]);this.y=parseFloat(coords[1]);this.z=parseFloat(coords[2])||0.0;}else{this.x=x;this.y=y;this.z=z||0.0;}},clone:function(){return new Proj4js.Point(this.x,this.y,this.z);},toString:function(){return("x="+this.x+",y="+this.y);},toShortString:function(){return(this.x+", "+this.y);}});Proj4js.PrimeMeridian={"greenwich":0.0,"lisbon":-9.131906111111,"paris":2.337229166667,"bogota":-74.080916666667,"madrid":-3.687938888889,"rome":12.452333333333,"bern":7.439583333333,"jakarta":106.807719444444,"ferro":-17.666666666667,"brussels":4.367975,"stockholm":18.058277777778,"athens":23.7163375,"oslo":10.722916666667};Proj4js.Ellipsoid={"MERIT":{a:6378137.0,rf:298.257,ellipseName:"MERIT 1983"},"SGS85":{a:6378136.0,rf:298.257,ellipseName:"Soviet Geodetic System 85"},"GRS80":{a:6378137.0,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},"IAU76":{a:6378140.0,rf:298.257,ellipseName:"IAU 1976"},"airy":{a:6377563.396,b:6356256.910,ellipseName:"Airy 1830"},"APL4.":{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},"NWL9D":{a:6378145.0,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},"mod_airy":{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},"andrae":{a:6377104.43,rf:300.0,ellipseName:"Andrae 1876 (Den., Iclnd.)"},"aust_SA":{a:6378160.0,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},"GRS67":{a:6378160.0,rf:298.2471674270,ellipseName:"GRS 67(IUGG 1967)"},"bessel":{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},"bess_nam":{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},"clrk66":{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},"clrk80":{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},"CPM":{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},"delmbr":{a:6376428.0,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},"engelis":{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},"evrst30":{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},"evrst48":{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},"evrst56":{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},"evrst69":{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},"evrstSS":{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},"fschr60":{a:6378166.0,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},"fschr60m":{a:6378155.0,rf:298.3,ellipseName:"Fischer 1960"},"fschr68":{a:6378150.0,rf:298.3,ellipseName:"Fischer 1968"},"helmert":{a:6378200.0,rf:298.3,ellipseName:"Helmert 1906"},"hough":{a:6378270.0,rf:297.0,ellipseName:"Hough"},"intl":{a:6378388.0,rf:297.0,ellipseName:"International 1909 (Hayford)"},"kaula":{a:6378163.0,rf:298.24,ellipseName:"Kaula 1961"},"lerch":{a:6378139.0,rf:298.257,ellipseName:"Lerch 1979"},"mprts":{a:6397300.0,rf:191.0,ellipseName:"Maupertius 1738"},"new_intl":{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},"plessis":{a:6376523.0,rf:6355863.0,ellipseName:"Plessis 1817 (France)"},"krass":{a:6378245.0,rf:298.3,ellipseName:"Krassovsky, 1942"},"SEasia":{a:6378155.0,b:6356773.3205,ellipseName:"Southeast Asia"},"walbeck":{a:6376896.0,b:6355834.8467,ellipseName:"Walbeck"},"WGS60":{a:6378165.0,rf:298.3,ellipseName:"WGS 60"},"WGS66":{a:6378145.0,rf:298.25,ellipseName:"WGS 66"},"WGS72":{a:6378135.0,rf:298.26,ellipseName:"WGS 72"},"WGS84":{a:6378137.0,rf:298.257223563,ellipseName:"WGS 84"},"sphere":{a:6370997.0,b:6370997.0,ellipseName:"Normal Sphere (r=6370997)"}};Proj4js.Datum={"WGS84":{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},"GGRS87":{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},"NAD83":{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},"NAD27":{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},"potsdam":{towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},"carthage":{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},"hermannskogel":{towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},"ire65":{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},"nzgd49":{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},"OSGB36":{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"}};Proj4js.WGS84=new Proj4js.Proj('WGS84');Proj4js.Datum['OSB36']=Proj4js.Datum['OSGB36'];Proj4js.wktProjections={"Lambert Tangential Conformal Conic Projection":"lcc","Mercator":"merc","Popular Visualisation Pseudo Mercator":"merc","Transverse_Mercator":"tmerc","Transverse Mercator":"tmerc","Lambert Azimuthal Equal Area":"laea","Universal Transverse Mercator System":"utm"};Proj4js.Proj.aea={init:function(){if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){Proj4js.reportError("aeaInitEqualLatitudes");return;}
this.temp=this.b/this.a;this.es=1.0-Math.pow(this.temp,2);this.e3=Math.sqrt(this.es);this.sin_po=Math.sin(this.lat1);this.cos_po=Math.cos(this.lat1);this.t1=this.sin_po;this.con=this.sin_po;this.ms1=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);this.qs1=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);this.sin_po=Math.sin(this.lat2);this.cos_po=Math.cos(this.lat2);this.t2=this.sin_po;this.ms2=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po);this.qs2=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);this.sin_po=Math.sin(this.lat0);this.cos_po=Math.cos(this.lat0);this.t3=this.sin_po;this.qs0=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po);if(Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN){this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1);}else{this.ns0=this.con;}
this.c=this.ms1*this.ms1+this.ns0*this.qs1;this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0;},forward:function(p){var lon=p.x;var lat=p.y;this.sin_phi=Math.sin(lat);this.cos_phi=Math.cos(lat);var qs=Proj4js.common.qsfnz(this.e3,this.sin_phi,this.cos_phi);var rh1=this.a*Math.sqrt(this.c-this.ns0*qs)/this.ns0;var theta=this.ns0*Proj4js.common.adjust_lon(lon-this.long0);var x=rh1*Math.sin(theta)+this.x0;var y=this.rh-rh1*Math.cos(theta)+this.y0;p.x=x;p.y=y;return p;},inverse:function(p){var rh1,qs,con,theta,lon,lat;p.x-=this.x0;p.y=this.rh-p.y+this.y0;if(this.ns0>=0){rh1=Math.sqrt(p.x*p.x+p.y*p.y);con=1.0;}else{rh1=-Math.sqrt(p.x*p.x+p.y*p.y);con=-1.0;}
theta=0.0;if(rh1!=0.0){theta=Math.atan2(con*p.x,con*p.y);}
con=rh1*this.ns0/this.a;qs=(this.c-con*con)/this.ns0;if(this.e3>=1e-10){con=1-.5*(1.0-this.es)*Math.log((1.0-this.e3)/(1.0+this.e3))/this.e3;if(Math.abs(Math.abs(con)-Math.abs(qs))>.0000000001){lat=this.phi1z(this.e3,qs);}else{if(qs>=0){lat=.5*PI;}else{lat=-.5*PI;}}}else{lat=this.phi1z(e3,qs);}
lon=Proj4js.common.adjust_lon(theta/this.ns0+this.long0);p.x=lon;p.y=lat;return p;},phi1z:function(eccent,qs){var con,com,dphi;var phi=Proj4js.common.asinz(.5*qs);if(eccent<Proj4js.common.EPSLN)return phi;var eccnts=eccent*eccent;for(var i=1;i<=25;i++){sinphi=Math.sin(phi);cosphi=Math.cos(phi);con=eccent*sinphi;com=1.0-con*con;dphi=.5*com*com/cosphi*(qs/(1.0-eccnts)-sinphi/com+.5/eccent*Math.log((1.0-con)/(1.0+con)));phi=phi+dphi;if(Math.abs(dphi)<=1e-7)return phi;}
Proj4js.reportError("aea:phi1z:Convergence error");return null;}};Proj4js.Proj.sterea={dependsOn:'gauss',init:function(){Proj4js.Proj['gauss'].init.apply(this);if(!this.rc){Proj4js.reportError("sterea:init:E_ERROR_0");return;}
this.sinc0=Math.sin(this.phic0);this.cosc0=Math.cos(this.phic0);this.R2=2.0*this.rc;if(!this.title)this.title="Oblique Stereographic Alternative";},forward:function(p){p.x=Proj4js.common.adjust_lon(p.x-this.long0);Proj4js.Proj['gauss'].forward.apply(this,[p]);sinc=Math.sin(p.y);cosc=Math.cos(p.y);cosl=Math.cos(p.x);k=this.k0*this.R2/(1.0+this.sinc0*sinc+this.cosc0*cosc*cosl);p.x=k*cosc*Math.sin(p.x);p.y=k*(this.cosc0*sinc-this.sinc0*cosc*cosl);p.x=this.a*p.x+this.x0;p.y=this.a*p.y+this.y0;return p;},inverse:function(p){var lon,lat;p.x=(p.x-this.x0)/this.a;p.y=(p.y-this.y0)/this.a;p.x/=this.k0;p.y/=this.k0;if((rho=Math.sqrt(p.x*p.x+p.y*p.y))){c=2.0*Math.atan2(rho,this.R2);sinc=Math.sin(c);cosc=Math.cos(c);lat=Math.asin(cosc*this.sinc0+p.y*sinc*this.cosc0/rho);lon=Math.atan2(p.x*sinc,rho*this.cosc0*cosc-p.y*this.sinc0*sinc);}else{lat=this.phic0;lon=0.;}
p.x=lon;p.y=lat;Proj4js.Proj['gauss'].inverse.apply(this,[p]);p.x=Proj4js.common.adjust_lon(p.x+this.long0);return p;}};function phi4z(eccent,e0,e1,e2,e3,a,b,c,phi){var sinphi,sin2ph,tanph,ml,mlp,con1,con2,con3,dphi,i;phi=a;for(i=1;i<=15;i++){sinphi=Math.sin(phi);tanphi=Math.tan(phi);c=tanphi*Math.sqrt(1.0-eccent*sinphi*sinphi);sin2ph=Math.sin(2.0*phi);ml=e0*phi-e1*sin2ph+e2*Math.sin(4.0*phi)-e3*Math.sin(6.0*phi);mlp=e0-2.0*e1*Math.cos(2.0*phi)+4.0*e2*Math.cos(4.0*phi)-6.0*e3*Math.cos(6.0*phi);con1=2.0*ml+c*(ml*ml+b)-2.0*a*(c*ml+1.0);con2=eccent*sin2ph*(ml*ml+b-2.0*a*ml)/(2.0*c);con3=2.0*(a-ml)*(c*mlp-2.0/sin2ph)-2.0*mlp;dphi=con1/(con2+con3);phi+=dphi;if(Math.abs(dphi)<=.0000000001)return(phi);}
Proj4js.reportError("phi4z: No convergence");return null;}
function e4fn(x){var con,com;con=1.0+x;com=1.0-x;return(Math.sqrt((Math.pow(con,con))*(Math.pow(com,com))));}
Proj4js.Proj.poly={init:function(){var temp;if(this.lat0=0)this.lat0=90;this.temp=this.b/this.a;this.es=1.0-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.ml0=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(p){var sinphi,cosphi;var al;var c;var con,ml;var ms;var x,y;var lon=p.x;var lat=p.y;con=Proj4js.common.adjust_lon(lon-this.long0);if(Math.abs(lat)<=.0000001){x=this.x0+this.a*con;y=this.y0-this.a*this.ml0;}else{sinphi=Math.sin(lat);cosphi=Math.cos(lat);ml=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);ms=Proj4js.common.msfnz(this.e,sinphi,cosphi);con=sinphi;x=this.x0+this.a*ms*Math.sin(con)/sinphi;y=this.y0+this.a*(ml-this.ml0+ms*(1.0-Math.cos(con))/sinphi);}
p.x=x;p.y=y;return p;},inverse:function(p){var sin_phi,cos_phi;var al;var b;var c;var con,ml;var iflg;var lon,lat;p.x-=this.x0;p.y-=this.y0;al=this.ml0+p.y/this.a;iflg=0;if(Math.abs(al)<=.0000001){lon=p.x/this.a+this.long0;lat=0.0;}else{b=al*al+(p.x/this.a)*(p.x/this.a);iflg=phi4z(this.es,this.e0,this.e1,this.e2,this.e3,this.al,b,c,lat);if(iflg!=1)return(iflg);lon=Proj4js.common.adjust_lon((Proj4js.common.asinz(p.x*c/this.a)/Math.sin(lat))+this.long0);}
p.x=lon;p.y=lat;return p;}};Proj4js.Proj.equi={init:function(){if(!this.x0)this.x0=0;if(!this.y0)this.y0=0;if(!this.lat0)this.lat0=0;if(!this.long0)this.long0=0;},forward:function(p){var lon=p.x;var lat=p.y;var dlon=Proj4js.common.adjust_lon(lon-this.long0);var x=this.x0+this.a*dlon*Math.cos(this.lat0);var y=this.y0+this.a*lat;this.t1=x;this.t2=Math.cos(this.lat0);p.x=x;p.y=y;return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var lat=p.y/this.a;if(Math.abs(lat)>Proj4js.common.HALF_PI){Proj4js.reportError("equi:Inv:DataError");}
var lon=Proj4js.common.adjust_lon(this.long0+p.x/(this.a*Math.cos(this.lat0)));p.x=lon;p.y=lat;}};Proj4js.Proj.merc={init:function(){if(this.lat_ts){if(this.sphere){this.k0=Math.cos(this.lat_ts);}else{this.k0=Proj4js.common.msfnz(this.es,Math.sin(this.lat_ts),Math.cos(this.lat_ts));}}},forward:function(p){var lon=p.x;var lat=p.y;if(lat*Proj4js.common.R2D>90.0&&lat*Proj4js.common.R2D<-90.0&&lon*Proj4js.common.R2D>180.0&&lon*Proj4js.common.R2D<-180.0){Proj4js.reportError("merc:forward: llInputOutOfRange: "+lon+" : "+lat);return null;}
var x,y;if(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN){Proj4js.reportError("merc:forward: ll2mAtPoles");return null;}else{if(this.sphere){x=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(lon-this.long0);y=this.y0+this.a*this.k0*Math.log(Math.tan(Proj4js.common.FORTPI+0.5*lat));}else{var sinphi=Math.sin(lat);var ts=Proj4js.common.tsfnz(this.e,lat,sinphi);x=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(lon-this.long0);y=this.y0-this.a*this.k0*Math.log(ts);}
p.x=x;p.y=y;return p;}},inverse:function(p){var x=p.x-this.x0;var y=p.y-this.y0;var lon,lat;if(this.sphere){lat=Proj4js.common.HALF_PI-2.0*Math.atan(Math.exp(-y/this.a*this.k0));}else{var ts=Math.exp(-y/(this.a*this.k0));lat=Proj4js.common.phi2z(this.e,ts);if(lat==-9999){Proj4js.reportError("merc:inverse: lat = -9999");return null;}}
lon=Proj4js.common.adjust_lon(this.long0+x/(this.a*this.k0));p.x=lon;p.y=lat;return p;}};Proj4js.Proj.utm={dependsOn:'tmerc',init:function(){if(!this.zone){Proj4js.reportError("utm:init: zone must be specified for UTM");return;}
this.lat0=0.0;this.long0=((6*Math.abs(this.zone))-183)*Proj4js.common.D2R;this.x0=500000.0;this.y0=this.utmSouth?10000000.0:0.0;this.k0=0.9996;Proj4js.Proj['tmerc'].init.apply(this);this.forward=Proj4js.Proj['tmerc'].forward;this.inverse=Proj4js.Proj['tmerc'].inverse;}};Proj4js.Proj.eqdc={init:function(){if(!this.mode)this.mode=0;this.temp=this.b/this.a;this.es=1.0-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.sinphi=Math.sin(this.lat1);this.cosphi=Math.cos(this.lat1);this.ms1=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);this.ml1=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat1);if(this.mode!=0){if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){Proj4js.reportError("eqdc:Init:EqualLatitudes");}
this.sinphi=Math.sin(this.lat2);this.cosphi=Math.cos(this.lat2);this.ms2=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);this.ml2=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat2);if(Math.abs(this.lat1-this.lat2)>=Proj4js.common.EPSLN){this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1);}else{this.ns=this.sinphi;}}else{this.ns=this.sinphi;}
this.g=this.ml1+this.ms1/this.ns;this.ml0=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);this.rh=this.a*(this.g-this.ml0);},forward:function(p){var lon=p.x;var lat=p.y;var ml=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);var rh1=this.a*(this.g-ml);var theta=this.ns*Proj4js.common.adjust_lon(lon-this.long0);var x=this.x0+rh1*Math.sin(theta);var y=this.y0+this.rh-rh1*Math.cos(theta);p.x=x;p.y=y;return p;},inverse:function(p){p.x-=this.x0;p.y=this.rh-p.y+this.y0;var con,rh1;if(this.ns>=0){var rh1=Math.sqrt(p.x*p.x+p.y*p.y);var con=1.0;}else{rh1=-Math.sqrt(p.x*p.x+p.y*p.y);con=-1.0;}
var theta=0.0;if(rh1!=0.0)theta=Math.atan2(con*p.x,con*p.y);var ml=this.g-rh1/this.a;var lat=this.phi3z(ml,this.e0,this.e1,this.e2,this.e3);var lon=Proj4js.common.adjust_lon(this.long0+theta/this.ns);p.x=lon;p.y=lat;return p;},phi3z:function(ml,e0,e1,e2,e3){var phi;var dphi;phi=ml;for(var i=0;i<15;i++){dphi=(ml+e1*Math.sin(2.0*phi)-e2*Math.sin(4.0*phi)+e3*Math.sin(6.0*phi))/e0-phi;phi+=dphi;if(Math.abs(dphi)<=.0000000001){return phi;}}
Proj4js.reportError("PHI3Z-CONV:Latitude failed to converge after 15 iterations");return null;}};Proj4js.Proj.tmerc={init:function(){this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.ml0=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(p){var lon=p.x;var lat=p.y;var delta_lon=Proj4js.common.adjust_lon(lon-this.long0);var con;var x,y;var sin_phi=Math.sin(lat);var cos_phi=Math.cos(lat);if(this.sphere){var b=cos_phi*Math.sin(delta_lon);if((Math.abs(Math.abs(b)-1.0))<.0000000001){Proj4js.reportError("tmerc:forward: Point projects into infinity");return(93);}else{x=.5*this.a*this.k0*Math.log((1.0+b)/(1.0-b));con=Math.acos(cos_phi*Math.cos(delta_lon)/Math.sqrt(1.0-b*b));if(lat<0)con=-con;y=this.a*this.k0*(con-this.lat0);}}else{var al=cos_phi*delta_lon;var als=Math.pow(al,2);var c=this.ep2*Math.pow(cos_phi,2);var tq=Math.tan(lat);var t=Math.pow(tq,2);con=1.0-this.es*Math.pow(sin_phi,2);var n=this.a/Math.sqrt(con);var ml=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,lat);x=this.k0*n*al*(1.0+als/6.0*(1.0-t+c+als/20.0*(5.0-18.0*t+Math.pow(t,2)+72.0*c-58.0*this.ep2)))+this.x0;y=this.k0*(ml-this.ml0+n*tq*(als*(0.5+als/24.0*(5.0-t+9.0*c+4.0*Math.pow(c,2)+als/30.0*(61.0-58.0*t+Math.pow(t,2)+600.0*c-330.0*this.ep2)))))+this.y0;}
p.x=x;p.y=y;return p;},inverse:function(p){var con,phi;var delta_phi;var i;var max_iter=6;var lat,lon;if(this.sphere){var f=Math.exp(p.x/(this.a*this.k0));var g=.5*(f-1/f);var temp=this.lat0+p.y/(this.a*this.k0);var h=Math.cos(temp);con=Math.sqrt((1.0-h*h)/(1.0+g*g));lat=Proj4js.common.asinz(con);if(temp<0)
lat=-lat;if((g==0)&&(h==0)){lon=this.long0;}else{lon=Proj4js.common.adjust_lon(Math.atan2(g,h)+this.long0);}}else{var x=p.x-this.x0;var y=p.y-this.y0;con=(this.ml0+y/this.k0)/this.a;phi=con;for(i=0;true;i++){delta_phi=((con+this.e1*Math.sin(2.0*phi)-this.e2*Math.sin(4.0*phi)+this.e3*Math.sin(6.0*phi))/this.e0)-phi;phi+=delta_phi;if(Math.abs(delta_phi)<=Proj4js.common.EPSLN)break;if(i>=max_iter){Proj4js.reportError("tmerc:inverse: Latitude failed to converge");return(95);}}
if(Math.abs(phi)<Proj4js.common.HALF_PI){var sin_phi=Math.sin(phi);var cos_phi=Math.cos(phi);var tan_phi=Math.tan(phi);var c=this.ep2*Math.pow(cos_phi,2);var cs=Math.pow(c,2);var t=Math.pow(tan_phi,2);var ts=Math.pow(t,2);con=1.0-this.es*Math.pow(sin_phi,2);var n=this.a/Math.sqrt(con);var r=n*(1.0-this.es)/con;var d=x/(n*this.k0);var ds=Math.pow(d,2);lat=phi-(n*tan_phi*ds/r)*(0.5-ds/24.0*(5.0+3.0*t+10.0*c-4.0*cs-9.0*this.ep2-ds/30.0*(61.0+90.0*t+298.0*c+45.0*ts-252.0*this.ep2-3.0*cs)));lon=Proj4js.common.adjust_lon(this.long0+(d*(1.0-ds/6.0*(1.0+2.0*t+c-ds/20.0*(5.0-2.0*c+28.0*t-3.0*cs+8.0*this.ep2+24.0*ts)))/cos_phi));}else{lat=Proj4js.common.HALF_PI*Proj4js.common.sign(y);lon=this.long0;}}
p.x=lon;p.y=lat;return p;}};Proj4js.defs["GOOGLE"]="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";Proj4js.defs["EPSG:900913"]=Proj4js.defs["GOOGLE"];Proj4js.Proj.gstmerc={init:function(){var temp=this.b/this.a;this.e=Math.sqrt(1.0-temp*temp);this.lc=this.long0;this.rs=Math.sqrt(1.0+this.e*this.e*Math.pow(Math.cos(this.lat0),4.0)/(1.0-this.e*this.e));var sinz=Math.sin(this.lat0);var pc=Math.asin(sinz/this.rs);var sinzpc=Math.sin(pc);this.cp=Proj4js.common.latiso(0.0,pc,sinzpc)-this.rs*Proj4js.common.latiso(this.e,this.lat0,sinz);this.n2=this.k0*this.a*Math.sqrt(1.0-this.e*this.e)/(1.0-this.e*this.e*sinz*sinz);this.xs=this.x0;this.ys=this.y0-this.n2*pc;if(!this.title)this.title="Gauss Schreiber transverse mercator";},forward:function(p){var lon=p.x;var lat=p.y;var L=this.rs*(lon-this.lc);var Ls=this.cp+(this.rs*Proj4js.common.latiso(this.e,lat,Math.sin(lat)));var lat1=Math.asin(Math.sin(L)/Proj4js.common.cosh(Ls));var Ls1=Proj4js.common.latiso(0.0,lat1,Math.sin(lat1));p.x=this.xs+(this.n2*Ls1);p.y=this.ys+(this.n2*Math.atan(Proj4js.common.sinh(Ls)/Math.cos(L)));return p;},inverse:function(p){var x=p.x;var y=p.y;var L=Math.atan(Proj4js.common.sinh((x-this.xs)/this.n2)/Math.cos((y-this.ys)/this.n2));var lat1=Math.asin(Math.sin((y-this.ys)/this.n2)/Proj4js.common.cosh((x-this.xs)/this.n2));var LC=Proj4js.common.latiso(0.0,lat1,Math.sin(lat1));p.x=this.lc+L/this.rs;p.y=Proj4js.common.invlatiso(this.e,(LC-this.cp)/this.rs);return p;}};Proj4js.Proj.ortho={init:function(def){;this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);},forward:function(p){var sinphi,cosphi;var dlon;var coslon;var ksp;var g;var lon=p.x;var lat=p.y;dlon=Proj4js.common.adjust_lon(lon-this.long0);sinphi=Math.sin(lat);cosphi=Math.cos(lat);coslon=Math.cos(dlon);g=this.sin_p14*sinphi+this.cos_p14*cosphi*coslon;ksp=1.0;if((g>0)||(Math.abs(g)<=Proj4js.common.EPSLN)){var x=this.a*ksp*cosphi*Math.sin(dlon);var y=this.y0+this.a*ksp*(this.cos_p14*sinphi-this.sin_p14*cosphi*coslon);}else{Proj4js.reportError("orthoFwdPointError");}
p.x=x;p.y=y;return p;},inverse:function(p){var rh;var z;var sinz,cosz;var temp;var con;var lon,lat;p.x-=this.x0;p.y-=this.y0;rh=Math.sqrt(p.x*p.x+p.y*p.y);if(rh>this.a+.0000001){Proj4js.reportError("orthoInvDataError");}
z=Proj4js.common.asinz(rh/this.a);sinz=Math.sin(z);cosz=Math.cos(z);lon=this.long0;if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.lat0;}
lat=Proj4js.common.asinz(cosz*this.sin_p14+(p.y*sinz*this.cos_p14)/rh);con=Math.abs(this.lat0)-Proj4js.common.HALF_PI;if(Math.abs(con)<=Proj4js.common.EPSLN){if(this.lat0>=0){lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));}else{lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));}}
con=cosz-this.sin_p14*Math.sin(lat);p.x=lon;p.y=lat;return p;}};Proj4js.Proj.somerc={init:function(){var phy0=this.lat0;this.lambda0=this.long0;var sinPhy0=Math.sin(phy0);var semiMajorAxis=this.a;var invF=this.rf;var flattening=1/invF;var e2=2*flattening-Math.pow(flattening,2);var e=this.e=Math.sqrt(e2);this.R=this.k0*semiMajorAxis*Math.sqrt(1-e2)/(1-e2*Math.pow(sinPhy0,2.0));this.alpha=Math.sqrt(1+e2/(1-e2)*Math.pow(Math.cos(phy0),4.0));this.b0=Math.asin(sinPhy0/this.alpha);this.K=Math.log(Math.tan(Math.PI/4.0+this.b0/2.0))
-this.alpha*Math.log(Math.tan(Math.PI/4.0+phy0/2.0))
+this.alpha*e/2*Math.log((1+e*sinPhy0)/(1-e*sinPhy0));},forward:function(p){var Sa1=Math.log(Math.tan(Math.PI/4.0-p.y/2.0));var Sa2=this.e/2.0*Math.log((1+this.e*Math.sin(p.y))/(1-this.e*Math.sin(p.y)));var S=-this.alpha*(Sa1+Sa2)+this.K;var b=2.0*(Math.atan(Math.exp(S))-Math.PI/4.0);var I=this.alpha*(p.x-this.lambda0);var rotI=Math.atan(Math.sin(I)/(Math.sin(this.b0)*Math.tan(b)+
Math.cos(this.b0)*Math.cos(I)));var rotB=Math.asin(Math.cos(this.b0)*Math.sin(b)-
Math.sin(this.b0)*Math.cos(b)*Math.cos(I));p.y=this.R/2.0*Math.log((1+Math.sin(rotB))/(1-Math.sin(rotB)))
+this.y0;p.x=this.R*rotI+this.x0;return p;},inverse:function(p){var Y=p.x-this.x0;var X=p.y-this.y0;var rotI=Y/this.R;var rotB=2*(Math.atan(Math.exp(X/this.R))-Math.PI/4.0);var b=Math.asin(Math.cos(this.b0)*Math.sin(rotB)
+Math.sin(this.b0)*Math.cos(rotB)*Math.cos(rotI));var I=Math.atan(Math.sin(rotI)/(Math.cos(this.b0)*Math.cos(rotI)-Math.sin(this.b0)*Math.tan(rotB)));var lambda=this.lambda0+I/this.alpha;var S=0.0;var phy=b;var prevPhy=-1000.0;var iteration=0;while(Math.abs(phy-prevPhy)>0.0000001)
{if(++iteration>20)
{Proj4js.reportError("omercFwdInfinity");return;}
S=1.0/this.alpha*(Math.log(Math.tan(Math.PI/4.0+b/2.0))-this.K)
+this.e*Math.log(Math.tan(Math.PI/4.0
+Math.asin(this.e*Math.sin(phy))/2.0));prevPhy=phy;phy=2.0*Math.atan(Math.exp(S))-Math.PI/2.0;}
p.x=lambda;p.y=phy;return p;}};Proj4js.Proj.stere={ssfn_:function(phit,sinphi,eccen){sinphi*=eccen;return(Math.tan(.5*(Proj4js.common.HALF_PI+phit))*Math.pow((1.-sinphi)/(1.+sinphi),.5*eccen));},TOL:1.e-8,NITER:8,CONV:1.e-10,S_POLE:0,N_POLE:1,OBLIQ:2,EQUIT:3,init:function(){this.phits=this.lat_ts?this.lat_ts:Proj4js.common.HALF_PI;var t=Math.abs(this.lat0);if((Math.abs(t)-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN){this.mode=this.lat0<0.?this.S_POLE:this.N_POLE;}else{this.mode=t>Proj4js.common.EPSLN?this.OBLIQ:this.EQUIT;}
this.phits=Math.abs(this.phits);if(this.es){var X;switch(this.mode){case this.N_POLE:case this.S_POLE:if(Math.abs(this.phits-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN){this.akm1=2.*this.k0/Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e));}else{t=Math.sin(this.phits);this.akm1=Math.cos(this.phits)/Proj4js.common.tsfnz(this.e,this.phits,t);t*=this.e;this.akm1/=Math.sqrt(1.-t*t);}
break;case this.EQUIT:this.akm1=2.*this.k0;break;case this.OBLIQ:t=Math.sin(this.lat0);X=2.*Math.atan(this.ssfn_(this.lat0,t,this.e))-Proj4js.common.HALF_PI;t*=this.e;this.akm1=2.*this.k0*Math.cos(this.lat0)/Math.sqrt(1.-t*t);this.sinX1=Math.sin(X);this.cosX1=Math.cos(X);break;}}else{switch(this.mode){case this.OBLIQ:this.sinph0=Math.sin(this.lat0);this.cosph0=Math.cos(this.lat0);case this.EQUIT:this.akm1=2.*this.k0;break;case this.S_POLE:case this.N_POLE:this.akm1=Math.abs(this.phits-Proj4js.common.HALF_PI)>=Proj4js.common.EPSLN?Math.cos(this.phits)/Math.tan(Proj4js.common.FORTPI-.5*this.phits):2.*this.k0;break;}}},forward:function(p){var lon=p.x;lon=Proj4js.common.adjust_lon(lon-this.long0);var lat=p.y;var x,y;if(this.sphere){var sinphi,cosphi,coslam,sinlam;sinphi=Math.sin(lat);cosphi=Math.cos(lat);coslam=Math.cos(lon);sinlam=Math.sin(lon);switch(this.mode){case this.EQUIT:y=1.+cosphi*coslam;if(y<=Proj4js.common.EPSLN){F_ERROR;}
y=this.akm1/y;x=y*cosphi*sinlam;y*=sinphi;break;case this.OBLIQ:y=1.+this.sinph0*sinphi+this.cosph0*cosphi*coslam;if(y<=Proj4js.common.EPSLN){F_ERROR;}
y=this.akm1/y;x=y*cosphi*sinlam;y*=this.cosph0*sinphi-this.sinph0*cosphi*coslam;break;case this.N_POLE:coslam=-coslam;lat=-lat;case this.S_POLE:if(Math.abs(lat-Proj4js.common.HALF_PI)<this.TOL){F_ERROR;}
y=this.akm1*Math.tan(Proj4js.common.FORTPI+.5*lat);x=sinlam*y;y*=coslam;break;}}else{coslam=Math.cos(lon);sinlam=Math.sin(lon);sinphi=Math.sin(lat);if(this.mode==this.OBLIQ||this.mode==this.EQUIT){X=2.*Math.atan(this.ssfn_(lat,sinphi,this.e));sinX=Math.sin(X-Proj4js.common.HALF_PI);cosX=Math.cos(X);}
switch(this.mode){case this.OBLIQ:A=this.akm1/(this.cosX1*(1.+this.sinX1*sinX+this.cosX1*cosX*coslam));y=A*(this.cosX1*sinX-this.sinX1*cosX*coslam);x=A*cosX;break;case this.EQUIT:A=2.*this.akm1/(1.+cosX*coslam);y=A*sinX;x=A*cosX;break;case this.S_POLE:lat=-lat;coslam=-coslam;sinphi=-sinphi;case this.N_POLE:x=this.akm1*Proj4js.common.tsfnz(this.e,lat,sinphi);y=-x*coslam;break;}
x=x*sinlam;}
p.x=x*this.a+this.x0;p.y=y*this.a+this.y0;return p;},inverse:function(p){var x=(p.x-this.x0)/this.a;var y=(p.y-this.y0)/this.a;var lon,lat;var cosphi,sinphi,tp=0.0,phi_l=0.0,rho,halfe=0.0,pi2=0.0;var i;if(this.sphere){var c,rh,sinc,cosc;rh=Math.sqrt(x*x+y*y);c=2.*Math.atan(rh/this.akm1);sinc=Math.sin(c);cosc=Math.cos(c);lon=0.;switch(this.mode){case this.EQUIT:if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=0.;}else{lat=Math.asin(y*sinc/rh);}
if(cosc!=0.||x!=0.)lon=Math.atan2(x*sinc,cosc*rh);break;case this.OBLIQ:if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.phi0;}else{lat=Math.asin(cosc*sinph0+y*sinc*cosph0/rh);}
c=cosc-sinph0*Math.sin(lat);if(c!=0.||x!=0.){lon=Math.atan2(x*sinc*cosph0,c*rh);}
break;case this.N_POLE:y=-y;case this.S_POLE:if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.phi0;}else{lat=Math.asin(this.mode==this.S_POLE?-cosc:cosc);}
lon=(x==0.&&y==0.)?0.:Math.atan2(x,y);break;}
p.x=Proj4js.common.adjust_lon(lon+this.long0);p.y=lat;}else{rho=Math.sqrt(x*x+y*y);switch(this.mode){case this.OBLIQ:case this.EQUIT:tp=2.*Math.atan2(rho*this.cosX1,this.akm1);cosphi=Math.cos(tp);sinphi=Math.sin(tp);if(rho==0.0){phi_l=Math.asin(cosphi*this.sinX1);}else{phi_l=Math.asin(cosphi*this.sinX1+(y*sinphi*this.cosX1/rho));}
tp=Math.tan(.5*(Proj4js.common.HALF_PI+phi_l));x*=sinphi;y=rho*this.cosX1*cosphi-y*this.sinX1*sinphi;pi2=Proj4js.common.HALF_PI;halfe=.5*this.e;break;case this.N_POLE:y=-y;case this.S_POLE:tp=-rho/this.akm1;phi_l=Proj4js.common.HALF_PI-2.*Math.atan(tp);pi2=-Proj4js.common.HALF_PI;halfe=-.5*this.e;break;}
for(i=this.NITER;i--;phi_l=lat){sinphi=this.e*Math.sin(phi_l);lat=2.*Math.atan(tp*Math.pow((1.+sinphi)/(1.-sinphi),halfe))-pi2;if(Math.abs(phi_l-lat)<this.CONV){if(this.mode==this.S_POLE)lat=-lat;lon=(x==0.&&y==0.)?0.:Math.atan2(x,y);p.x=Proj4js.common.adjust_lon(lon+this.long0);p.y=lat;return p;}}}}};Proj4js.Proj.nzmg={iterations:1,init:function(){this.A=new Array();this.A[1]=+0.6399175073;this.A[2]=-0.1358797613;this.A[3]=+0.063294409;this.A[4]=-0.02526853;this.A[5]=+0.0117879;this.A[6]=-0.0055161;this.A[7]=+0.0026906;this.A[8]=-0.001333;this.A[9]=+0.00067;this.A[10]=-0.00034;this.B_re=new Array();this.B_im=new Array();this.B_re[1]=+0.7557853228;this.B_im[1]=0.0;this.B_re[2]=+0.249204646;this.B_im[2]=+0.003371507;this.B_re[3]=-0.001541739;this.B_im[3]=+0.041058560;this.B_re[4]=-0.10162907;this.B_im[4]=+0.01727609;this.B_re[5]=-0.26623489;this.B_im[5]=-0.36249218;this.B_re[6]=-0.6870983;this.B_im[6]=-1.1651967;this.C_re=new Array();this.C_im=new Array();this.C_re[1]=+1.3231270439;this.C_im[1]=0.0;this.C_re[2]=-0.577245789;this.C_im[2]=-0.007809598;this.C_re[3]=+0.508307513;this.C_im[3]=-0.112208952;this.C_re[4]=-0.15094762;this.C_im[4]=+0.18200602;this.C_re[5]=+1.01418179;this.C_im[5]=+1.64497696;this.C_re[6]=+1.9660549;this.C_im[6]=+2.5127645;this.D=new Array();this.D[1]=+1.5627014243;this.D[2]=+0.5185406398;this.D[3]=-0.03333098;this.D[4]=-0.1052906;this.D[5]=-0.0368594;this.D[6]=+0.007317;this.D[7]=+0.01220;this.D[8]=+0.00394;this.D[9]=-0.0013;},forward:function(p){var lon=p.x;var lat=p.y;var delta_lat=lat-this.lat0;var delta_lon=lon-this.long0;var d_phi=delta_lat/Proj4js.common.SEC_TO_RAD*1E-5;var d_lambda=delta_lon;var d_phi_n=1;var d_psi=0;for(n=1;n<=10;n++){d_phi_n=d_phi_n*d_phi;d_psi=d_psi+this.A[n]*d_phi_n;}
var th_re=d_psi;var th_im=d_lambda;var th_n_re=1;var th_n_im=0;var th_n_re1;var th_n_im1;var z_re=0;var z_im=0;for(n=1;n<=6;n++){th_n_re1=th_n_re*th_re-th_n_im*th_im;th_n_im1=th_n_im*th_re+th_n_re*th_im;th_n_re=th_n_re1;th_n_im=th_n_im1;z_re=z_re+this.B_re[n]*th_n_re-this.B_im[n]*th_n_im;z_im=z_im+this.B_im[n]*th_n_re+this.B_re[n]*th_n_im;}
x=(z_im*this.a)+this.x0;y=(z_re*this.a)+this.y0;p.x=x;p.y=y;return p;},inverse:function(p){var x=p.x;var y=p.y;var delta_x=x-this.x0;var delta_y=y-this.y0;var z_re=delta_y/this.a;var z_im=delta_x/this.a;var z_n_re=1;var z_n_im=0;var z_n_re1;var z_n_im1;var th_re=0;var th_im=0;for(n=1;n<=6;n++){z_n_re1=z_n_re*z_re-z_n_im*z_im;z_n_im1=z_n_im*z_re+z_n_re*z_im;z_n_re=z_n_re1;z_n_im=z_n_im1;th_re=th_re+this.C_re[n]*z_n_re-this.C_im[n]*z_n_im;th_im=th_im+this.C_im[n]*z_n_re+this.C_re[n]*z_n_im;}
for(i=0;i<this.iterations;i++){var th_n_re=th_re;var th_n_im=th_im;var th_n_re1;var th_n_im1;var num_re=z_re;var num_im=z_im;for(n=2;n<=6;n++){th_n_re1=th_n_re*th_re-th_n_im*th_im;th_n_im1=th_n_im*th_re+th_n_re*th_im;th_n_re=th_n_re1;th_n_im=th_n_im1;num_re=num_re+(n-1)*(this.B_re[n]*th_n_re-this.B_im[n]*th_n_im);num_im=num_im+(n-1)*(this.B_im[n]*th_n_re+this.B_re[n]*th_n_im);}
th_n_re=1;th_n_im=0;var den_re=this.B_re[1];var den_im=this.B_im[1];for(n=2;n<=6;n++){th_n_re1=th_n_re*th_re-th_n_im*th_im;th_n_im1=th_n_im*th_re+th_n_re*th_im;th_n_re=th_n_re1;th_n_im=th_n_im1;den_re=den_re+n*(this.B_re[n]*th_n_re-this.B_im[n]*th_n_im);den_im=den_im+n*(this.B_im[n]*th_n_re+this.B_re[n]*th_n_im);}
var den2=den_re*den_re+den_im*den_im;th_re=(num_re*den_re+num_im*den_im)/den2;th_im=(num_im*den_re-num_re*den_im)/den2;}
var d_psi=th_re;var d_lambda=th_im;var d_psi_n=1;var d_phi=0;for(n=1;n<=9;n++){d_psi_n=d_psi_n*d_psi;d_phi=d_phi+this.D[n]*d_psi_n;}
var lat=this.lat0+(d_phi*Proj4js.common.SEC_TO_RAD*1E5);var lon=this.long0+d_lambda;p.x=lon;p.y=lat;return p;}};Proj4js.Proj.mill={init:function(){},forward:function(p){var lon=p.x;var lat=p.y;var dlon=Proj4js.common.adjust_lon(lon-this.long0);var x=this.x0+this.a*dlon;var y=this.y0+this.a*Math.log(Math.tan((Proj4js.common.PI/4.0)+(lat/2.5)))*1.25;p.x=x;p.y=y;return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var lon=Proj4js.common.adjust_lon(this.long0+p.x/this.a);var lat=2.5*(Math.atan(Math.exp(0.8*p.y/this.a))-Proj4js.common.PI/4.0);p.x=lon;p.y=lat;return p;}};Proj4js.Proj.gnom={init:function(def){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);this.infinity_dist=1000*this.a;this.rc=1;},forward:function(p){var sinphi,cosphi;var dlon;var coslon;var ksp;var g;var lon=p.x;var lat=p.y;dlon=Proj4js.common.adjust_lon(lon-this.long0);sinphi=Math.sin(lat);cosphi=Math.cos(lat);coslon=Math.cos(dlon);g=this.sin_p14*sinphi+this.cos_p14*cosphi*coslon;ksp=1.0;if((g>0)||(Math.abs(g)<=Proj4js.common.EPSLN)){x=this.x0+this.a*ksp*cosphi*Math.sin(dlon)/g;y=this.y0+this.a*ksp*(this.cos_p14*sinphi-this.sin_p14*cosphi*coslon)/g;}else{Proj4js.reportError("orthoFwdPointError");x=this.x0+this.infinity_dist*cosphi*Math.sin(dlon);y=this.y0+this.infinity_dist*(this.cos_p14*sinphi-this.sin_p14*cosphi*coslon);}
p.x=x;p.y=y;return p;},inverse:function(p){var rh;var z;var sinc,cosc;var c;var lon,lat;p.x=(p.x-this.x0)/this.a;p.y=(p.y-this.y0)/this.a;p.x/=this.k0;p.y/=this.k0;if((rh=Math.sqrt(p.x*p.x+p.y*p.y))){c=Math.atan2(rh,this.rc);sinc=Math.sin(c);cosc=Math.cos(c);lat=Proj4js.common.asinz(cosc*this.sin_p14+(p.y*sinc*this.cos_p14)/rh);lon=Math.atan2(p.x*sinc,rh*this.cos_p14*cosc-p.y*this.sin_p14*sinc);lon=Proj4js.common.adjust_lon(this.long0+lon);}else{lat=this.phic0;lon=0.0;}
p.x=lon;p.y=lat;return p;}};Proj4js.Proj.sinu={init:function(){this.R=6370997.0;},forward:function(p){var x,y,delta_lon;var lon=p.x;var lat=p.y;delta_lon=Proj4js.common.adjust_lon(lon-this.long0);x=this.R*delta_lon*Math.cos(lat)+this.x0;y=this.R*lat+this.y0;p.x=x;p.y=y;return p;},inverse:function(p){var lat,temp,lon;p.x-=this.x0;p.y-=this.y0;lat=p.y/this.R;if(Math.abs(lat)>Proj4js.common.HALF_PI){Proj4js.reportError("sinu:Inv:DataError");}
temp=Math.abs(lat)-Proj4js.common.HALF_PI;if(Math.abs(temp)>Proj4js.common.EPSLN){temp=this.long0+p.x/(this.R*Math.cos(lat));lon=Proj4js.common.adjust_lon(temp);}else{lon=this.long0;}
p.x=lon;p.y=lat;return p;}};Proj4js.Proj.vandg={init:function(){this.R=6370997.0;},forward:function(p){var lon=p.x;var lat=p.y;var dlon=Proj4js.common.adjust_lon(lon-this.long0);var x,y;if(Math.abs(lat)<=Proj4js.common.EPSLN){x=this.x0+this.R*dlon;y=this.y0;}
var theta=Proj4js.common.asinz(2.0*Math.abs(lat/Proj4js.common.PI));if((Math.abs(dlon)<=Proj4js.common.EPSLN)||(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN)){x=this.x0;if(lat>=0){y=this.y0+Proj4js.common.PI*this.R*Math.tan(.5*theta);}else{y=this.y0+Proj4js.common.PI*this.R*-Math.tan(.5*theta);}}
var al=.5*Math.abs((Proj4js.common.PI/dlon)-(dlon/Proj4js.common.PI));var asq=al*al;var sinth=Math.sin(theta);var costh=Math.cos(theta);var g=costh/(sinth+costh-1.0);var gsq=g*g;var m=g*(2.0/sinth-1.0);var msq=m*m;var con=Proj4js.common.PI*this.R*(al*(g-msq)+Math.sqrt(asq*(g-msq)*(g-msq)-(msq+asq)*(gsq-msq)))/(msq+asq);if(dlon<0){con=-con;}
x=this.x0+con;con=Math.abs(con/(Proj4js.common.PI*this.R));if(lat>=0){y=this.y0+Proj4js.common.PI*this.R*Math.sqrt(1.0-con*con-2.0*al*con);}else{y=this.y0-Proj4js.common.PI*this.R*Math.sqrt(1.0-con*con-2.0*al*con);}
p.x=x;p.y=y;return p;},inverse:function(p){var dlon;var xx,yy,xys,c1,c2,c3;var al,asq;var a1;var m1;var con;var th1;var d;p.x-=this.x0;p.y-=this.y0;con=Proj4js.common.PI*this.R;xx=p.x/con;yy=p.y/con;xys=xx*xx+yy*yy;c1=-Math.abs(yy)*(1.0+xys);c2=c1-2.0*yy*yy+xx*xx;c3=-2.0*c1+1.0+2.0*yy*yy+xys*xys;d=yy*yy/c3+(2.0*c2*c2*c2/c3/c3/c3-9.0*c1*c2/c3/c3)/27.0;a1=(c1-c2*c2/3.0/c3)/c3;m1=2.0*Math.sqrt(-a1/3.0);con=((3.0*d)/a1)/m1;if(Math.abs(con)>1.0){if(con>=0.0){con=1.0;}else{con=-1.0;}}
th1=Math.acos(con)/3.0;if(p.y>=0){lat=(-m1*Math.cos(th1+Proj4js.common.PI/3.0)-c2/3.0/c3)*Proj4js.common.PI;}else{lat=-(-m1*Math.cos(th1+Proj4js.common.PI/3.0)-c2/3.0/c3)*Proj4js.common.PI;}
if(Math.abs(xx)<Proj4js.common.EPSLN){lon=this.long0;}
lon=Proj4js.common.adjust_lon(this.long0+Proj4js.common.PI*(xys-1.0+Math.sqrt(1.0+2.0*(xx*xx-yy*yy)+xys*xys))/2.0/xx);p.x=lon;p.y=lat;return p;}};Proj4js.Proj.cea={init:function(){},forward:function(p){var lon=p.x;var lat=p.y;dlon=Proj4js.common.adjust_lon(lon-this.long0);var x=this.x0+this.a*dlon*Math.cos(this.lat_ts);var y=this.y0+this.a*Math.sin(lat)/Math.cos(this.lat_ts);p.x=x;p.y=y;return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var lon=Proj4js.common.adjust_lon(this.long0+(p.x/this.a)/Math.cos(this.lat_ts));var lat=Math.asin((p.y/this.a)*Math.cos(this.lat_ts));p.x=lon;p.y=lat;return p;}};Proj4js.Proj.eqc={init:function(){if(!this.x0)this.x0=0;if(!this.y0)this.y0=0;if(!this.lat0)this.lat0=0;if(!this.long0)this.long0=0;if(!this.lat_ts)this.lat_ts=0;if(!this.title)this.title="Equidistant Cylindrical (Plate Carre)";this.rc=Math.cos(this.lat_ts);},forward:function(p){var lon=p.x;var lat=p.y;var dlon=Proj4js.common.adjust_lon(lon-this.long0);var dlat=Proj4js.common.adjust_lat(lat-this.lat0);p.x=this.x0+(this.a*dlon*this.rc);p.y=this.y0+(this.a*dlat);return p;},inverse:function(p){var x=p.x;var y=p.y;p.x=Proj4js.common.adjust_lon(this.long0+((x-this.x0)/(this.a*this.rc)));p.y=Proj4js.common.adjust_lat(this.lat0+((y-this.y0)/(this.a)));return p;}};Proj4js.Proj.cass={init:function(){if(!this.sphere){this.en=this.pj_enfn(this.es)
this.m0=this.pj_mlfn(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en);}},C1:.16666666666666666666,C2:.00833333333333333333,C3:.04166666666666666666,C4:.33333333333333333333,C5:.06666666666666666666,forward:function(p){var x,y;var lam=p.x;var phi=p.y;lam=Proj4js.common.adjust_lon(lam-this.long0);if(this.sphere){x=Math.asin(Math.cos(phi)*Math.sin(lam));y=Math.atan2(Math.tan(phi),Math.cos(lam))-this.phi0;}else{this.n=Math.sin(phi);this.c=Math.cos(phi);y=this.pj_mlfn(phi,this.n,this.c,this.en);this.n=1./Math.sqrt(1.-this.es*this.n*this.n);this.tn=Math.tan(phi);this.t=this.tn*this.tn;this.a1=lam*this.c;this.c*=this.es*this.c/(1-this.es);this.a2=this.a1*this.a1;x=this.n*this.a1*(1.-this.a2*this.t*(this.C1-(8.-this.t+8.*this.c)*this.a2*this.C2));y-=this.m0-this.n*this.tn*this.a2*(.5+(5.-this.t+6.*this.c)*this.a2*this.C3);}
p.x=this.a*x+this.x0;p.y=this.a*y+this.y0;return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var x=p.x/this.a;var y=p.y/this.a;if(this.sphere){this.dd=y+this.lat0;phi=Math.asin(Math.sin(this.dd)*Math.cos(x));lam=Math.atan2(Math.tan(x),Math.cos(this.dd));}else{ph1=this.pj_inv_mlfn(this.m0+y,this.es,this.en);this.tn=Math.tan(ph1);this.t=this.tn*this.tn;this.n=Math.sin(ph1);this.r=1./(1.-this.es*this.n*this.n);this.n=Math.sqrt(this.r);this.r*=(1.-this.es)*this.n;this.dd=x/this.n;this.d2=this.dd*this.dd;phi=ph1-(this.n*this.tn/this.r)*this.d2*(.5-(1.+3.*this.t)*this.d2*this.C3);lam=this.dd*(1.+this.t*this.d2*(-this.C4+(1.+3.*this.t)*this.d2*this.C5))/Math.cos(ph1);}
p.x=Proj4js.common.adjust_lon(this.long0+lam);p.y=phi;return p;},pj_enfn:function(es){en=new Array();en[0]=this.C00-es*(this.C02+es*(this.C04+es*(this.C06+es*this.C08)));en[1]=es*(this.C22-es*(this.C04+es*(this.C06+es*this.C08)));var t=es*es;en[2]=t*(this.C44-es*(this.C46+es*this.C48));t*=es;en[3]=t*(this.C66-es*this.C68);en[4]=t*es*this.C88;return en;},pj_mlfn:function(phi,sphi,cphi,en){cphi*=sphi;sphi*=sphi;return(en[0]*phi-cphi*(en[1]+sphi*(en[2]+sphi*(en[3]+sphi*en[4]))));},pj_inv_mlfn:function(arg,es,en){k=1./(1.-es);phi=arg;for(i=Proj4js.common.MAX_ITER;i;--i){s=Math.sin(phi);t=1.-es*s*s;t=(this.pj_mlfn(phi,s,Math.cos(phi),en)-arg)*(t*Math.sqrt(t))*k;phi-=t;if(Math.abs(t)<Proj4js.common.EPSLN)
return phi;}
Proj4js.reportError("cass:pj_inv_mlfn: Convergence error");return phi;},C00:1.0,C02:.25,C04:.046875,C06:.01953125,C08:.01068115234375,C22:.75,C44:.46875,C46:.01302083333333333333,C48:.00712076822916666666,C66:.36458333333333333333,C68:.00569661458333333333,C88:.3076171875}
Proj4js.Proj.gauss={init:function(){sphi=Math.sin(this.lat0);cphi=Math.cos(this.lat0);cphi*=cphi;this.rc=Math.sqrt(1.0-this.es)/(1.0-this.es*sphi*sphi);this.C=Math.sqrt(1.0+this.es*cphi*cphi/(1.0-this.es));this.phic0=Math.asin(sphi/this.C);this.ratexp=0.5*this.C*this.e;this.K=Math.tan(0.5*this.phic0+Proj4js.common.FORTPI)/(Math.pow(Math.tan(0.5*this.lat0+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*sphi,this.ratexp));},forward:function(p){var lon=p.x;var lat=p.y;p.y=2.0*Math.atan(this.K*Math.pow(Math.tan(0.5*lat+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*Math.sin(lat),this.ratexp))-Proj4js.common.HALF_PI;p.x=this.C*lon;return p;},inverse:function(p){var DEL_TOL=1e-14;var lon=p.x/this.C;var lat=p.y;num=Math.pow(Math.tan(0.5*lat+Proj4js.common.FORTPI)/this.K,1./this.C);for(var i=Proj4js.common.MAX_ITER;i>0;--i){lat=2.0*Math.atan(num*Proj4js.common.srat(this.e*Math.sin(p.y),-0.5*this.e))-Proj4js.common.HALF_PI;if(Math.abs(lat-p.y)<DEL_TOL)break;p.y=lat;}
if(!i){Proj4js.reportError("gauss:inverse:convergence failed");return null;}
p.x=lon;p.y=lat;return p;}};Proj4js.Proj.omerc={init:function(){if(!this.mode)this.mode=0;if(!this.lon1){this.lon1=0;this.mode=1;}
if(!this.lon2)this.lon2=0;if(!this.lat2)this.lat2=0;var temp=this.b/this.a;var es=1.0-Math.pow(temp,2);var e=Math.sqrt(es);this.sin_p20=Math.sin(this.lat0);this.cos_p20=Math.cos(this.lat0);this.con=1.0-this.es*this.sin_p20*this.sin_p20;this.com=Math.sqrt(1.0-es);this.bl=Math.sqrt(1.0+this.es*Math.pow(this.cos_p20,4.0)/(1.0-es));this.al=this.a*this.bl*this.k0*this.com/this.con;if(Math.abs(this.lat0)<Proj4js.common.EPSLN){this.ts=1.0;this.d=1.0;this.el=1.0;}else{this.ts=Proj4js.common.tsfnz(this.e,this.lat0,this.sin_p20);this.con=Math.sqrt(this.con);this.d=this.bl*this.com/(this.cos_p20*this.con);if((this.d*this.d-1.0)>0.0){if(this.lat0>=0.0){this.f=this.d+Math.sqrt(this.d*this.d-1.0);}else{this.f=this.d-Math.sqrt(this.d*this.d-1.0);}}else{this.f=this.d;}
this.el=this.f*Math.pow(this.ts,this.bl);}
if(this.mode!=0){this.g=.5*(this.f-1.0/this.f);this.gama=Proj4js.common.asinz(Math.sin(this.alpha)/this.d);this.longc=this.longc-Proj4js.common.asinz(this.g*Math.tan(this.gama))/this.bl;this.con=Math.abs(this.lat0);if((this.con>Proj4js.common.EPSLN)&&(Math.abs(this.con-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN)){this.singam=Math.sin(this.gama);this.cosgam=Math.cos(this.gama);this.sinaz=Math.sin(this.alpha);this.cosaz=Math.cos(this.alpha);if(this.lat0>=0){this.u=(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}else{this.u=-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}}else{Proj4js.reportError("omerc:Init:DataError");}}else{this.sinphi=Math.sin(this.at1);this.ts1=Proj4js.common.tsfnz(this.e,this.lat1,this.sinphi);this.sinphi=Math.sin(this.lat2);this.ts2=Proj4js.common.tsfnz(this.e,this.lat2,this.sinphi);this.h=Math.pow(this.ts1,this.bl);this.l=Math.pow(this.ts2,this.bl);this.f=this.el/this.h;this.g=.5*(this.f-1.0/this.f);this.j=(this.el*this.el-this.l*this.h)/(this.el*this.el+this.l*this.h);this.p=(this.l-this.h)/(this.l+this.h);this.dlon=this.lon1-this.lon2;if(this.dlon<-Proj4js.common.PI)this.lon2=this.lon2-2.0*Proj4js.common.PI;if(this.dlon>Proj4js.common.PI)this.lon2=this.lon2+2.0*Proj4js.common.PI;this.dlon=this.lon1-this.lon2;this.longc=.5*(this.lon1+this.lon2)-Math.atan(this.j*Math.tan(.5*this.bl*this.dlon)/this.p)/this.bl;this.dlon=Proj4js.common.adjust_lon(this.lon1-this.longc);this.gama=Math.atan(Math.sin(this.bl*this.dlon)/this.g);this.alpha=Proj4js.common.asinz(this.d*Math.sin(this.gama));if(Math.abs(this.lat1-this.lat2)<=Proj4js.common.EPSLN){Proj4js.reportError("omercInitDataError");}else{this.con=Math.abs(this.lat1);}
if((this.con<=Proj4js.common.EPSLN)||(Math.abs(this.con-HALF_PI)<=Proj4js.common.EPSLN)){Proj4js.reportError("omercInitDataError");}else{if(Math.abs(Math.abs(this.lat0)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN){Proj4js.reportError("omercInitDataError");}}
this.singam=Math.sin(this.gam);this.cosgam=Math.cos(this.gam);this.sinaz=Math.sin(this.alpha);this.cosaz=Math.cos(this.alpha);if(this.lat0>=0){this.u=(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}else{this.u=-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1.0)/this.cosaz);}}},forward:function(p){var theta;var sin_phi,cos_phi;var b;var c,t,tq;var con,n,ml;var q,us,vl;var ul,vs;var s;var dlon;var ts1;var lon=p.x;var lat=p.y;sin_phi=Math.sin(lat);dlon=Proj4js.common.adjust_lon(lon-this.longc);vl=Math.sin(this.bl*dlon);if(Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN){ts1=Proj4js.common.tsfnz(this.e,lat,sin_phi);q=this.el/(Math.pow(ts1,this.bl));s=.5*(q-1.0/q);t=.5*(q+1.0/q);ul=(s*this.singam-vl*this.cosgam)/t;con=Math.cos(this.bl*dlon);if(Math.abs(con)<.0000001){us=this.al*this.bl*dlon;}else{us=this.al*Math.atan((s*this.cosgam+vl*this.singam)/con)/this.bl;if(con<0)us=us+Proj4js.common.PI*this.al/this.bl;}}else{if(lat>=0){ul=this.singam;}else{ul=-this.singam;}
us=this.al*lat/this.bl;}
if(Math.abs(Math.abs(ul)-1.0)<=Proj4js.common.EPSLN){Proj4js.reportError("omercFwdInfinity");}
vs=.5*this.al*Math.log((1.0-ul)/(1.0+ul))/this.bl;us=us-this.u;var x=this.x0+vs*this.cosaz+us*this.sinaz;var y=this.y0+us*this.cosaz-vs*this.sinaz;p.x=x;p.y=y;return p;},inverse:function(p){var delta_lon;var theta;var delta_theta;var sin_phi,cos_phi;var b;var c,t,tq;var con,n,ml;var vs,us,q,s,ts1;var vl,ul,bs;var dlon;var flag;p.x-=this.x0;p.y-=this.y0;flag=0;vs=p.x*this.cosaz-p.y*this.sinaz;us=p.y*this.cosaz+p.x*this.sinaz;us=us+this.u;q=Math.exp(-this.bl*vs/this.al);s=.5*(q-1.0/q);t=.5*(q+1.0/q);vl=Math.sin(this.bl*us/this.al);ul=(vl*this.cosgam+s*this.singam)/t;if(Math.abs(Math.abs(ul)-1.0)<=Proj4js.common.EPSLN)
{lon=this.longc;if(ul>=0.0){lat=Proj4js.common.HALF_PI;}else{lat=-Proj4js.common.HALF_PI;}}else{con=1.0/this.bl;ts1=Math.pow((this.el/Math.sqrt((1.0+ul)/(1.0-ul))),con);lat=Proj4js.common.phi2z(this.e,ts1);theta=this.longc-Math.atan2((s*this.cosgam-vl*this.singam),con)/this.bl;lon=Proj4js.common.adjust_lon(theta);}
p.x=lon;p.y=lat;return p;}};Proj4js.Proj.lcc={init:function(){if(!this.lat2){this.lat2=this.lat0;}
if(!this.k0)this.k0=1.0;if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN){Proj4js.reportError("lcc:init: Equal Latitudes");return;}
var temp=this.b/this.a;this.e=Math.sqrt(1.0-temp*temp);var sin1=Math.sin(this.lat1);var cos1=Math.cos(this.lat1);var ms1=Proj4js.common.msfnz(this.e,sin1,cos1);var ts1=Proj4js.common.tsfnz(this.e,this.lat1,sin1);var sin2=Math.sin(this.lat2);var cos2=Math.cos(this.lat2);var ms2=Proj4js.common.msfnz(this.e,sin2,cos2);var ts2=Proj4js.common.tsfnz(this.e,this.lat2,sin2);var ts0=Proj4js.common.tsfnz(this.e,this.lat0,Math.sin(this.lat0));if(Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN){this.ns=Math.log(ms1/ms2)/Math.log(ts1/ts2);}else{this.ns=sin1;}
this.f0=ms1/(this.ns*Math.pow(ts1,this.ns));this.rh=this.a*this.f0*Math.pow(ts0,this.ns);if(!this.title)this.title="Lambert Conformal Conic";},forward:function(p){var lon=p.x;var lat=p.y;if(lat<=90.0&&lat>=-90.0&&lon<=180.0&&lon>=-180.0){}else{Proj4js.reportError("lcc:forward: llInputOutOfRange: "+lon+" : "+lat);return null;}
var con=Math.abs(Math.abs(lat)-Proj4js.common.HALF_PI);var ts,rh1;if(con>Proj4js.common.EPSLN){ts=Proj4js.common.tsfnz(this.e,lat,Math.sin(lat));rh1=this.a*this.f0*Math.pow(ts,this.ns);}else{con=lat*this.ns;if(con<=0){Proj4js.reportError("lcc:forward: No Projection");return null;}
rh1=0;}
var theta=this.ns*Proj4js.common.adjust_lon(lon-this.long0);p.x=this.k0*(rh1*Math.sin(theta))+this.x0;p.y=this.k0*(this.rh-rh1*Math.cos(theta))+this.y0;return p;},inverse:function(p){var rh1,con,ts;var lat,lon;var x=(p.x-this.x0)/this.k0;var y=(this.rh-(p.y-this.y0)/this.k0);if(this.ns>0){rh1=Math.sqrt(x*x+y*y);con=1.0;}else{rh1=-Math.sqrt(x*x+y*y);con=-1.0;}
var theta=0.0;if(rh1!=0){theta=Math.atan2((con*x),(con*y));}
if((rh1!=0)||(this.ns>0.0)){con=1.0/this.ns;ts=Math.pow((rh1/(this.a*this.f0)),con);lat=Proj4js.common.phi2z(this.e,ts);if(lat==-9999)return null;}else{lat=-Proj4js.common.HALF_PI;}
lon=Proj4js.common.adjust_lon(theta/this.ns+this.long0);p.x=lon;p.y=lat;return p;}};Proj4js.Proj.laea={S_POLE:1,N_POLE:2,EQUIT:3,OBLIQ:4,init:function(){var t=Math.abs(this.lat0);if(Math.abs(t-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN){this.mode=this.lat0<0.?this.S_POLE:this.N_POLE;}else if(Math.abs(t)<Proj4js.common.EPSLN){this.mode=this.EQUIT;}else{this.mode=this.OBLIQ;}
if(this.es>0){var sinphi;this.qp=Proj4js.common.qsfnz(this.e,1.0);this.mmf=.5/(1.-this.es);this.apa=this.authset(this.es);switch(this.mode){case this.N_POLE:case this.S_POLE:this.dd=1.;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp);this.dd=1./this.rq;this.xmf=1.;this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp);sinphi=Math.sin(this.lat0);this.sinb1=Proj4js.common.qsfnz(this.e,sinphi)/this.qp;this.cosb1=Math.sqrt(1.-this.sinb1*this.sinb1);this.dd=Math.cos(this.lat0)/(Math.sqrt(1.-this.es*sinphi*sinphi)*this.rq*this.cosb1);this.ymf=(this.xmf=this.rq)/this.dd;this.xmf*=this.dd;break;}}else{if(this.mode==this.OBLIQ){this.sinph0=Math.sin(this.lat0);this.cosph0=Math.cos(this.lat0);}}},forward:function(p){var x,y;var lam=p.x;var phi=p.y;lam=Proj4js.common.adjust_lon(lam-this.long0);if(this.sphere){var coslam,cosphi,sinphi;sinphi=Math.sin(phi);cosphi=Math.cos(phi);coslam=Math.cos(lam);switch(this.mode){case this.OBLIQ:case this.EQUIT:y=(this.mode==this.EQUIT)?1.+cosphi*coslam:1.+this.sinph0*sinphi+this.cosph0*cosphi*coslam;if(y<=Proj4js.common.EPSLN){Proj4js.reportError("laea:fwd:y less than eps");return null;}
y=Math.sqrt(2./y);x=y*cosphi*Math.sin(lam);y*=(this.mode==this.EQUIT)?sinphi:this.cosph0*sinphi-this.sinph0*cosphi*coslam;break;case this.N_POLE:coslam=-coslam;case this.S_POLE:if(Math.abs(phi+this.phi0)<Proj4js.common.EPSLN){Proj4js.reportError("laea:fwd:phi < eps");return null;}
y=Proj4js.common.FORTPI-phi*.5;y=2.*((this.mode==this.S_POLE)?Math.cos(y):Math.sin(y));x=y*Math.sin(lam);y*=coslam;break;}}else{var coslam,sinlam,sinphi,q,sinb=0.0,cosb=0.0,b=0.0;coslam=Math.cos(lam);sinlam=Math.sin(lam);sinphi=Math.sin(phi);q=Proj4js.common.qsfnz(this.e,sinphi);if(this.mode==this.OBLIQ||this.mode==this.EQUIT){sinb=q/this.qp;cosb=Math.sqrt(1.-sinb*sinb);}
switch(this.mode){case this.OBLIQ:b=1.+this.sinb1*sinb+this.cosb1*cosb*coslam;break;case this.EQUIT:b=1.+cosb*coslam;break;case this.N_POLE:b=Proj4js.common.HALF_PI+phi;q=this.qp-q;break;case this.S_POLE:b=phi-Proj4js.common.HALF_PI;q=this.qp+q;break;}
if(Math.abs(b)<Proj4js.common.EPSLN){Proj4js.reportError("laea:fwd:b < eps");return null;}
switch(this.mode){case this.OBLIQ:case this.EQUIT:b=Math.sqrt(2./b);if(this.mode==this.OBLIQ){y=this.ymf*b*(this.cosb1*sinb-this.sinb1*cosb*coslam);}else{y=(b=Math.sqrt(2./(1.+cosb*coslam)))*sinb*this.ymf;}
x=this.xmf*b*cosb*sinlam;break;case this.N_POLE:case this.S_POLE:if(q>=0.){x=(b=Math.sqrt(q))*sinlam;y=coslam*((this.mode==this.S_POLE)?b:-b);}else{x=y=0.;}
break;}}
p.x=this.a*x+this.x0;p.y=this.a*y+this.y0;return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var x=p.x/this.a;var y=p.y/this.a;if(this.sphere){var cosz=0.0,rh,sinz=0.0;rh=Math.sqrt(x*x+y*y);var phi=rh*.5;if(phi>1.){Proj4js.reportError("laea:Inv:DataError");return null;}
phi=2.*Math.asin(phi);if(this.mode==this.OBLIQ||this.mode==this.EQUIT){sinz=Math.sin(phi);cosz=Math.cos(phi);}
switch(this.mode){case this.EQUIT:phi=(Math.abs(rh)<=Proj4js.common.EPSLN)?0.:Math.asin(y*sinz/rh);x*=sinz;y=cosz*rh;break;case this.OBLIQ:phi=(Math.abs(rh)<=Proj4js.common.EPSLN)?this.phi0:Math.asin(cosz*sinph0+y*sinz*cosph0/rh);x*=sinz*cosph0;y=(cosz-Math.sin(phi)*sinph0)*rh;break;case this.N_POLE:y=-y;phi=Proj4js.common.HALF_PI-phi;break;case this.S_POLE:phi-=Proj4js.common.HALF_PI;break;}
lam=(y==0.&&(this.mode==this.EQUIT||this.mode==this.OBLIQ))?0.:Math.atan2(x,y);}else{var cCe,sCe,q,rho,ab=0.0;switch(this.mode){case this.EQUIT:case this.OBLIQ:x/=this.dd;y*=this.dd;rho=Math.sqrt(x*x+y*y);if(rho<Proj4js.common.EPSLN){p.x=0.;p.y=this.phi0;return p;}
sCe=2.*Math.asin(.5*rho/this.rq);cCe=Math.cos(sCe);x*=(sCe=Math.sin(sCe));if(this.mode==this.OBLIQ){ab=cCe*this.sinb1+y*sCe*this.cosb1/rho
q=this.qp*ab;y=rho*this.cosb1*cCe-y*this.sinb1*sCe;}else{ab=y*sCe/rho;q=this.qp*ab;y=rho*cCe;}
break;case this.N_POLE:y=-y;case this.S_POLE:q=(x*x+y*y);if(!q){p.x=0.;p.y=this.phi0;return p;}
ab=1.-q/this.qp;if(this.mode==this.S_POLE){ab=-ab;}
break;}
lam=Math.atan2(x,y);phi=this.authlat(Math.asin(ab),this.apa);}
p.x=Proj4js.common.adjust_lon(this.long0+lam);p.y=phi;return p;},P00:.33333333333333333333,P01:.17222222222222222222,P02:.10257936507936507936,P10:.06388888888888888888,P11:.06640211640211640211,P20:.01641501294219154443,authset:function(es){var t;var APA=new Array();APA[0]=es*this.P00;t=es*es;APA[0]+=t*this.P01;APA[1]=t*this.P10;t*=es;APA[0]+=t*this.P02;APA[1]+=t*this.P11;APA[2]=t*this.P20;return APA;},authlat:function(beta,APA){var t=beta+beta;return(beta+APA[0]*Math.sin(t)+APA[1]*Math.sin(t+t)+APA[2]*Math.sin(t+t+t));}};Proj4js.Proj.aeqd={init:function(){this.sin_p12=Math.sin(this.lat0);this.cos_p12=Math.cos(this.lat0);},forward:function(p){var lon=p.x;var lat=p.y;var ksp;var sinphi=Math.sin(p.y);var cosphi=Math.cos(p.y);var dlon=Proj4js.common.adjust_lon(lon-this.long0);var coslon=Math.cos(dlon);var g=this.sin_p12*sinphi+this.cos_p12*cosphi*coslon;if(Math.abs(Math.abs(g)-1.0)<Proj4js.common.EPSLN){ksp=1.0;if(g<0.0){Proj4js.reportError("aeqd:Fwd:PointError");return;}}else{var z=Math.acos(g);ksp=z/Math.sin(z);}
p.x=this.x0+this.a*ksp*cosphi*Math.sin(dlon);p.y=this.y0+this.a*ksp*(this.cos_p12*sinphi-this.sin_p12*cosphi*coslon);return p;},inverse:function(p){p.x-=this.x0;p.y-=this.y0;var rh=Math.sqrt(p.x*p.x+p.y*p.y);if(rh>(2.0*Proj4js.common.HALF_PI*this.a)){Proj4js.reportError("aeqdInvDataError");return;}
var z=rh/this.a;var sinz=Math.sin(z);var cosz=Math.cos(z);var lon=this.long0;var lat;if(Math.abs(rh)<=Proj4js.common.EPSLN){lat=this.lat0;}else{lat=Proj4js.common.asinz(cosz*this.sin_p12+(p.y*sinz*this.cos_p12)/rh);var con=Math.abs(this.lat0)-Proj4js.common.HALF_PI;if(Math.abs(con)<=Proj4js.common.EPSLN){if(lat0>=0.0){lon=Proj4js.common.adjust_lon(this.long0+Math.atan2(p.x,-p.y));}else{lon=Proj4js.common.adjust_lon(this.long0-Math.atan2(-p.x,p.y));}}else{con=cosz-this.sin_p12*Math.sin(lat);if((Math.abs(con)<Proj4js.common.EPSLN)&&(Math.abs(p.x)<Proj4js.common.EPSLN)){}else{var temp=Math.atan2((p.x*sinz*this.cos_p12),(con*rh));lon=Proj4js.common.adjust_lon(this.long0+Math.atan2((p.x*sinz*this.cos_p12),(con*rh)));}}}
p.x=lon;p.y=lat;return p;}};Proj4js.Proj.moll={init:function(){},forward:function(p){var lon=p.x;var lat=p.y;var delta_lon=Proj4js.common.adjust_lon(lon-this.long0);var theta=lat;var con=Proj4js.common.PI*Math.sin(lat);for(var i=0;true;i++){var delta_theta=-(theta+Math.sin(theta)-con)/(1.0+Math.cos(theta));theta+=delta_theta;if(Math.abs(delta_theta)<Proj4js.common.EPSLN)break;if(i>=50){Proj4js.reportError("moll:Fwd:IterationError");}}
theta/=2.0;if(Proj4js.common.PI/2-Math.abs(lat)<Proj4js.common.EPSLN)delta_lon=0;var x=0.900316316158*this.a*delta_lon*Math.cos(theta)+this.x0;var y=1.4142135623731*this.a*Math.sin(theta)+this.y0;p.x=x;p.y=y;return p;},inverse:function(p){var theta;var arg;p.x-=this.x0;var arg=p.y/(1.4142135623731*this.a);if(Math.abs(arg)>0.999999999999)arg=0.999999999999;var theta=Math.asin(arg);var lon=Proj4js.common.adjust_lon(this.long0+(p.x/(0.900316316158*this.a*Math.cos(theta))));if(lon<(-Proj4js.common.PI))lon=-Proj4js.common.PI;if(lon>Proj4js.common.PI)lon=Proj4js.common.PI;arg=(2.0*theta+Math.sin(2.0*theta))/Proj4js.common.PI;if(Math.abs(arg)>1.0)arg=1.0;var lat=Math.asin(arg);p.x=lon;p.y=lat;return p;}};
/MKLiveView/v1.0/Source/References/Web/LeafletJS/proj4leaflet.js
0,0 → 1,152
L.Proj = {};
 
L.Proj._isProj4Proj = function(a) {
return typeof a['projName'] !== 'undefined';
}
 
L.Proj.Projection = L.Class.extend({
initialize: function(a, def) {
if (L.Proj._isProj4Proj(a)) {
this._proj = a;
} else {
var code = a;
Proj4js.defs[code] = def;
this._proj = new Proj4js.Proj(code);
}
},
 
project: function (latlng) {
var point = new L.Point(latlng.lng, latlng.lat);
return Proj4js.transform(Proj4js.WGS84, this._proj, point);
},
 
unproject: function (point, unbounded) {
var point2 = Proj4js.transform(this._proj, Proj4js.WGS84, point.clone());
return new L.LatLng(point2.y, point2.x, unbounded);
}
});
 
L.Proj.CRS = L.Class.extend({
includes: L.CRS,
 
options: {
transformation: new L.Transformation(1, 0, -1, 0)
},
 
initialize: function(a, b, c) {
var code, proj, def, options;
 
if (L.Proj._isProj4Proj(a)) {
proj = a;
code = proj.srsCode;
options = b || {};
 
this.projection = new L.Proj.Projection(proj);
} else {
code = a;
def = b;
options = c || {};
this.projection = new L.Proj.Projection(code, def);
}
 
L.Util.setOptions(this, options);
this.code = code;
this.transformation = this.options.transformation;
 
if (this.options.origin) {
this.transformation =
new L.Transformation(1, -this.options.origin[0],
-1, this.options.origin[1]);
}
 
if (this.options.scales) {
this.scale = function(zoom) {
return this.options.scales[zoom];
}
} else if (this.options.resolutions) {
this.scale = function(zoom) {
return 1 / this.options.resolutions[zoom];
}
}
}
});
 
L.Proj.CRS.TMS = L.Proj.CRS.extend({
initialize: function(a, b, c, d) {
if (L.Proj._isProj4Proj(a)) {
var proj = a,
projectedBounds = b,
options = c || {};
options.origin = [projectedBounds[0], projectedBounds[3]];
L.Proj.CRS.prototype.initialize(proj, options);
} else {
var code = a,
def = b,
projectedBounds = c,
options = d || {};
options.origin = [projectedBounds[0], projectedBounds[3]];
L.Proj.CRS.prototype.initialize(code, def, options);
}
 
this.projectedBounds = projectedBounds;
}
});
 
L.Proj.TileLayer = {};
 
L.Proj.TileLayer.TMS = L.TileLayer.extend({
options: {
tms: true,
continuousWorld: true
},
 
initialize: function(urlTemplate, crs, options) {
if (!(crs instanceof L.Proj.CRS.TMS)) {
throw new Error("CRS is not L.Proj.CRS.TMS.");
}
 
L.TileLayer.prototype.initialize.call(this, urlTemplate, options);
this.crs = crs;
 
// Verify grid alignment
for (var i = this.options.minZoom; i < this.options.maxZoom; i++) {
var gridHeight = (this.crs.projectedBounds[3] - this.crs.projectedBounds[1]) /
this._projectedTileSize(i);
if (Math.abs(gridHeight - Math.round(gridHeight)) > 1e-3) {
throw new Error("Projected bounds does not match grid at zoom " + i);
}
}
},
 
getTileUrl: function(tilePoint) {
var gridHeight =
Math.round((this.crs.projectedBounds[3] - this.crs.projectedBounds[1]) /
this._projectedTileSize(this._map.getZoom()));
 
// TODO: relies on some of TileLayer's internals
return L.Util.template(this._url, L.Util.extend({
s: this._getSubdomain(tilePoint),
z: this._getZoomForUrl(),
x: tilePoint.x,
y: gridHeight - tilePoint.y - 1
}, this.options));
},
 
_projectedTileSize: function(zoom) {
return (this.options.tileSize / this.crs.scale(zoom));
}
});
 
if (typeof module !== 'undefined') module.exports = L.Proj;
 
if (typeof L !== 'undefined' && typeof L.CRS !== 'undefined') {
// This is left here for backwards compatibility
L.CRS.proj4js = (function () {
return function (code, def, transformation, options) {
options = options || {};
if (transformation) options.transformation = transformation;
 
return new L.Proj.CRS(code, def, options);
};
}());
}
/MKLiveView/v1.0/Source/References/Windows/Mono.Data.Sqlite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/Mono.Security.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/MySql.Data.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/Mono.Data.Sqlite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/Mono.Security.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/MySql.Data.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/Npgsql.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/System.Data.SQLite.EF6.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/System.Data.SQLite.EF6.xml
0,0 → 1,2180
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite.EF6</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.EF6.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.EF6.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.EF6.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.EF6.Properties.Resources.SQL_CONSTRAINTCOLUMNS">
<summary>
Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTCOLUMNS AS
SELECT CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM TEMP.SCHEMAINDEXCOLUMNS
UNION
SELECT CONSTRAINT_CATALOG, NULL, CONSTRAINT_NAME, TABLE_CATALOG, NULL, TABLE_NAME, FKEY_FROM_COLUMN
FROM TEMP.SCHEMAFOREIGNKEYS;.
</summary>
</member>
<member name="P:System.Data.SQLite.EF6.Properties.Resources.SQL_CONSTRAINTS">
<summary>
Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTS AS
SELECT INDEX_CATALOG AS CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, INDEX_NAME AS CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, &apos;PRIMARY KEY&apos; AS CONSTRAINT_TYPE, 0 AS IS_DEFERRABLE, 0 AS INITIALLY_DEFERRED, NULL AS CHECK_CLAUSE
FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 1
UNION
SELECT INDEX_CATALOG, NULL, INDEX_NAME, TABLE_CATALOG, NULL, TABLE_NAME, &apos;UNIQUE&apos;, 0, 0, NULL
FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 0 AND [UNIQUE] = 1
UNION
[rest of string was truncated]&quot;;.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.DmlSqlGenerator">
<summary>
Class generating SQL for a DML command tree.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.DmlSqlGenerator.IsIntegerPrimaryKey(System.Data.Entity.Core.Metadata.Edm.EntitySetBase,System.Data.Entity.Core.Metadata.Edm.ReadOnlyMetadataCollection{System.Data.Entity.Core.Metadata.Edm.EdmMember}@,System.Data.Entity.Core.Metadata.Edm.EdmMember@)">
<summary>
This method attempts to determine if the specified table has an integer
primary key (i.e. "rowid"). If so, it sets the
<paramref name="primaryKeyMember"/> parameter to the right
<see cref="T:System.Data.Entity.Core.Metadata.Edm.EdmMember"/>; otherwise, the
<paramref name="primaryKeyMember"/> parameter is set to null.
</summary>
<param name="table">The table to check.</param>
<param name="keyMembers">
The collection of key members. An attempt is always made to set this
parameter to a valid value.
</param>
<param name="primaryKeyMember">
The <see cref="T:System.Data.Entity.Core.Metadata.Edm.EdmMember"/> that represents the integer primary key
-OR- null if no such <see cref="T:System.Data.Entity.Core.Metadata.Edm.EdmMember"/> exists.
</param>
<returns>
Non-zero if the specified table has an integer primary key.
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.DmlSqlGenerator.DoAllKeyMembersHaveValues(System.Data.SQLite.EF6.DmlSqlGenerator.ExpressionTranslator,System.Data.Entity.Core.Metadata.Edm.ReadOnlyMetadataCollection{System.Data.Entity.Core.Metadata.Edm.EdmMember},System.Data.Entity.Core.Metadata.Edm.EdmMember@)">
<summary>
This method attempts to determine if all the specified key members have
values available.
</summary>
<param name="translator">
The <see cref="T:System.Data.SQLite.EF6.DmlSqlGenerator.ExpressionTranslator"/> to use.
</param>
<param name="keyMembers">
The collection of key members to check.
</param>
<param name="missingKeyMember">
The first missing key member that is found. This is only set to a valid
value if the method is returning false.
</param>
<returns>
Non-zero if all key members have values; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.DmlSqlGenerator.GenerateReturningSql(System.Text.StringBuilder,System.Data.Entity.Core.Common.CommandTrees.DbModificationCommandTree,System.Data.SQLite.EF6.DmlSqlGenerator.ExpressionTranslator,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
Generates SQL fragment returning server-generated values.
Requires: translator knows about member values so that we can figure out
how to construct the key predicate.
<code>
Sample SQL:
select IdentityValue
from dbo.MyTable
where @@ROWCOUNT > 0 and IdentityValue = scope_identity()
or
select TimestamptValue
from dbo.MyTable
where @@ROWCOUNT > 0 and Id = 1
Note that we filter on rowcount to ensure no rows are returned if no rows were modified.
</code>
</summary>
<param name="commandText">Builder containing command text</param>
<param name="tree">Modification command tree</param>
<param name="translator">Translator used to produce DML SQL statement
for the tree</param>
<param name="returning">Returning expression. If null, the method returns
immediately without producing a SELECT statement.</param>
<param name="wasInsert">
Non-zero if this method is being called as part of processing an INSERT;
otherwise (e.g. UPDATE), zero.
</param>
</member>
<member name="T:System.Data.SQLite.EF6.DmlSqlGenerator.ExpressionTranslator">
<summary>
Lightweight expression translator for DML expression trees, which have constrained
scope and support.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.DmlSqlGenerator.ExpressionTranslator.#ctor(System.Text.StringBuilder,System.Data.Entity.Core.Common.CommandTrees.DbModificationCommandTree,System.Boolean,System.String)">
<summary>
Initialize a new expression translator populating the given string builder
with command text. Command text builder and command tree must not be null.
</summary>
<param name="commandText">Command text with which to populate commands</param>
<param name="commandTree">Command tree generating SQL</param>
<param name="preserveMemberValues">Indicates whether the translator should preserve
member values while compiling t-SQL (only needed for server generation)</param>
<param name="kind"></param>
</member>
<member name="M:System.Data.SQLite.EF6.DmlSqlGenerator.ExpressionTranslator.RegisterMemberValue(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
Call this method to register a property value pair so the translator "remembers"
the values for members of the row being modified. These values can then be used
to form a predicate for server-generation (based on the key of the row)
</summary>
<param name="propertyExpression">DbExpression containing the column reference (property expression).</param>
<param name="value">DbExpression containing the value of the column.</param>
</member>
<member name="T:System.Data.SQLite.EF6.ISqlFragment">
<summary>
Represents the sql fragment for any node in the query tree.
</summary>
<remarks>
The nodes in a query tree produce various kinds of sql
<list type="bullet">
<item>A select statement.</item>
<item>A reference to an extent. (symbol)</item>
<item>A raw string.</item>
</list>
We have this interface to allow for a common return type for the methods
in the expression visitor <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpressionVisitor`1"/>
At the end of translation, the sql fragments are converted into real strings.
</remarks>
</member>
<member name="M:System.Data.SQLite.EF6.ISqlFragment.WriteSql(System.Data.SQLite.EF6.SqlWriter,System.Data.SQLite.EF6.SqlGenerator)">
<summary>
Write the string represented by this fragment into the stream.
</summary>
<param name="writer">The stream that collects the strings.</param>
<param name="sqlGenerator">Context information used for renaming.
The global lists are used to generated new names without collisions.</param>
</member>
<member name="T:System.Data.SQLite.EF6.JoinSymbol">
<summary>
A Join symbol is a special kind of Symbol.
It has to carry additional information
<list type="bullet">
<item>ColumnList for the list of columns in the select clause if this
symbol represents a sql select statement. This is set by <see cref="M:System.Data.SQLite.EF6.SqlGenerator.AddDefaultColumns(System.Data.SQLite.EF6.SqlSelectStatement)"/>. </item>
<item>ExtentList is the list of extents in the select clause.</item>
<item>FlattenedExtentList - if the Join has multiple extents flattened at the
top level, we need this information to ensure that extent aliases are renamed
correctly in <see cref="M:System.Data.SQLite.EF6.SqlSelectStatement.WriteSql(System.Data.SQLite.EF6.SqlWriter,System.Data.SQLite.EF6.SqlGenerator)"/></item>
<item>NameToExtent has all the extents in ExtentList as a dictionary.
This is used by <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/> to flatten
record accesses.</item>
<item>IsNestedJoin - is used to determine whether a JoinSymbol is an
ordinary join symbol, or one that has a corresponding SqlSelectStatement.</item>
</list>
All the lists are set exactly once, and then used for lookups/enumerated.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.Symbol">
<summary>
<see cref="T:System.Data.SQLite.EF6.SymbolTable"/>
This class represents an extent/nested select statement,
or a column.
The important fields are Name, Type and NewName.
NewName starts off the same as Name, and is then modified as necessary.
The rest are used by special symbols.
e.g. NeedsRenaming is used by columns to indicate that a new name must
be picked for the column in the second phase of translation.
IsUnnest is used by symbols for a collection expression used as a from clause.
This allows <see cref="M:System.Data.SQLite.EF6.SqlGenerator.AddFromSymbol(System.Data.SQLite.EF6.SqlSelectStatement,System.String,System.Data.SQLite.EF6.Symbol,System.Boolean)"/> to add the column list
after the alias.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.Symbol.WriteSql(System.Data.SQLite.EF6.SqlWriter,System.Data.SQLite.EF6.SqlGenerator)">
<summary>
Write this symbol out as a string for sql. This is just
the new name of the symbol (which could be the same as the old name).
We rename columns here if necessary.
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="T:System.Data.SQLite.EF6.MetadataHelpers">
<summary>
A set of static helpers for type metadata
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.NullableFacetName">
<summary>
Name of the Nullable Facet
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.GetEdmType``1(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Cast the EdmType of the given type usage to the given TEdmType
</summary>
<typeparam name="TEdmType"></typeparam>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.GetElementTypeUsage(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Gets the TypeUsage of the elment if the given type is a collection type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.GetProperties(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Retrieves the properties of in the EdmType underlying the input type usage,
if that EdmType is a structured type (EntityType, RowType).
</summary>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.GetProperties(System.Data.Entity.Core.Metadata.Edm.EdmType)">
<summary>
Retrieves the properties of the given EdmType, if it is
a structured type (EntityType, RowType).
</summary>
<param name="edmType"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.IsCollectionType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a collection type
</summary>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.IsCollectionType(System.Data.Entity.Core.Metadata.Edm.EdmType)">
<summary>
Is the given type a collection type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.IsPrimitiveType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a primitive type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.IsPrimitiveType(System.Data.Entity.Core.Metadata.Edm.EdmType)">
<summary>
Is the given type a primitive type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.IsRowType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a row type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.IsRowType(System.Data.Entity.Core.Metadata.Edm.EdmType)">
<summary>
Is the given type a row type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.TryGetPrimitiveTypeKind(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Data.Entity.Core.Metadata.Edm.PrimitiveTypeKind@)">
<summary>
Gets the type of the given type usage if it is a primitive type
</summary>
<param name="type"></param>
<param name="typeKind"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.TryGetValueForMetadataProperty``1(System.Data.Entity.Core.Metadata.Edm.MetadataItem,System.String)">
<summary>
Gets the value for the metadata property with the given name
</summary>
<typeparam name="T"></typeparam>
<param name="item"></param>
<param name="propertyName"></param>
<returns></returns>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.MaxLengthFacetName">
<summary>
Name of the MaxLength Facet
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.UnicodeFacetName">
<summary>
Name of the Unicode Facet
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.FixedLengthFacetName">
<summary>
Name of the FixedLength Facet
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.PreserveSecondsFacetName">
<summary>
Name of the PreserveSeconds Facet
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.PrecisionFacetName">
<summary>
Name of the Precision Facet
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.ScaleFacetName">
<summary>
Name of the Scale Facet
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.MetadataHelpers.DefaultValueFacetName">
<summary>
Name of the DefaultValue Facet
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.GetFacetValueOrDefault``1(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.String,``0)">
<summary>
Get the value specified on the given type usage for the given facet name.
If the faces does not have a value specifid or that value is null returns
the default value for that facet.
</summary>
<typeparam name="T"></typeparam>
<param name="type"></param>
<param name="facetName"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.MetadataHelpers.TryGetTypeFacetDescriptionByName(System.Data.Entity.Core.Metadata.Edm.EdmType,System.String,System.Data.Entity.Core.Metadata.Edm.FacetDescription@)">
<summary>
Given a facet name and an EdmType, tries to get that facet's description.
</summary>
<param name="edmType"></param>
<param name="facetName"></param>
<param name="facetDescription"></param>
<returns></returns>
</member>
<member name="T:System.Data.SQLite.EF6.SkipClause">
<summary>
SkipClause represents the a SKIP expression in a SqlSelectStatement.
It has a count property, which indicates how many rows should be skipped.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SkipClause.#ctor(System.Data.SQLite.EF6.ISqlFragment)">
<summary>
Creates a SkipClause with the given skipCount.
</summary>
<param name="skipCount"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SkipClause.#ctor(System.Int32)">
<summary>
Creates a SkipClause with the given skipCount.
</summary>
<param name="skipCount"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SkipClause.WriteSql(System.Data.SQLite.EF6.SqlWriter,System.Data.SQLite.EF6.SqlGenerator)">
<summary>
Write out the SKIP part of sql select statement
It basically writes OFFSET (X).
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.EF6.SkipClause.SkipCount">
<summary>
How many rows should be skipped.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.SqlBuilder">
<summary>
This class is like StringBuilder. While traversing the tree for the first time,
we do not know all the strings that need to be appended e.g. things that need to be
renamed, nested select statements etc. So, we use a builder that can collect
all kinds of sql fragments.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SqlBuilder.Append(System.Object)">
<summary>
Add an object to the list - we do not verify that it is a proper sql fragment
since this is an internal method.
</summary>
<param name="s"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlBuilder.AppendLine">
<summary>
This is to pretty print the SQL. The writer <see cref="M:System.Data.SQLite.EF6.SqlWriter.Write(System.String)"/>
needs to know about new lines so that it can add the right amount of
indentation at the beginning of lines.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SqlBuilder.WriteSql(System.Data.SQLite.EF6.SqlWriter,System.Data.SQLite.EF6.SqlGenerator)">
<summary>
We delegate the writing of the fragment to the appropriate type.
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.EF6.SqlBuilder.IsEmpty">
<summary>
Whether the builder is empty. This is used by the <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/>
to determine whether a sql statement can be reused.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.SqlGenerator">
<summary>
Translates the command object into a SQL string that can be executed on
SQLite.
</summary>
<remarks>
The translation is implemented as a visitor <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbExpressionVisitor`1"/>
over the query tree. It makes a single pass over the tree, collecting the sql
fragments for the various nodes in the tree <see cref="T:System.Data.SQLite.EF6.ISqlFragment"/>.
The major operations are
<list type="bullet">
<item>Select statement minimization. Multiple nodes in the query tree
that can be part of a single SQL select statement are merged. e.g. a
Filter node that is the input of a Project node can typically share the
same SQL statement.</item>
<item>Alpha-renaming. As a result of the statement minimization above, there
could be name collisions when using correlated subqueries
<example>
<code>
Filter(
b = Project( c.x
c = Extent(foo)
)
exists (
Filter(
c = Extent(foo)
b.x = c.x
)
)
)
</code>
The first Filter, Project and Extent will share the same SQL select statement.
The alias for the Project i.e. b, will be replaced with c.
If the alias c for the Filter within the exists clause is not renamed,
we will get <c>c.x = c.x</c>, which is incorrect.
Instead, the alias c within the second filter should be renamed to c1, to give
<c>c.x = c1.x</c> i.e. b is renamed to c, and c is renamed to c1.
</example>
</item>
<item>Join flattening. In the query tree, a list of join nodes is typically
represented as a tree of Join nodes, each with 2 children. e.g.
<example>
<code>
a = Join(InnerJoin
b = Join(CrossJoin
c = Extent(foo)
d = Extent(foo)
)
e = Extent(foo)
on b.c.x = e.x
)
</code>
If translated directly, this will be translated to
<code>
FROM ( SELECT c.*, d.*
FROM foo as c
CROSS JOIN foo as d) as b
INNER JOIN foo as e on b.x' = e.x
</code>
It would be better to translate this as
<code>
FROM foo as c
CROSS JOIN foo as d
INNER JOIN foo as e on c.x = e.x
</code>
This allows the optimizer to choose an appropriate join ordering for evaluation.
</example>
</item>
<item>Select * and column renaming. In the example above, we noticed that
in some cases we add <c>SELECT * FROM ...</c> to complete the SQL
statement. i.e. there is no explicit PROJECT list.
In this case, we enumerate all the columns available in the FROM clause
This is particularly problematic in the case of Join trees, since the columns
from the extents joined might have the same name - this is illegal. To solve
this problem, we will have to rename columns if they are part of a SELECT *
for a JOIN node - we do not need renaming in any other situation.
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.AddDefaultColumns(System.Data.SQLite.EF6.SqlSelectStatement)"/>.
</item>
</list>
<para>
Renaming issues.
When rows or columns are renamed, we produce names that are unique globally
with respect to the query. The names are derived from the original names,
with an integer as a suffix. e.g. CustomerId will be renamed to CustomerId1,
CustomerId2 etc.
Since the names generated are globally unique, they will not conflict when the
columns of a JOIN SELECT statement are joined with another JOIN.
</para>
<para>
Record flattening.
SQL server does not have the concept of records. However, a join statement
produces records. We have to flatten the record accesses into a simple
<c>alias.column</c> form. <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/>
</para>
<para>
Building the SQL.
There are 2 phases
<list type="numbered">
<item>Traverse the tree, producing a sql builder <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></item>
<item>Write the SqlBuilder into a string, renaming the aliases and columns
as needed.</item>
</list>
In the first phase, we traverse the tree. We cannot generate the SQL string
right away, since
<list type="bullet">
<item>The WHERE clause has to be visited before the from clause.</item>
<item>extent aliases and column aliases need to be renamed. To minimize
renaming collisions, all the names used must be known, before any renaming
choice is made.</item>
</list>
To defer the renaming choices, we use symbols <see cref="T:System.Data.SQLite.EF6.Symbol"/>. These
are renamed in the second phase.
Since visitor methods cannot transfer information to child nodes through
parameters, we use some global stacks,
<list type="bullet">
<item>A stack for the current SQL select statement. This is needed by
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)"/> to create a
list of free variables used by a select statement. This is needed for
alias renaming.
</item>
<item>A stack for the join context. When visiting a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbScanExpression"/>,
we need to know whether we are inside a join or not. If we are inside
a join, we do not create a new SELECT statement.</item>
</list>
</para>
<para>
Global state.
To enable renaming, we maintain
<list type="bullet">
<item>The set of all extent aliases used.</item>
<item>The set of all column aliases used.</item>
</list>
Finally, we have a symbol table to lookup variable references. All references
to the same extent have the same symbol.
</para>
<para>
Sql select statement sharing.
Each of the relational operator nodes
<list type="bullet">
<item>Project</item>
<item>Filter</item>
<item>GroupBy</item>
<item>Sort/OrderBy</item>
</list>
can add its non-input (e.g. project, predicate, sort order etc.) to
the SQL statement for the input, or create a new SQL statement.
If it chooses to reuse the input's SQL statement, we play the following
symbol table trick to accomplish renaming. The symbol table entry for
the alias of the current node points to the symbol for the input in
the input's SQL statement.
<example>
<code>
Project(b.x
b = Filter(
c = Extent(foo)
c.x = 5)
)
</code>
The Extent node creates a new SqlSelectStatement. This is added to the
symbol table by the Filter as {c, Symbol(c)}. Thus, <c>c.x</c> is resolved to
<c>Symbol(c).x</c>.
Looking at the project node, we add {b, Symbol(c)} to the symbol table if the
SQL statement is reused, and {b, Symbol(b)}, if there is no reuse.
Thus, <c>b.x</c> is resolved to <c>Symbol(c).x</c> if there is reuse, and to
<c>Symbol(b).x</c> if there is no reuse.
</example>
</para>
</remarks>
</member>
<member name="F:System.Data.SQLite.EF6.SqlGenerator.selectStatementStack">
<summary>
Every relational node has to pass its SELECT statement to its children
This allows them (DbVariableReferenceExpression eventually) to update the list of
outer extents (free variables) used by this select statement.
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.SqlGenerator.isParentAJoinStack">
<summary>
Nested joins and extents need to know whether they should create
a new Select statement, or reuse the parent's. This flag
indicates whether the parent is a join or not.
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.SqlGenerator.isVarRefSingle">
<summary>
VariableReferenceExpressions are allowed only as children of DbPropertyExpression
or MethodExpression. The cheapest way to ensure this is to set the following
property in DbVariableReferenceExpression and reset it in the allowed parent expressions.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.InitializeBuiltInFunctionHandlers">
<summary>
All special built-in functions and their handlers
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.InitializeCanonicalFunctionHandlers">
<summary>
All special non-aggregate canonical functions and their handlers
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.InitializeDatepartKeywords">
<summary>
Valid datepart values
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.InitializeFunctionNameToOperatorDictionary">
<summary>
Initializes the mapping from functions to T-SQL operators
for all functions that translate to T-SQL operators
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.#ctor(System.Data.SQLite.EF6.SQLiteProviderManifest)">
<summary>
Basic constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.GenerateSql(System.Data.SQLite.EF6.SQLiteProviderManifest,System.Data.Entity.Core.Common.CommandTrees.DbCommandTree,System.Collections.Generic.List{System.Data.Common.DbParameter}@,System.Data.CommandType@)">
<summary>
General purpose static function that can be called from System.Data assembly
</summary>
<param name="manifest"></param>
<param name="tree">command tree</param>
<param name="parameters">Parameters to add to the command tree corresponding
to constants in the command tree. Used only in ModificationCommandTrees.</param>
<param name="commandType"></param>
<returns>The string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.GenerateSql(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree)">
<summary>
Translate a command tree to a SQL string.
The input tree could be translated to either a SQL SELECT statement
or a SELECT expression. This choice is made based on the return type
of the expression
CollectionType => select statement
non collection type => select expression
</summary>
<param name="tree"></param>
<returns>The string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.GenerateFunctionSql(System.Data.Entity.Core.Common.CommandTrees.DbFunctionCommandTree,System.Data.CommandType@)">
<summary>
Translate a function command tree to a SQL string.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.WriteSql(System.Data.SQLite.EF6.ISqlFragment)">
<summary>
Convert the SQL fragments to a string.
We have to setup the Stream for writing.
</summary>
<param name="sqlStatement"></param>
<returns>A string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbAndExpression)">
<summary>
Translate(left) AND Translate(right)
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/>.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbApplyExpression)">
<summary>
An apply is just like a join, so it shares the common join processing
in <see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbArithmeticExpression)">
<summary>
For binary expressions, we delegate to <see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitBinaryExpression(System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>.
We handle the other expressions directly.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCaseExpression)">
<summary>
If the ELSE clause is null, we do not write it out.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCastExpression)">
<summary>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbComparisonExpression)">
<summary>
The parser generates Not(Equals(...)) for &lt;&gt;.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/>.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression)">
<summary>
Constants will be send to the store as part of the generated TSQL, not as parameters
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/>. Strings are wrapped in single
quotes and escaped. Numbers are written literally.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbDerefExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbDerefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbDistinctExpression)">
<summary>
The DISTINCT has to be added to the beginning of SqlSelectStatement.Select,
but it might be too late for that. So, we use a flag on SqlSelectStatement
instead, and add the "DISTINCT" in the second phase.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbElementExpression)">
<summary>
An element expression returns a scalar - so it is translated to
( Select ... )
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)"/>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
Only concrete expression types will be visited.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbScanExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>If we are in a Join context, returns a <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/>
with the extent name, otherwise, a new <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/>
with the From field set.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.GetTargetTSql(System.Data.Entity.Core.Metadata.Edm.EntitySetBase)">
<summary>
Gets escaped TSql identifier describing this entity set.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)">
<summary>
The bodies of <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>, <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbGroupByExpression)"/>,
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/>, <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSortExpression)"/> are similar.
Each does the following.
<list type="number">
<item> Visit the input expression</item>
<item> Determine if the input's SQL statement can be reused, or a new
one must be created.</item>
<item>Create a new symbol table scope</item>
<item>Push the Sql statement onto a stack, so that children can
update the free variable list.</item>
<item>Visit the non-input expression.</item>
<item>Cleanup</item>
</list>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Lambda functions are not supported.
The functions supported are:
<list type="number">
<item>Canonical Functions - We recognize these by their dataspace, it is DataSpace.CSpace</item>
<item>Store Functions - We recognize these by the BuiltInAttribute and not being Canonical</item>
<item>User-defined Functions - All the rest except for Lambda functions</item>
</list>
We handle Canonical and Store functions the same way: If they are in the list of functions
that need special handling, we invoke the appropriate handler, otherwise we translate them to
FunctionName(arg1, arg2, ..., argn).
We translate user-defined functions to NamespaceName.FunctionName(arg1, arg2, ..., argn).
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbEntityRefExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbEntityRefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbRefKeyExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbRefKeyExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbGroupByExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/> for general details.
We modify both the GroupBy and the Select fields of the SqlSelectStatement.
GroupBy gets just the keys without aliases,
and Select gets the keys and the aggregates with aliases.
Whenever there exists at least one aggregate with an argument that is not is not a simple
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/> over <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/>,
we create a nested query in which we alias the arguments to the aggregates.
That is due to the following two limitations of Sql Server:
<list type="number">
<item>If an expression being aggregated contains an outer reference, then that outer
reference must be the only column referenced in the expression </item>
<item>Sql Server cannot perform an aggregate function on an expression containing
an aggregate or a subquery. </item>
</list>
The default translation, without inner query is:
SELECT
kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
aggf1(aexpr1) AS agg1, .. aggfn(aexprn) AS aggn
FROM input AS a
GROUP BY kexp1, kexp2, .. kexpn
When we inject an innner query, the equivalent translation is:
SELECT
key1 AS key1, key2 AS key2, .. keyn AS keys,
aggf1(agg1) AS agg1, aggfn(aggn) AS aggn
FROM (
SELECT
kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
aexpr1 AS agg1, .. aexprn AS aggn
FROM input AS a
) as a
GROUP BY key1, key2, keyn
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)"/>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression)">
<summary>
Not(IsEmpty) has to be handled specially, so we delegate to
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitIsEmptyExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)"/>.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/>.
<code>[NOT] EXISTS( ... )</code>
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression)">
<summary>
Not(IsNull) is handled specially, so we delegate to
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitIsNullExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression,System.Boolean)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/>
<code>IS [NOT] NULL</code>
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsOfExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIsOfExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbCrossJoinExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbLikeExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbLimitExpression)">
<summary>
Translates to TOP expression.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
DbNewInstanceExpression is allowed as a child of DbProjectExpression only.
If anyone else is the parent, we throw.
We also perform special casing for collections - where we could convert
them into Unions
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitNewInstanceExpression(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)"/> for the actual implementation.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNotExpression)">
<summary>
The Not expression may cause the translation of its child to change.
These children are
<list type="bullet">
<item><see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbNotExpression"/>NOT(Not(x)) becomes x</item>
<item><see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression"/>NOT EXISTS becomes EXISTS</item>
<item><see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression"/>IS NULL becomes IS NOT NULL</item>
<item><see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbComparisonExpression"/>= becomes&lt;&gt; </item>
</list>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNullExpression)">
<summary>
</summary>
<param name="e"></param>
<returns><see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbOfTypeExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbOfTypeExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbOrExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
<seealso cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbAndExpression)"/>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbParameterReferenceExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/> for the general ideas.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/></returns>
<seealso cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)">
<summary>
This method handles record flattening, which works as follows.
consider an expression <c>Prop(y, Prop(x, Prop(d, Prop(c, Prop(b, Var(a)))))</c>
where a,b,c are joins, d is an extent and x and y are fields.
b has been flattened into a, and has its own SELECT statement.
c has been flattened into b.
d has been flattened into c.
We visit the instance, so we reach Var(a) first. This gives us a (join)symbol.
Symbol(a).b gives us a join symbol, with a SELECT statement i.e. Symbol(b).
From this point on , we need to remember Symbol(b) as the source alias,
and then try to find the column. So, we use a SymbolPair.
We have reached the end when the symbol no longer points to a join symbol.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.JoinSymbol"/> if we have not reached the first
Join node that has a SELECT statement.
A <see cref="T:System.Data.SQLite.EF6.SymbolPair"/> if we have seen the JoinNode, and it has
a SELECT statement.
A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/> with {Input}.propertyName otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression)">
<summary>
Any(input, x) => Exists(Filter(input,x))
All(input, x) => Not Exists(Filter(input, not(x))
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbRefExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbRefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbRelationshipNavigationExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbRelationshipNavigationExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSkipExpression)">
<summary>
For Sql9 it translates to:
SELECT Y.x1, Y.x2, ..., Y.xn
FROM (
SELECT X.x1, X.x2, ..., X.xn, row_number() OVER (ORDER BY sk1, sk2, ...) AS [row_number]
FROM input as X
) as Y
WHERE Y.[row_number] &gt; count
ORDER BY sk1, sk2, ...
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbSortExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/></returns>
<seealso cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbTreatExpression)">
<summary>
<see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbTreatExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)">
<summary>
This code is shared by <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbExceptExpression)"/>
and <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIntersectExpression)"/>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitSetOpExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)"/>
Since the left and right expression may not be Sql select statements,
we must wrap them up to look like SQL select statements.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)">
<summary>
This method determines whether an extent from an outer scope(free variable)
is used in the CurrentSelectStatement.
An extent in an outer scope, if its symbol is not in the FromExtents
of the CurrentSelectStatement.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.Symbol"/>.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitAggregate(System.Data.Entity.Core.Common.CommandTrees.DbAggregate,System.Object)">
<summary>
Aggregates are not visited by the normal visitor walk.
</summary>
<param name="aggregate">The aggreate to be translated</param>
<param name="aggregateArgument">The translated aggregate argument</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitInputExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Data.SQLite.EF6.Symbol@)">
<summary>
This is called by the relational nodes. It does the following
<list>
<item>If the input is not a SqlSelectStatement, it assumes that the input
is a collection expression, and creates a new SqlSelectStatement </item>
</list>
</summary>
<param name="inputExpression"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="fromSymbol"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/> and the main fromSymbol
for this select statement.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitIsEmptyExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression)"/>
</summary>
<param name="e"></param>
<param name="negate">Was the parent a DbNotExpression?</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitCollectionConstructor(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
Translate a NewInstance(Element(X)) expression into
"select top(1) * from X"
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitIsNullExpression(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression,System.Boolean)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression)"/>
</summary>
<param name="e"></param>
<param name="negate">Was the parent a DbNotExpression?</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
This handles the processing of join expressions.
The extents on a left spine are flattened, while joins
not on the left spine give rise to new nested sub queries.
Joins work differently from the rest of the visiting, in that
the parent (i.e. the join node) creates the SqlSelectStatement
for the children to use.
The "parameter" IsInJoinContext indicates whether a child extent should
add its stuff to the existing SqlSelectStatement, or create a new SqlSelectStatement
By passing true, we ask the children to add themselves to the parent join,
by passing false, we ask the children to create new Select statements for
themselves.
This method is called from <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbApplyExpression)"/> and
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression)"/>.
</summary>
<param name="inputs"></param>
<param name="joinKind"></param>
<param name="joinString"></param>
<param name="joinCondition"></param>
<returns> A <see cref="T:System.Data.SQLite.EF6.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.ProcessJoinInputResult(System.Data.SQLite.EF6.ISqlFragment,System.Data.SQLite.EF6.SqlSelectStatement,System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding,System.Int32)">
<summary>
This is called from <see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding},System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Entity.Core.Common.CommandTrees.DbExpression)"/>.
This is responsible for maintaining the symbol table after visiting
a child of a join expression.
The child's sql statement may need to be completed.
The child's result could be one of
<list type="number">
<item>The same as the parent's - this is treated specially.</item>
<item>A sql select statement, which may need to be completed</item>
<item>An extent - just copy it to the from clause</item>
<item>Anything else (from a collection-valued expression) -
unnest and copy it.</item>
</list>
If the input was a Join, we need to create a new join symbol,
otherwise, we create a normal symbol.
We then call AddFromSymbol to add the AS clause, and update the symbol table.
If the child's result was the same as the parent's, we have to clean up
the list of symbols in the FromExtents list, since this contains symbols from
the children of both the parent and the child.
The happens when the child visited is a Join, and is the leftmost child of
the parent.
</summary>
<param name="fromExtentFragment"></param>
<param name="result"></param>
<param name="input"></param>
<param name="fromSymbolStart"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitNewInstanceExpression(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
We assume that this is only called as a child of a Project.
This replaces <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbNewInstanceExpression)"/>, since
we do not allow DbNewInstanceExpression as a child of any node other than
DbProjectExpression.
We write out the translation of each of the columns in the record.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsSpecialBuiltInFunction(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Determines whether the given function is a built-in function that requires special handling
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsSpecialCanonicalFunction(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Determines whether the given function is a canonical function that requires special handling
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleFunctionDefault(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Default handling for functions
Translates them to FunctionName(arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleFunctionDefaultGivenName(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.String)">
<summary>
Default handling for functions with a given name.
Translates them to functionName(arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<param name="functionName"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleFunctionArgumentsDefault(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Data.SQLite.EF6.SqlBuilder)">
<summary>
Default handling on function arguments
Appends the list of arguments to the given result
If the function is niladic it does not append anything,
otherwise it appends (arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<param name="result"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleSpecialBuiltInFunction(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for special built in functions
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleSpecialCanonicalFunction(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for special canonical functions
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleSpecialFunction(System.Collections.Generic.Dictionary{System.String,System.Data.SQLite.EF6.SqlGenerator.FunctionHandler},System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Dispatches the special function processing to the appropriate handler
</summary>
<param name="handlers"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Boolean)">
<summary>
Handles functions that are translated into TSQL operators.
The given function should have one or two arguments.
Functions with one arguemnt are translated into
op arg
Functions with two arguments are translated into
arg0 op arg1
Also, the arguments can be optionaly enclosed in parethesis
</summary>
<param name="e"></param>
<param name="parenthesiseArguments">Whether the arguments should be enclosed in parethesis</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleConcatFunction(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionBitwise(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleDatepartDateFunction(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handles special case in which datepart 'type' parameter is present. all the functions
handles here have *only* the 1st parameter as datepart. datepart value is passed along
the QP as string and has to be expanded as TSQL keyword.
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionDateAdd(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
DateAdd(datetime, secondsToAdd) -> DATEADD ( seconds , number, date)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionDateSubtract(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
DateSubtract(datetime1, datetime2) -> DATEDIFF ( seconds , startdate , enddate )
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionDatepart(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for canonical functions for extracting date parts.
For example:
Year(date) -> DATEPART( year, date)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionIndexOf(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename IndexOf -> CHARINDEX
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionNewGuid(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename NewGuid -> NEWID
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionLength(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Length(arg) -> LEN(arg + '.') - LEN('.')
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionRound(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Round(numericExpression) -> Round(numericExpression, 0);
Round(numericExpression, N) -> Round(numericExpression, N);
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionTrim(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
TRIM(string) -> LTRIM(RTRIM(string))
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionLeft(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
LEFT(string, length) -> SUBSTR(string, 1, length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionRight(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
RIGHT(string, length) -> SUBSTR(string, -(length), length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionSubstring(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
SUBSTRING(string, start) -> SUBSTR(string, start)
SUBSTRING(string, start, length) -> SUBSTR(string, start, length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionToLower(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename ToLower -> LOWER
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCanonicalFunctionToUpper(System.Data.SQLite.EF6.SqlGenerator,System.Data.Entity.Core.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename ToUpper -> UPPER
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.AddColumns(System.Data.SQLite.EF6.SqlSelectStatement,System.Data.SQLite.EF6.Symbol,System.Collections.Generic.List{System.Data.SQLite.EF6.Symbol},System.Collections.Generic.Dictionary{System.String,System.Data.SQLite.EF6.Symbol},System.String@)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.AddDefaultColumns(System.Data.SQLite.EF6.SqlSelectStatement)"/>
Add the column names from the referenced extent/join to the
select statement.
If the symbol is a JoinSymbol, we recursively visit all the extents,
halting at real extents and JoinSymbols that have an associated SqlSelectStatement.
The column names for a real extent can be derived from its type.
The column names for a Join Select statement can be got from the
list of columns that was created when the Join's select statement
was created.
We do the following for each column.
<list type="number">
<item>Add the SQL string for each column to the SELECT clause</item>
<item>Add the column to the list of columns - so that it can
become part of the "type" of a JoinSymbol</item>
<item>Check if the column name collides with a previous column added
to the same select statement. Flag both the columns for renaming if true.</item>
<item>Add the column to a name lookup dictionary for collision detection.</item>
</list>
</summary>
<param name="selectStatement">The select statement that started off as SELECT *</param>
<param name="symbol">The symbol containing the type information for
the columns to be added.</param>
<param name="columnList">Columns that have been added to the Select statement.
This is created in <see cref="M:System.Data.SQLite.EF6.SqlGenerator.AddDefaultColumns(System.Data.SQLite.EF6.SqlSelectStatement)"/>.</param>
<param name="columnDictionary">A dictionary of the columns above.</param>
<param name="separator">Comma or nothing, depending on whether the SELECT
clause is empty.</param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.AddDefaultColumns(System.Data.SQLite.EF6.SqlSelectStatement)">
<summary>
Expands Select * to "select the_list_of_columns"
If the columns are taken from an extent, they are written as
{original_column_name AS Symbol(original_column)} to allow renaming.
If the columns are taken from a Join, they are written as just
{original_column_name}, since there cannot be a name collision.
We concatenate the columns from each of the inputs to the select statement.
Since the inputs may be joins that are flattened, we need to recurse.
The inputs are inferred from the symbols in FromExtents.
</summary>
<param name="selectStatement"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.AddFromSymbol(System.Data.SQLite.EF6.SqlSelectStatement,System.String,System.Data.SQLite.EF6.Symbol)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.AddFromSymbol(System.Data.SQLite.EF6.SqlSelectStatement,System.String,System.Data.SQLite.EF6.Symbol,System.Boolean)"/>
</summary>
<param name="selectStatement"></param>
<param name="inputVarName"></param>
<param name="fromSymbol"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.AddFromSymbol(System.Data.SQLite.EF6.SqlSelectStatement,System.String,System.Data.SQLite.EF6.Symbol,System.Boolean)">
<summary>
This method is called after the input to a relational node is visited.
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/> and <see cref="M:System.Data.SQLite.EF6.SqlGenerator.ProcessJoinInputResult(System.Data.SQLite.EF6.ISqlFragment,System.Data.SQLite.EF6.SqlSelectStatement,System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding,System.Int32)"/>
There are 2 scenarios
<list type="number">
<item>The fromSymbol is new i.e. the select statement has just been
created, or a join extent has been added.</item>
<item>The fromSymbol is old i.e. we are reusing a select statement.</item>
</list>
If we are not reusing the select statement, we have to complete the
FROM clause with the alias
<code>
-- if the input was an extent
FROM = [SchemaName].[TableName]
-- if the input was a Project
FROM = (SELECT ... FROM ... WHERE ...)
</code>
These become
<code>
-- if the input was an extent
FROM = [SchemaName].[TableName] AS alias
-- if the input was a Project
FROM = (SELECT ... FROM ... WHERE ...) AS alias
</code>
and look like valid FROM clauses.
Finally, we have to add the alias to the global list of aliases used,
and also to the current symbol table.
</summary>
<param name="selectStatement"></param>
<param name="inputVarName">The alias to be used.</param>
<param name="fromSymbol"></param>
<param name="addToSymbolTable"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.AddSortKeys(System.Data.SQLite.EF6.SqlBuilder,System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbSortClause})">
<summary>
Translates a list of SortClauses.
Used in the translation of OrderBy
</summary>
<param name="orderByClause">The SqlBuilder to which the sort keys should be appended</param>
<param name="sortKeys"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.EF6.SqlSelectStatement,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Data.SQLite.EF6.Symbol@)">
<summary>
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.EF6.SqlSelectStatement,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean,System.Data.SQLite.EF6.Symbol@)"/>
</summary>
<param name="oldStatement"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="fromSymbol"></param>
<returns>A new select statement, with the old one as the from clause.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.EF6.SqlSelectStatement,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean,System.Data.SQLite.EF6.Symbol@)">
<summary>
This is called after a relational node's input has been visited, and the
input's sql statement cannot be reused. <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression)"/>
When the input's sql statement cannot be reused, we create a new sql
statement, with the old one as the from clause of the new statement.
The old statement must be completed i.e. if it has an empty select list,
the list of columns must be projected out.
If the old statement being completed has a join symbol as its from extent,
the new statement must have a clone of the join symbol as its extent.
We cannot reuse the old symbol, but the new select statement must behave
as though it is working over the "join" record.
</summary>
<param name="oldStatement"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="finalizeOldStatement"></param>
<param name="fromSymbol"></param>
<returns>A new select statement, with the old one as the from clause.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.NeedSingleQuotes(System.Data.SQLite.SQLiteDateFormats)">
<summary>
Determines if values of the specified <see cref="T:System.Data.SQLite.SQLiteDateFormats"/>
require wrapping in single quotes.
</summary>
<param name="format">
The <see cref="T:System.Data.SQLite.SQLiteDateFormats"/> format.
</param>
<returns>
Non-zero if single quotes are required for a value in the specified
<see cref="T:System.Data.SQLite.SQLiteDateFormats"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.EscapeSingleQuote(System.String,System.Boolean)">
<summary>
Before we embed a string literal in a SQL string, we should
convert all ' to '', and enclose the whole string in single quotes.
</summary>
<param name="s"></param>
<param name="isUnicode"></param>
<returns>The escaped sql string.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.GetSqlPrimitiveType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Returns the sql primitive/native type name.
It will include size, precision or scale depending on type information present in the
type facets
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.HandleCountExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
Handles the expression represending DbLimitExpression.Limit and DbSkipExpression.Count.
If it is a constant expression, it simply does to string thus avoiding casting it to the specific value
(which would be done if <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbConstantExpression)"/> is called)
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsApplyExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a particular expression is an Apply operation.
This is only the case when the DbExpressionKind is CrossApply or OuterApply.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsJoinExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a particular expression is a Join operation.
This is true for DbCrossJoinExpression and DbJoinExpression, the
latter of which may have one of several different ExpressionKinds.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsComplexExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a calling expression needs to place
round brackets around the translation of the expression e.
Constants, parameters and properties do not require brackets,
everything else does.
</summary>
<param name="e"></param>
<returns>true, if the expression needs brackets </returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsCompatible(System.Data.SQLite.EF6.SqlSelectStatement,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind)">
<summary>
Determine if the owner expression can add its unique sql to the input's
SqlSelectStatement
</summary>
<param name="result">The SqlSelectStatement of the input to the relational node.</param>
<param name="expressionKind">The kind of the expression node(not the input's)</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.QuoteIdentifier(System.String)">
<summary>
We use the normal box quotes for SQL server. We do not deal with ANSI quotes
i.e. double quotes.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
Simply calls <see cref="M:System.Data.SQLite.EF6.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean)"/>
with addDefaultColumns set to true
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
This is called from <see cref="M:System.Data.SQLite.EF6.SqlGenerator.GenerateSql(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree)"/> and nodes which require a
select statement as an argument e.g. <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression)"/>,
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbUnionAllExpression)"/>.
SqlGenerator needs its child to have a proper alias if the child is
just an extent or a join.
The normal relational nodes result in complete valid SQL statements.
For the rest, we need to treat them as there was a dummy
<code>
-- originally {expression}
-- change that to
SELECT *
FROM {expression} as c
</code>
DbLimitExpression needs to start the statement but not add the default columns
</summary>
<param name="e"></param>
<param name="addDefaultColumns"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.VisitFilterExpression(System.Data.Entity.Core.Common.CommandTrees.DbExpressionBinding,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
This method is called by <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression)"/> and
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression)"/>
</summary>
<param name="input"></param>
<param name="predicate"></param>
<param name="negatePredicate">This is passed from <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression)"/>
in the All(...) case.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.WrapNonQueryExtent(System.Data.SQLite.EF6.SqlSelectStatement,System.Data.SQLite.EF6.ISqlFragment,System.Data.Entity.Core.Common.CommandTrees.DbExpressionKind)">
<summary>
If the sql fragment for an input expression is not a SqlSelect statement
or other acceptable form (e.g. an extent as a SqlBuilder), we need
to wrap it in a form acceptable in a FROM clause. These are
primarily the
<list type="bullet">
<item>The set operation expressions - union all, intersect, except</item>
<item>TVFs, which are conceptually similar to tables</item>
</list>
</summary>
<param name="result"></param>
<param name="sqlFragment"></param>
<param name="expressionKind"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsBuiltinFunction(System.Data.Entity.Core.Metadata.Edm.EdmFunction)">
<summary>
Is this a builtin function (ie) does it have the builtinAttribute specified?
</summary>
<param name="function"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.WriteFunctionName(System.Data.SQLite.EF6.SqlBuilder,System.Data.Entity.Core.Metadata.Edm.EdmFunction)">
<summary>
</summary>
<param name="function"></param>
<param name="result"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.ToBlobLiteral(System.Byte[],System.Data.SQLite.EF6.SqlBuilder)">
<summary>
Appends the literal BLOB string representation of the specified
byte array to the <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/>.
</summary>
<param name="bytes">
The byte array to be formatted as a literal BLOB string.
</param>
<param name="builder">
The <see cref="T:System.Data.SQLite.EF6.SqlBuilder"/> object to use. If null, an exception
will be thrown.
</param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.NeedsInnerQuery(System.Collections.Generic.IList{System.Data.Entity.Core.Common.CommandTrees.DbAggregate})">
<summary>
Helper method for the Group By visitor
Returns true if at least one of the aggregates in the given list
has an argument that is not a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/>
over <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/>
</summary>
<param name="aggregates"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlGenerator.IsPropertyOverVarRef(System.Data.Entity.Core.Common.CommandTrees.DbExpression)">
<summary>
Determines whether the given expression is a <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression"/>
over <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression"/>
</summary>
<param name="expression"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.EF6.SqlGenerator.CurrentSelectStatement">
<summary>
The top of the stack
</summary>
</member>
<member name="P:System.Data.SQLite.EF6.SqlGenerator.IsParentAJoin">
<summary>
The top of the stack
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.SqlSelectStatement">
<summary>
A SqlSelectStatement represents a canonical SQL SELECT statement.
It has fields for the 5 main clauses
<list type="number">
<item>SELECT</item>
<item>FROM</item>
<item>WHERE</item>
<item>GROUP BY</item>
<item>ORDER BY</item>
</list>
We do not have HAVING, since it does not correspond to anything in the DbCommandTree.
Each of the fields is a SqlBuilder, so we can keep appending SQL strings
or other fragments to build up the clause.
We have a IsDistinct property to indicate that we want distict columns.
This is given out of band, since the input expression to the select clause
may already have some columns projected out, and we use append-only SqlBuilders.
The DISTINCT is inserted when we finally write the object into a string.
Also, we have a Top property, which is non-null if the number of results should
be limited to certain number. It is given out of band for the same reasons as DISTINCT.
The FromExtents contains the list of inputs in use for the select statement.
There is usually just one element in this - Select statements for joins may
temporarily have more than one.
If the select statement is created by a Join node, we maintain a list of
all the extents that have been flattened in the join in AllJoinExtents
<example>
in J(j1= J(a,b), c)
FromExtents has 2 nodes JoinSymbol(name=j1, ...) and Symbol(name=c)
AllJoinExtents has 3 nodes Symbol(name=a), Symbol(name=b), Symbol(name=c)
</example>
If any expression in the non-FROM clause refers to an extent in a higher scope,
we add that extent to the OuterExtents list. This list denotes the list
of extent aliases that may collide with the aliases used in this select statement.
It is set by <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)"/>.
An extent is an outer extent if it is not one of the FromExtents.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SqlSelectStatement.HaveOrderByLimitOrOffset">
<summary>
Checks if the statement has an ORDER BY, LIMIT, or OFFSET clause.
</summary>
<returns>
Non-zero if there is an ORDER BY, LIMIT, or OFFSET clause;
otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SqlSelectStatement.WriteSql(System.Data.SQLite.EF6.SqlWriter,System.Data.SQLite.EF6.SqlGenerator)">
<summary>
Write out a SQL select statement as a string.
We have to
<list type="number">
<item>Check whether the aliases extents we use in this statement have
to be renamed.
We first create a list of all the aliases used by the outer extents.
For each of the FromExtents( or AllJoinExtents if it is non-null),
rename it if it collides with the previous list.
</item>
<item>Write each of the clauses (if it exists) as a string</item>
</list>
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.EF6.SqlSelectStatement.IsDistinct">
<summary>
Do we need to add a DISTINCT at the beginning of the SELECT
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.SqlWriter">
<summary>
This extends StringWriter primarily to add the ability to add an indent
to each line that is written out.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SqlWriter.#ctor(System.Text.StringBuilder)">
<summary>
</summary>
<param name="b"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlWriter.Write(System.String)">
<summary>
Reset atBeginningofLine if we detect the newline string.
<see cref="M:System.Data.SQLite.EF6.SqlBuilder.AppendLine"/>
Add as many tabs as the value of indent if we are at the
beginning of a line.
</summary>
<param name="value"></param>
</member>
<member name="M:System.Data.SQLite.EF6.SqlWriter.WriteLine">
<summary>
</summary>
</member>
<member name="P:System.Data.SQLite.EF6.SqlWriter.Indent">
<summary>
The number of tabs to be added at the beginning of each new line.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.SymbolPair">
<summary>
The SymbolPair exists to solve the record flattening problem.
<see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/>
Consider a property expression D(v, "j3.j2.j1.a.x")
where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns.
This has to be translated eventually into {j'}.{x'}
The source field represents the outermost SqlStatement representing a join
expression (say j2) - this is always a Join symbol.
The column field keeps moving from one join symbol to the next, until it
stops at a non-join symbol.
This is returned by <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression)"/>,
but never makes it into a SqlBuilder.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.SymbolTable">
<summary>
The symbol table is quite primitive - it is a stack with a new entry for
each scope. Lookups search from the top of the stack to the bottom, until
an entry is found.
The symbols are of the following kinds
<list type="bullet">
<item><see cref="T:System.Data.SQLite.EF6.Symbol"/> represents tables (extents/nested selects/unnests)</item>
<item><see cref="T:System.Data.SQLite.EF6.JoinSymbol"/> represents Join nodes</item>
<item><see cref="T:System.Data.SQLite.EF6.Symbol"/> columns.</item>
</list>
Symbols represent names <see cref="M:System.Data.SQLite.EF6.SqlGenerator.Visit(System.Data.Entity.Core.Common.CommandTrees.DbVariableReferenceExpression)"/> to be resolved,
or things to be renamed.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.TopClause">
<summary>
TopClause represents the a TOP expression in a SqlSelectStatement.
It has a count property, which indicates how many TOP rows should be selected and a
boolen WithTies property.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.TopClause.#ctor(System.Data.SQLite.EF6.ISqlFragment,System.Boolean)">
<summary>
Creates a TopClause with the given topCount and withTies.
</summary>
<param name="topCount"></param>
<param name="withTies"></param>
</member>
<member name="M:System.Data.SQLite.EF6.TopClause.#ctor(System.Int32,System.Boolean)">
<summary>
Creates a TopClause with the given topCount and withTies.
</summary>
<param name="topCount"></param>
<param name="withTies"></param>
</member>
<member name="M:System.Data.SQLite.EF6.TopClause.WriteSql(System.Data.SQLite.EF6.SqlWriter,System.Data.SQLite.EF6.SqlGenerator)">
<summary>
Write out the TOP part of sql select statement
It basically writes LIMIT (X).
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.EF6.TopClause.WithTies">
<summary>
Do we need to add a WITH_TIES to the top statement
</summary>
</member>
<member name="P:System.Data.SQLite.EF6.TopClause.TopCount">
<summary>
How many top rows should be selected.
</summary>
</member>
<member name="T:System.Data.SQLite.EF6.SQLiteProviderFactory">
<summary>
SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.EF6.SQLiteProviderFactory.Instance">
<summary>
Static instance member which returns an instanced
<see cref="T:System.Data.SQLite.EF6.SQLiteProviderFactory"/> class.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.#ctor">
<summary>
Constructs a new instance.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.CreateCommand">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.CreateCommandBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommandBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.CreateConnection">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnection"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.CreateConnectionStringBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnectionStringBuilder"/>
object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.CreateDataAdapter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteDataAdapter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.CreateParameter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteParameter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderFactory.GetService(System.Type)">
<summary>
Gets the service object of the specified type.
</summary>
<param name="serviceType">
An object that specifies the type of service object to get.
</param>
<returns>
A service object of type serviceType -OR- a null reference if
there is no service object of type serviceType.
</returns>
</member>
<member name="T:System.Data.SQLite.EF6.SQLiteProviderManifest">
<summary>
The Provider Manifest for SQL Server
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderManifest.#ctor(System.String)">
<summary>
Constructs the provider manifest.
</summary>
<remarks>
Previously, the manifest token was interpreted as a <see cref="T:System.Data.SQLite.SQLiteDateFormats"/>,
because the <see cref="T:System.DateTime"/> functions are vastly different depending on the
connection was opened. However, the manifest token may specify a connection string
instead. WARNING: Only the "DateTimeFormat", "DateTimeKind", "DateTimeFormatString",
and "BinaryGUID" connection parameters are extracted from it. All other connection
parameters, if any are present, are silently ignored.
</remarks>
<param name="manifestToken">
A token used to infer the capabilities of the store.
</param>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderManifest.GetProviderManifestToken(System.String)">
<summary>
Determines and returns the effective provider manifest token to use,
based on the specified provider manifest token and the environment,
if applicable.
</summary>
<param name="manifestToken">
The original provider manifest token passed to the constructor for this
class.
</param>
<returns>
The effective provider manifest token.
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderManifest.ParseProviderManifestToken(System.String)">
<summary>
Attempts to parse a provider manifest token. It must contain either a
legacy string that specifies the <see cref="T:System.Data.SQLite.SQLiteDateFormats"/> value
-OR- string that uses the standard connection string syntax; otherwise,
the results are undefined.
</summary>
<param name="manifestToken">
The manifest token to parse.
</param>
<returns>
The dictionary containing the connection string parameters.
</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderManifest.SetFromOptions(System.Collections.Generic.SortedList{System.String,System.String})">
<summary>
Attempts to set the provider manifest options from the specified
connection string parameters. An exception may be thrown if one
or more of the connection string parameter values do not conform
to the expected type.
</summary>
<param name="opts">
The dictionary containing the connection string parameters.
</param>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderManifest.GetDbInformation(System.String)">
<summary>
Returns manifest information for the provider
</summary>
<param name="informationType">The name of the information to be retrieved.</param>
<returns>An XmlReader at the begining of the information requested.</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderManifest.GetEdmType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
This method takes a type and a set of facets and returns the best mapped equivalent type
in EDM.
</summary>
<param name="storeType">A TypeUsage encapsulating a store type and a set of facets</param>
<returns>A TypeUsage encapsulating an EDM type and a set of facets</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderManifest.GetStoreType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
This method takes a type and a set of facets and returns the best mapped equivalent type
</summary>
<param name="edmType">A TypeUsage encapsulating an EDM type and a set of facets</param>
<returns>A TypeUsage encapsulating a store type and a set of facets</returns>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderServices.CreateSqlParameter(System.Data.SQLite.EF6.SQLiteProviderManifest,System.String,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Data.Entity.Core.Metadata.Edm.ParameterMode,System.Object)">
<summary>
Creates a SQLiteParameter given a name, type, and direction
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderServices.GetSqlDbType(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean,System.Nullable{System.Int32}@)">
<summary>
Determines DbType for the given primitive type. Extracts facet
information as well.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderServices.GetParameterSize(System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Boolean)">
<summary>
Determines preferred value for SqlParameter.Size. Returns null
where there is no preference.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderServices.GetStringDbType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Chooses the appropriate DbType for the given string type.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderServices.GetBinaryDbType(System.Data.Entity.Core.Metadata.Edm.TypeUsage)">
<summary>
Chooses the appropriate DbType for the given binary type.
</summary>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderServices.System#Data#SQLite#ISQLiteSchemaExtensions#BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
<summary>
Creates temporary tables on the connection so schema information can be queried
</summary>
<remarks>
There's a lot of work involved in getting schema information out of SQLite, but LINQ expects to
be able to query on schema tables. Therefore we need to "fake" it by generating temporary tables
filled with the schema of the current connection. We get away with making this information static
because schema information seems to always be queried on a new connection object, so the schema is
always fresh.
</remarks>
<param name="cnn">The connection upon which to build the schema tables.</param>
</member>
<member name="M:System.Data.SQLite.EF6.SQLiteProviderServices.DataTableToTable(System.Data.SQLite.SQLiteConnection,System.Data.DataTable,System.String)">
<summary>
Turn a datatable into a table in the temporary database for the connection
</summary>
<param name="cnn">The connection to make the temporary table in</param>
<param name="table">The table to write out</param>
<param name="dest">The temporary table name to write to</param>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Windows/NET4/System.Data.SQLite.Linq.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/System.Data.SQLite.Linq.xml
0,0 → 1,2180
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite.Linq</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.Linq.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.SQL_CONSTRAINTCOLUMNS">
<summary>
Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTCOLUMNS AS
SELECT CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM TEMP.SCHEMAINDEXCOLUMNS
UNION
SELECT CONSTRAINT_CATALOG, NULL, CONSTRAINT_NAME, TABLE_CATALOG, NULL, TABLE_NAME, FKEY_FROM_COLUMN
FROM TEMP.SCHEMAFOREIGNKEYS;.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.SQL_CONSTRAINTS">
<summary>
Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTS AS
SELECT INDEX_CATALOG AS CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, INDEX_NAME AS CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, &apos;PRIMARY KEY&apos; AS CONSTRAINT_TYPE, 0 AS IS_DEFERRABLE, 0 AS INITIALLY_DEFERRED, NULL AS CHECK_CLAUSE
FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 1
UNION
SELECT INDEX_CATALOG, NULL, INDEX_NAME, TABLE_CATALOG, NULL, TABLE_NAME, &apos;UNIQUE&apos;, 0, 0, NULL
FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 0 AND [UNIQUE] = 1
UNION
[rest of string was truncated]&quot;;.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.DmlSqlGenerator">
<summary>
Class generating SQL for a DML command tree.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.IsIntegerPrimaryKey(System.Data.Metadata.Edm.EntitySetBase,System.Data.Metadata.Edm.ReadOnlyMetadataCollection{System.Data.Metadata.Edm.EdmMember}@,System.Data.Metadata.Edm.EdmMember@)">
<summary>
This method attempts to determine if the specified table has an integer
primary key (i.e. "rowid"). If so, it sets the
<paramref name="primaryKeyMember"/> parameter to the right
<see cref="T:System.Data.Metadata.Edm.EdmMember"/>; otherwise, the
<paramref name="primaryKeyMember"/> parameter is set to null.
</summary>
<param name="table">The table to check.</param>
<param name="keyMembers">
The collection of key members. An attempt is always made to set this
parameter to a valid value.
</param>
<param name="primaryKeyMember">
The <see cref="T:System.Data.Metadata.Edm.EdmMember"/> that represents the integer primary key
-OR- null if no such <see cref="T:System.Data.Metadata.Edm.EdmMember"/> exists.
</param>
<returns>
Non-zero if the specified table has an integer primary key.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.DoAllKeyMembersHaveValues(System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator,System.Data.Metadata.Edm.ReadOnlyMetadataCollection{System.Data.Metadata.Edm.EdmMember},System.Data.Metadata.Edm.EdmMember@)">
<summary>
This method attempts to determine if all the specified key members have
values available.
</summary>
<param name="translator">
The <see cref="T:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator"/> to use.
</param>
<param name="keyMembers">
The collection of key members to check.
</param>
<param name="missingKeyMember">
The first missing key member that is found. This is only set to a valid
value if the method is returning false.
</param>
<returns>
Non-zero if all key members have values; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.GenerateReturningSql(System.Text.StringBuilder,System.Data.Common.CommandTrees.DbModificationCommandTree,System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator,System.Data.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
Generates SQL fragment returning server-generated values.
Requires: translator knows about member values so that we can figure out
how to construct the key predicate.
<code>
Sample SQL:
select IdentityValue
from dbo.MyTable
where @@ROWCOUNT > 0 and IdentityValue = scope_identity()
or
select TimestamptValue
from dbo.MyTable
where @@ROWCOUNT > 0 and Id = 1
Note that we filter on rowcount to ensure no rows are returned if no rows were modified.
</code>
</summary>
<param name="commandText">Builder containing command text</param>
<param name="tree">Modification command tree</param>
<param name="translator">Translator used to produce DML SQL statement
for the tree</param>
<param name="returning">Returning expression. If null, the method returns
immediately without producing a SELECT statement.</param>
<param name="wasInsert">
Non-zero if this method is being called as part of processing an INSERT;
otherwise (e.g. UPDATE), zero.
</param>
</member>
<member name="T:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator">
<summary>
Lightweight expression translator for DML expression trees, which have constrained
scope and support.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator.#ctor(System.Text.StringBuilder,System.Data.Common.CommandTrees.DbModificationCommandTree,System.Boolean,System.String)">
<summary>
Initialize a new expression translator populating the given string builder
with command text. Command text builder and command tree must not be null.
</summary>
<param name="commandText">Command text with which to populate commands</param>
<param name="commandTree">Command tree generating SQL</param>
<param name="preserveMemberValues">Indicates whether the translator should preserve
member values while compiling t-SQL (only needed for server generation)</param>
<param name="kind"></param>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator.RegisterMemberValue(System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression)">
<summary>
Call this method to register a property value pair so the translator "remembers"
the values for members of the row being modified. These values can then be used
to form a predicate for server-generation (based on the key of the row)
</summary>
<param name="propertyExpression">DbExpression containing the column reference (property expression).</param>
<param name="value">DbExpression containing the value of the column.</param>
</member>
<member name="T:System.Data.SQLite.Linq.ISqlFragment">
<summary>
Represents the sql fragment for any node in the query tree.
</summary>
<remarks>
The nodes in a query tree produce various kinds of sql
<list type="bullet">
<item>A select statement.</item>
<item>A reference to an extent. (symbol)</item>
<item>A raw string.</item>
</list>
We have this interface to allow for a common return type for the methods
in the expression visitor <see cref="T:System.Data.Common.CommandTrees.DbExpressionVisitor`1"/>
At the end of translation, the sql fragments are converted into real strings.
</remarks>
</member>
<member name="M:System.Data.SQLite.Linq.ISqlFragment.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write the string represented by this fragment into the stream.
</summary>
<param name="writer">The stream that collects the strings.</param>
<param name="sqlGenerator">Context information used for renaming.
The global lists are used to generated new names without collisions.</param>
</member>
<member name="T:System.Data.SQLite.Linq.JoinSymbol">
<summary>
A Join symbol is a special kind of Symbol.
It has to carry additional information
<list type="bullet">
<item>ColumnList for the list of columns in the select clause if this
symbol represents a sql select statement. This is set by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>. </item>
<item>ExtentList is the list of extents in the select clause.</item>
<item>FlattenedExtentList - if the Join has multiple extents flattened at the
top level, we need this information to ensure that extent aliases are renamed
correctly in <see cref="M:System.Data.SQLite.Linq.SqlSelectStatement.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)"/></item>
<item>NameToExtent has all the extents in ExtentList as a dictionary.
This is used by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/> to flatten
record accesses.</item>
<item>IsNestedJoin - is used to determine whether a JoinSymbol is an
ordinary join symbol, or one that has a corresponding SqlSelectStatement.</item>
</list>
All the lists are set exactly once, and then used for lookups/enumerated.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.Symbol">
<summary>
<see cref="T:System.Data.SQLite.Linq.SymbolTable"/>
This class represents an extent/nested select statement,
or a column.
The important fields are Name, Type and NewName.
NewName starts off the same as Name, and is then modified as necessary.
The rest are used by special symbols.
e.g. NeedsRenaming is used by columns to indicate that a new name must
be picked for the column in the second phase of translation.
IsUnnest is used by symbols for a collection expression used as a from clause.
This allows <see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol,System.Boolean)"/> to add the column list
after the alias.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.Symbol.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write this symbol out as a string for sql. This is just
the new name of the symbol (which could be the same as the old name).
We rename columns here if necessary.
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="T:System.Data.SQLite.Linq.MetadataHelpers">
<summary>
A set of static helpers for type metadata
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.NullableFacetName">
<summary>
Name of the Nullable Facet
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetEdmType``1(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Cast the EdmType of the given type usage to the given TEdmType
</summary>
<typeparam name="TEdmType"></typeparam>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetElementTypeUsage(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Gets the TypeUsage of the elment if the given type is a collection type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetProperties(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Retrieves the properties of in the EdmType underlying the input type usage,
if that EdmType is a structured type (EntityType, RowType).
</summary>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetProperties(System.Data.Metadata.Edm.EdmType)">
<summary>
Retrieves the properties of the given EdmType, if it is
a structured type (EntityType, RowType).
</summary>
<param name="edmType"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsCollectionType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a collection type
</summary>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsCollectionType(System.Data.Metadata.Edm.EdmType)">
<summary>
Is the given type a collection type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsPrimitiveType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a primitive type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsPrimitiveType(System.Data.Metadata.Edm.EdmType)">
<summary>
Is the given type a primitive type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsRowType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a row type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsRowType(System.Data.Metadata.Edm.EdmType)">
<summary>
Is the given type a row type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.TryGetPrimitiveTypeKind(System.Data.Metadata.Edm.TypeUsage,System.Data.Metadata.Edm.PrimitiveTypeKind@)">
<summary>
Gets the type of the given type usage if it is a primitive type
</summary>
<param name="type"></param>
<param name="typeKind"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.TryGetValueForMetadataProperty``1(System.Data.Metadata.Edm.MetadataItem,System.String)">
<summary>
Gets the value for the metadata property with the given name
</summary>
<typeparam name="T"></typeparam>
<param name="item"></param>
<param name="propertyName"></param>
<returns></returns>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.MaxLengthFacetName">
<summary>
Name of the MaxLength Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.UnicodeFacetName">
<summary>
Name of the Unicode Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.FixedLengthFacetName">
<summary>
Name of the FixedLength Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.PreserveSecondsFacetName">
<summary>
Name of the PreserveSeconds Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.PrecisionFacetName">
<summary>
Name of the Precision Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.ScaleFacetName">
<summary>
Name of the Scale Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.DefaultValueFacetName">
<summary>
Name of the DefaultValue Facet
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetFacetValueOrDefault``1(System.Data.Metadata.Edm.TypeUsage,System.String,``0)">
<summary>
Get the value specified on the given type usage for the given facet name.
If the faces does not have a value specifid or that value is null returns
the default value for that facet.
</summary>
<typeparam name="T"></typeparam>
<param name="type"></param>
<param name="facetName"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.TryGetTypeFacetDescriptionByName(System.Data.Metadata.Edm.EdmType,System.String,System.Data.Metadata.Edm.FacetDescription@)">
<summary>
Given a facet name and an EdmType, tries to get that facet's description.
</summary>
<param name="edmType"></param>
<param name="facetName"></param>
<param name="facetDescription"></param>
<returns></returns>
</member>
<member name="T:System.Data.SQLite.Linq.SkipClause">
<summary>
SkipClause represents the a SKIP expression in a SqlSelectStatement.
It has a count property, which indicates how many rows should be skipped.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SkipClause.#ctor(System.Data.SQLite.Linq.ISqlFragment)">
<summary>
Creates a SkipClause with the given skipCount.
</summary>
<param name="skipCount"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SkipClause.#ctor(System.Int32)">
<summary>
Creates a SkipClause with the given skipCount.
</summary>
<param name="skipCount"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SkipClause.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write out the SKIP part of sql select statement
It basically writes OFFSET (X).
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.SkipClause.SkipCount">
<summary>
How many rows should be skipped.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlBuilder">
<summary>
This class is like StringBuilder. While traversing the tree for the first time,
we do not know all the strings that need to be appended e.g. things that need to be
renamed, nested select statements etc. So, we use a builder that can collect
all kinds of sql fragments.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlBuilder.Append(System.Object)">
<summary>
Add an object to the list - we do not verify that it is a proper sql fragment
since this is an internal method.
</summary>
<param name="s"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlBuilder.AppendLine">
<summary>
This is to pretty print the SQL. The writer <see cref="M:System.Data.SQLite.Linq.SqlWriter.Write(System.String)"/>
needs to know about new lines so that it can add the right amount of
indentation at the beginning of lines.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlBuilder.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
We delegate the writing of the fragment to the appropriate type.
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.SqlBuilder.IsEmpty">
<summary>
Whether the builder is empty. This is used by the <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/>
to determine whether a sql statement can be reused.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlGenerator">
<summary>
Translates the command object into a SQL string that can be executed on
SQLite.
</summary>
<remarks>
The translation is implemented as a visitor <see cref="T:System.Data.Common.CommandTrees.DbExpressionVisitor`1"/>
over the query tree. It makes a single pass over the tree, collecting the sql
fragments for the various nodes in the tree <see cref="T:System.Data.SQLite.Linq.ISqlFragment"/>.
The major operations are
<list type="bullet">
<item>Select statement minimization. Multiple nodes in the query tree
that can be part of a single SQL select statement are merged. e.g. a
Filter node that is the input of a Project node can typically share the
same SQL statement.</item>
<item>Alpha-renaming. As a result of the statement minimization above, there
could be name collisions when using correlated subqueries
<example>
<code>
Filter(
b = Project( c.x
c = Extent(foo)
)
exists (
Filter(
c = Extent(foo)
b.x = c.x
)
)
)
</code>
The first Filter, Project and Extent will share the same SQL select statement.
The alias for the Project i.e. b, will be replaced with c.
If the alias c for the Filter within the exists clause is not renamed,
we will get <c>c.x = c.x</c>, which is incorrect.
Instead, the alias c within the second filter should be renamed to c1, to give
<c>c.x = c1.x</c> i.e. b is renamed to c, and c is renamed to c1.
</example>
</item>
<item>Join flattening. In the query tree, a list of join nodes is typically
represented as a tree of Join nodes, each with 2 children. e.g.
<example>
<code>
a = Join(InnerJoin
b = Join(CrossJoin
c = Extent(foo)
d = Extent(foo)
)
e = Extent(foo)
on b.c.x = e.x
)
</code>
If translated directly, this will be translated to
<code>
FROM ( SELECT c.*, d.*
FROM foo as c
CROSS JOIN foo as d) as b
INNER JOIN foo as e on b.x' = e.x
</code>
It would be better to translate this as
<code>
FROM foo as c
CROSS JOIN foo as d
INNER JOIN foo as e on c.x = e.x
</code>
This allows the optimizer to choose an appropriate join ordering for evaluation.
</example>
</item>
<item>Select * and column renaming. In the example above, we noticed that
in some cases we add <c>SELECT * FROM ...</c> to complete the SQL
statement. i.e. there is no explicit PROJECT list.
In this case, we enumerate all the columns available in the FROM clause
This is particularly problematic in the case of Join trees, since the columns
from the extents joined might have the same name - this is illegal. To solve
this problem, we will have to rename columns if they are part of a SELECT *
for a JOIN node - we do not need renaming in any other situation.
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>.
</item>
</list>
<para>
Renaming issues.
When rows or columns are renamed, we produce names that are unique globally
with respect to the query. The names are derived from the original names,
with an integer as a suffix. e.g. CustomerId will be renamed to CustomerId1,
CustomerId2 etc.
Since the names generated are globally unique, they will not conflict when the
columns of a JOIN SELECT statement are joined with another JOIN.
</para>
<para>
Record flattening.
SQL server does not have the concept of records. However, a join statement
produces records. We have to flatten the record accesses into a simple
<c>alias.column</c> form. <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/>
</para>
<para>
Building the SQL.
There are 2 phases
<list type="numbered">
<item>Traverse the tree, producing a sql builder <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></item>
<item>Write the SqlBuilder into a string, renaming the aliases and columns
as needed.</item>
</list>
In the first phase, we traverse the tree. We cannot generate the SQL string
right away, since
<list type="bullet">
<item>The WHERE clause has to be visited before the from clause.</item>
<item>extent aliases and column aliases need to be renamed. To minimize
renaming collisions, all the names used must be known, before any renaming
choice is made.</item>
</list>
To defer the renaming choices, we use symbols <see cref="T:System.Data.SQLite.Linq.Symbol"/>. These
are renamed in the second phase.
Since visitor methods cannot transfer information to child nodes through
parameters, we use some global stacks,
<list type="bullet">
<item>A stack for the current SQL select statement. This is needed by
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)"/> to create a
list of free variables used by a select statement. This is needed for
alias renaming.
</item>
<item>A stack for the join context. When visiting a <see cref="T:System.Data.Common.CommandTrees.DbScanExpression"/>,
we need to know whether we are inside a join or not. If we are inside
a join, we do not create a new SELECT statement.</item>
</list>
</para>
<para>
Global state.
To enable renaming, we maintain
<list type="bullet">
<item>The set of all extent aliases used.</item>
<item>The set of all column aliases used.</item>
</list>
Finally, we have a symbol table to lookup variable references. All references
to the same extent have the same symbol.
</para>
<para>
Sql select statement sharing.
Each of the relational operator nodes
<list type="bullet">
<item>Project</item>
<item>Filter</item>
<item>GroupBy</item>
<item>Sort/OrderBy</item>
</list>
can add its non-input (e.g. project, predicate, sort order etc.) to
the SQL statement for the input, or create a new SQL statement.
If it chooses to reuse the input's SQL statement, we play the following
symbol table trick to accomplish renaming. The symbol table entry for
the alias of the current node points to the symbol for the input in
the input's SQL statement.
<example>
<code>
Project(b.x
b = Filter(
c = Extent(foo)
c.x = 5)
)
</code>
The Extent node creates a new SqlSelectStatement. This is added to the
symbol table by the Filter as {c, Symbol(c)}. Thus, <c>c.x</c> is resolved to
<c>Symbol(c).x</c>.
Looking at the project node, we add {b, Symbol(c)} to the symbol table if the
SQL statement is reused, and {b, Symbol(b)}, if there is no reuse.
Thus, <c>b.x</c> is resolved to <c>Symbol(c).x</c> if there is reuse, and to
<c>Symbol(b).x</c> if there is no reuse.
</example>
</para>
</remarks>
</member>
<member name="F:System.Data.SQLite.Linq.SqlGenerator.selectStatementStack">
<summary>
Every relational node has to pass its SELECT statement to its children
This allows them (DbVariableReferenceExpression eventually) to update the list of
outer extents (free variables) used by this select statement.
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.SqlGenerator.isParentAJoinStack">
<summary>
Nested joins and extents need to know whether they should create
a new Select statement, or reuse the parent's. This flag
indicates whether the parent is a join or not.
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.SqlGenerator.isVarRefSingle">
<summary>
VariableReferenceExpressions are allowed only as children of DbPropertyExpression
or MethodExpression. The cheapest way to ensure this is to set the following
property in DbVariableReferenceExpression and reset it in the allowed parent expressions.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeBuiltInFunctionHandlers">
<summary>
All special built-in functions and their handlers
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeCanonicalFunctionHandlers">
<summary>
All special non-aggregate canonical functions and their handlers
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeDatepartKeywords">
<summary>
Valid datepart values
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeFunctionNameToOperatorDictionary">
<summary>
Initializes the mapping from functions to T-SQL operators
for all functions that translate to T-SQL operators
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.#ctor(System.Data.SQLite.Linq.SQLiteProviderManifest)">
<summary>
Basic constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GenerateSql(System.Data.SQLite.Linq.SQLiteProviderManifest,System.Data.Common.CommandTrees.DbCommandTree,System.Collections.Generic.List{System.Data.Common.DbParameter}@,System.Data.CommandType@)">
<summary>
General purpose static function that can be called from System.Data assembly
</summary>
<param name="manifest"></param>
<param name="tree">command tree</param>
<param name="parameters">Parameters to add to the command tree corresponding
to constants in the command tree. Used only in ModificationCommandTrees.</param>
<param name="commandType"></param>
<returns>The string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GenerateSql(System.Data.Common.CommandTrees.DbQueryCommandTree)">
<summary>
Translate a command tree to a SQL string.
The input tree could be translated to either a SQL SELECT statement
or a SELECT expression. This choice is made based on the return type
of the expression
CollectionType => select statement
non collection type => select expression
</summary>
<param name="tree"></param>
<returns>The string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GenerateFunctionSql(System.Data.Common.CommandTrees.DbFunctionCommandTree,System.Data.CommandType@)">
<summary>
Translate a function command tree to a SQL string.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.WriteSql(System.Data.SQLite.Linq.ISqlFragment)">
<summary>
Convert the SQL fragments to a string.
We have to setup the Stream for writing.
</summary>
<param name="sqlStatement"></param>
<returns>A string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbAndExpression)">
<summary>
Translate(left) AND Translate(right)
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbApplyExpression)">
<summary>
An apply is just like a join, so it shares the common join processing
in <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbArithmeticExpression)">
<summary>
For binary expressions, we delegate to <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitBinaryExpression(System.String,System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression)"/>.
We handle the other expressions directly.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbCaseExpression)">
<summary>
If the ELSE clause is null, we do not write it out.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbCastExpression)">
<summary>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbComparisonExpression)">
<summary>
The parser generates Not(Equals(...)) for &lt;&gt;.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbConstantExpression)">
<summary>
Constants will be send to the store as part of the generated TSQL, not as parameters
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>. Strings are wrapped in single
quotes and escaped. Numbers are written literally.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbDerefExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbDerefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbDistinctExpression)">
<summary>
The DISTINCT has to be added to the beginning of SqlSelectStatement.Select,
but it might be too late for that. So, we use a flag on SqlSelectStatement
instead, and add the "DISTINCT" in the second phase.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbElementExpression)">
<summary>
An element expression returns a scalar - so it is translated to
( Select ... )
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbExceptExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)"/>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Only concrete expression types will be visited.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbScanExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>If we are in a Join context, returns a <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>
with the extent name, otherwise, a new <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>
with the From field set.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GetTargetTSql(System.Data.Metadata.Edm.EntitySetBase)">
<summary>
Gets escaped TSql identifier describing this entity set.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)">
<summary>
The bodies of <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>, <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbGroupByExpression)"/>,
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/>, <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbSortExpression)"/> are similar.
Each does the following.
<list type="number">
<item> Visit the input expression</item>
<item> Determine if the input's SQL statement can be reused, or a new
one must be created.</item>
<item>Create a new symbol table scope</item>
<item>Push the Sql statement onto a stack, so that children can
update the free variable list.</item>
<item>Visit the non-input expression.</item>
<item>Cleanup</item>
</list>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Lambda functions are not supported.
The functions supported are:
<list type="number">
<item>Canonical Functions - We recognize these by their dataspace, it is DataSpace.CSpace</item>
<item>Store Functions - We recognize these by the BuiltInAttribute and not being Canonical</item>
<item>User-defined Functions - All the rest except for Lambda functions</item>
</list>
We handle Canonical and Store functions the same way: If they are in the list of functions
that need special handling, we invoke the appropriate handler, otherwise we translate them to
FunctionName(arg1, arg2, ..., argn).
We translate user-defined functions to NamespaceName.FunctionName(arg1, arg2, ..., argn).
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbEntityRefExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbEntityRefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbRefKeyExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbRefKeyExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbGroupByExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/> for general details.
We modify both the GroupBy and the Select fields of the SqlSelectStatement.
GroupBy gets just the keys without aliases,
and Select gets the keys and the aggregates with aliases.
Whenever there exists at least one aggregate with an argument that is not is not a simple
<see cref="T:System.Data.Common.CommandTrees.DbPropertyExpression"/> over <see cref="T:System.Data.Common.CommandTrees.DbVariableReferenceExpression"/>,
we create a nested query in which we alias the arguments to the aggregates.
That is due to the following two limitations of Sql Server:
<list type="number">
<item>If an expression being aggregated contains an outer reference, then that outer
reference must be the only column referenced in the expression </item>
<item>Sql Server cannot perform an aggregate function on an expression containing
an aggregate or a subquery. </item>
</list>
The default translation, without inner query is:
SELECT
kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
aggf1(aexpr1) AS agg1, .. aggfn(aexprn) AS aggn
FROM input AS a
GROUP BY kexp1, kexp2, .. kexpn
When we inject an innner query, the equivalent translation is:
SELECT
key1 AS key1, key2 AS key2, .. keyn AS keys,
aggf1(agg1) AS agg1, aggfn(aggn) AS aggn
FROM (
SELECT
kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
aexpr1 AS agg1, .. aexprn AS aggn
FROM input AS a
) as a
GROUP BY key1, key2, keyn
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIntersectExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)"/>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsEmptyExpression)">
<summary>
Not(IsEmpty) has to be handled specially, so we delegate to
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsEmptyExpression(System.Data.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)"/>.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.
<code>[NOT] EXISTS( ... )</code>
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsNullExpression)">
<summary>
Not(IsNull) is handled specially, so we delegate to
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsNullExpression(System.Data.Common.CommandTrees.DbIsNullExpression,System.Boolean)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>
<code>IS [NOT] NULL</code>
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsOfExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbIsOfExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbCrossJoinExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbJoinExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbLikeExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbLimitExpression)">
<summary>
Translates to TOP expression.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
DbNewInstanceExpression is allowed as a child of DbProjectExpression only.
If anyone else is the parent, we throw.
We also perform special casing for collections - where we could convert
them into Unions
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitNewInstanceExpression(System.Data.Common.CommandTrees.DbNewInstanceExpression)"/> for the actual implementation.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNotExpression)">
<summary>
The Not expression may cause the translation of its child to change.
These children are
<list type="bullet">
<item><see cref="T:System.Data.Common.CommandTrees.DbNotExpression"/>NOT(Not(x)) becomes x</item>
<item><see cref="T:System.Data.Common.CommandTrees.DbIsEmptyExpression"/>NOT EXISTS becomes EXISTS</item>
<item><see cref="T:System.Data.Common.CommandTrees.DbIsNullExpression"/>IS NULL becomes IS NOT NULL</item>
<item><see cref="T:System.Data.Common.CommandTrees.DbComparisonExpression"/>= becomes&lt;&gt; </item>
</list>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNullExpression)">
<summary>
</summary>
<param name="e"></param>
<returns><see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbOfTypeExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbOfTypeExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbOrExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
<seealso cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbAndExpression)"/>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbParameterReferenceExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/> for the general ideas.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
<seealso cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)">
<summary>
This method handles record flattening, which works as follows.
consider an expression <c>Prop(y, Prop(x, Prop(d, Prop(c, Prop(b, Var(a)))))</c>
where a,b,c are joins, d is an extent and x and y are fields.
b has been flattened into a, and has its own SELECT statement.
c has been flattened into b.
d has been flattened into c.
We visit the instance, so we reach Var(a) first. This gives us a (join)symbol.
Symbol(a).b gives us a join symbol, with a SELECT statement i.e. Symbol(b).
From this point on , we need to remember Symbol(b) as the source alias,
and then try to find the column. So, we use a SymbolPair.
We have reached the end when the symbol no longer points to a join symbol.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.JoinSymbol"/> if we have not reached the first
Join node that has a SELECT statement.
A <see cref="T:System.Data.SQLite.Linq.SymbolPair"/> if we have seen the JoinNode, and it has
a SELECT statement.
A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/> with {Input}.propertyName otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbQuantifierExpression)">
<summary>
Any(input, x) => Exists(Filter(input,x))
All(input, x) => Not Exists(Filter(input, not(x))
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbRefExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbRefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbRelationshipNavigationExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbRelationshipNavigationExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbSkipExpression)">
<summary>
For Sql9 it translates to:
SELECT Y.x1, Y.x2, ..., Y.xn
FROM (
SELECT X.x1, X.x2, ..., X.xn, row_number() OVER (ORDER BY sk1, sk2, ...) AS [row_number]
FROM input as X
) as Y
WHERE Y.[row_number] &gt; count
ORDER BY sk1, sk2, ...
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbSortExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
<seealso cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbTreatExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbTreatExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)">
<summary>
This code is shared by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbExceptExpression)"/>
and <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIntersectExpression)"/>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitSetOpExpression(System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,System.String)"/>
Since the left and right expression may not be Sql select statements,
we must wrap them up to look like SQL select statements.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)">
<summary>
This method determines whether an extent from an outer scope(free variable)
is used in the CurrentSelectStatement.
An extent in an outer scope, if its symbol is not in the FromExtents
of the CurrentSelectStatement.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.Symbol"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitAggregate(System.Data.Common.CommandTrees.DbAggregate,System.Object)">
<summary>
Aggregates are not visited by the normal visitor walk.
</summary>
<param name="aggregate">The aggreate to be translated</param>
<param name="aggregateArgument">The translated aggregate argument</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitInputExpression(System.Data.Common.CommandTrees.DbExpression,System.String,System.Data.Metadata.Edm.TypeUsage,System.Data.SQLite.Linq.Symbol@)">
<summary>
This is called by the relational nodes. It does the following
<list>
<item>If the input is not a SqlSelectStatement, it assumes that the input
is a collection expression, and creates a new SqlSelectStatement </item>
</list>
</summary>
<param name="inputExpression"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="fromSymbol"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/> and the main fromSymbol
for this select statement.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsEmptyExpression(System.Data.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsEmptyExpression)"/>
</summary>
<param name="e"></param>
<param name="negate">Was the parent a DbNotExpression?</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitCollectionConstructor(System.Data.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
Translate a NewInstance(Element(X)) expression into
"select top(1) * from X"
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsNullExpression(System.Data.Common.CommandTrees.DbIsNullExpression,System.Boolean)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsNullExpression)"/>
</summary>
<param name="e"></param>
<param name="negate">Was the parent a DbNotExpression?</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)">
<summary>
This handles the processing of join expressions.
The extents on a left spine are flattened, while joins
not on the left spine give rise to new nested sub queries.
Joins work differently from the rest of the visiting, in that
the parent (i.e. the join node) creates the SqlSelectStatement
for the children to use.
The "parameter" IsInJoinContext indicates whether a child extent should
add its stuff to the existing SqlSelectStatement, or create a new SqlSelectStatement
By passing true, we ask the children to add themselves to the parent join,
by passing false, we ask the children to create new Select statements for
themselves.
This method is called from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbApplyExpression)"/> and
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbJoinExpression)"/>.
</summary>
<param name="inputs"></param>
<param name="joinKind"></param>
<param name="joinString"></param>
<param name="joinCondition"></param>
<returns> A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.ProcessJoinInputResult(System.Data.SQLite.Linq.ISqlFragment,System.Data.SQLite.Linq.SqlSelectStatement,System.Data.Common.CommandTrees.DbExpressionBinding,System.Int32)">
<summary>
This is called from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>.
This is responsible for maintaining the symbol table after visiting
a child of a join expression.
The child's sql statement may need to be completed.
The child's result could be one of
<list type="number">
<item>The same as the parent's - this is treated specially.</item>
<item>A sql select statement, which may need to be completed</item>
<item>An extent - just copy it to the from clause</item>
<item>Anything else (from a collection-valued expression) -
unnest and copy it.</item>
</list>
If the input was a Join, we need to create a new join symbol,
otherwise, we create a normal symbol.
We then call AddFromSymbol to add the AS clause, and update the symbol table.
If the child's result was the same as the parent's, we have to clean up
the list of symbols in the FromExtents list, since this contains symbols from
the children of both the parent and the child.
The happens when the child visited is a Join, and is the leftmost child of
the parent.
</summary>
<param name="fromExtentFragment"></param>
<param name="result"></param>
<param name="input"></param>
<param name="fromSymbolStart"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitNewInstanceExpression(System.Data.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
We assume that this is only called as a child of a Project.
This replaces <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNewInstanceExpression)"/>, since
we do not allow DbNewInstanceExpression as a child of any node other than
DbProjectExpression.
We write out the translation of each of the columns in the record.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsSpecialBuiltInFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Determines whether the given function is a built-in function that requires special handling
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsSpecialCanonicalFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Determines whether the given function is a canonical function that requires special handling
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleFunctionDefault(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Default handling for functions
Translates them to FunctionName(arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleFunctionDefaultGivenName(System.Data.Common.CommandTrees.DbFunctionExpression,System.String)">
<summary>
Default handling for functions with a given name.
Translates them to functionName(arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<param name="functionName"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleFunctionArgumentsDefault(System.Data.Common.CommandTrees.DbFunctionExpression,System.Data.SQLite.Linq.SqlBuilder)">
<summary>
Default handling on function arguments
Appends the list of arguments to the given result
If the function is niladic it does not append anything,
otherwise it appends (arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<param name="result"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialBuiltInFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for special built in functions
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialCanonicalFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for special canonical functions
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunction(System.Collections.Generic.Dictionary{System.String,System.Data.SQLite.Linq.SqlGenerator.FunctionHandler},System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Dispatches the special function processing to the appropriate handler
</summary>
<param name="handlers"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Common.CommandTrees.DbFunctionExpression,System.Boolean)">
<summary>
Handles functions that are translated into TSQL operators.
The given function should have one or two arguments.
Functions with one arguemnt are translated into
op arg
Functions with two arguments are translated into
arg0 op arg1
Also, the arguments can be optionaly enclosed in parethesis
</summary>
<param name="e"></param>
<param name="parenthesiseArguments">Whether the arguments should be enclosed in parethesis</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleConcatFunction(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionBitwise(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleDatepartDateFunction(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handles special case in which datepart 'type' parameter is present. all the functions
handles here have *only* the 1st parameter as datepart. datepart value is passed along
the QP as string and has to be expanded as TSQL keyword.
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionDateAdd(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
DateAdd(datetime, secondsToAdd) -> DATEADD ( seconds , number, date)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionDateSubtract(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
DateSubtract(datetime1, datetime2) -> DATEDIFF ( seconds , startdate , enddate )
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionDatepart(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for canonical functions for extracting date parts.
For example:
Year(date) -> DATEPART( year, date)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionIndexOf(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename IndexOf -> CHARINDEX
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionNewGuid(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename NewGuid -> NEWID
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionLength(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Length(arg) -> LEN(arg + '.') - LEN('.')
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionRound(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Round(numericExpression) -> Round(numericExpression, 0);
Round(numericExpression, N) -> Round(numericExpression, N);
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionTrim(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
TRIM(string) -> LTRIM(RTRIM(string))
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionLeft(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
LEFT(string, length) -> SUBSTR(string, 1, length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionRight(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
RIGHT(string, length) -> SUBSTR(string, -(length), length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionSubstring(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
SUBSTRING(string, start) -> SUBSTR(string, start)
SUBSTRING(string, start, length) -> SUBSTR(string, start, length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionToLower(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename ToLower -> LOWER
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionToUpper(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename ToUpper -> UPPER
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddColumns(System.Data.SQLite.Linq.SqlSelectStatement,System.Data.SQLite.Linq.Symbol,System.Collections.Generic.List{System.Data.SQLite.Linq.Symbol},System.Collections.Generic.Dictionary{System.String,System.Data.SQLite.Linq.Symbol},System.String@)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>
Add the column names from the referenced extent/join to the
select statement.
If the symbol is a JoinSymbol, we recursively visit all the extents,
halting at real extents and JoinSymbols that have an associated SqlSelectStatement.
The column names for a real extent can be derived from its type.
The column names for a Join Select statement can be got from the
list of columns that was created when the Join's select statement
was created.
We do the following for each column.
<list type="number">
<item>Add the SQL string for each column to the SELECT clause</item>
<item>Add the column to the list of columns - so that it can
become part of the "type" of a JoinSymbol</item>
<item>Check if the column name collides with a previous column added
to the same select statement. Flag both the columns for renaming if true.</item>
<item>Add the column to a name lookup dictionary for collision detection.</item>
</list>
</summary>
<param name="selectStatement">The select statement that started off as SELECT *</param>
<param name="symbol">The symbol containing the type information for
the columns to be added.</param>
<param name="columnList">Columns that have been added to the Select statement.
This is created in <see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>.</param>
<param name="columnDictionary">A dictionary of the columns above.</param>
<param name="separator">Comma or nothing, depending on whether the SELECT
clause is empty.</param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)">
<summary>
Expands Select * to "select the_list_of_columns"
If the columns are taken from an extent, they are written as
{original_column_name AS Symbol(original_column)} to allow renaming.
If the columns are taken from a Join, they are written as just
{original_column_name}, since there cannot be a name collision.
We concatenate the columns from each of the inputs to the select statement.
Since the inputs may be joins that are flattened, we need to recurse.
The inputs are inferred from the symbols in FromExtents.
</summary>
<param name="selectStatement"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol,System.Boolean)"/>
</summary>
<param name="selectStatement"></param>
<param name="inputVarName"></param>
<param name="fromSymbol"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol,System.Boolean)">
<summary>
This method is called after the input to a relational node is visited.
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/> and <see cref="M:System.Data.SQLite.Linq.SqlGenerator.ProcessJoinInputResult(System.Data.SQLite.Linq.ISqlFragment,System.Data.SQLite.Linq.SqlSelectStatement,System.Data.Common.CommandTrees.DbExpressionBinding,System.Int32)"/>
There are 2 scenarios
<list type="number">
<item>The fromSymbol is new i.e. the select statement has just been
created, or a join extent has been added.</item>
<item>The fromSymbol is old i.e. we are reusing a select statement.</item>
</list>
If we are not reusing the select statement, we have to complete the
FROM clause with the alias
<code>
-- if the input was an extent
FROM = [SchemaName].[TableName]
-- if the input was a Project
FROM = (SELECT ... FROM ... WHERE ...)
</code>
These become
<code>
-- if the input was an extent
FROM = [SchemaName].[TableName] AS alias
-- if the input was a Project
FROM = (SELECT ... FROM ... WHERE ...) AS alias
</code>
and look like valid FROM clauses.
Finally, we have to add the alias to the global list of aliases used,
and also to the current symbol table.
</summary>
<param name="selectStatement"></param>
<param name="inputVarName">The alias to be used.</param>
<param name="fromSymbol"></param>
<param name="addToSymbolTable"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddSortKeys(System.Data.SQLite.Linq.SqlBuilder,System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbSortClause})">
<summary>
Translates a list of SortClauses.
Used in the translation of OrderBy
</summary>
<param name="orderByClause">The SqlBuilder to which the sort keys should be appended</param>
<param name="sortKeys"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.Metadata.Edm.TypeUsage,System.Data.SQLite.Linq.Symbol@)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.Metadata.Edm.TypeUsage,System.Boolean,System.Data.SQLite.Linq.Symbol@)"/>
</summary>
<param name="oldStatement"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="fromSymbol"></param>
<returns>A new select statement, with the old one as the from clause.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.Metadata.Edm.TypeUsage,System.Boolean,System.Data.SQLite.Linq.Symbol@)">
<summary>
This is called after a relational node's input has been visited, and the
input's sql statement cannot be reused. <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/>
When the input's sql statement cannot be reused, we create a new sql
statement, with the old one as the from clause of the new statement.
The old statement must be completed i.e. if it has an empty select list,
the list of columns must be projected out.
If the old statement being completed has a join symbol as its from extent,
the new statement must have a clone of the join symbol as its extent.
We cannot reuse the old symbol, but the new select statement must behave
as though it is working over the "join" record.
</summary>
<param name="oldStatement"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="finalizeOldStatement"></param>
<param name="fromSymbol"></param>
<returns>A new select statement, with the old one as the from clause.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.NeedSingleQuotes(System.Data.SQLite.SQLiteDateFormats)">
<summary>
Determines if values of the specified <see cref="T:System.Data.SQLite.SQLiteDateFormats"/>
require wrapping in single quotes.
</summary>
<param name="format">
The <see cref="T:System.Data.SQLite.SQLiteDateFormats"/> format.
</param>
<returns>
Non-zero if single quotes are required for a value in the specified
<see cref="T:System.Data.SQLite.SQLiteDateFormats"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.EscapeSingleQuote(System.String,System.Boolean)">
<summary>
Before we embed a string literal in a SQL string, we should
convert all ' to '', and enclose the whole string in single quotes.
</summary>
<param name="s"></param>
<param name="isUnicode"></param>
<returns>The escaped sql string.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GetSqlPrimitiveType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Returns the sql primitive/native type name.
It will include size, precision or scale depending on type information present in the
type facets
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCountExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Handles the expression represending DbLimitExpression.Limit and DbSkipExpression.Count.
If it is a constant expression, it simply does to string thus avoiding casting it to the specific value
(which would be done if <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbConstantExpression)"/> is called)
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsApplyExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a particular expression is an Apply operation.
This is only the case when the DbExpressionKind is CrossApply or OuterApply.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsJoinExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a particular expression is a Join operation.
This is true for DbCrossJoinExpression and DbJoinExpression, the
latter of which may have one of several different ExpressionKinds.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsComplexExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a calling expression needs to place
round brackets around the translation of the expression e.
Constants, parameters and properties do not require brackets,
everything else does.
</summary>
<param name="e"></param>
<returns>true, if the expression needs brackets </returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsCompatible(System.Data.SQLite.Linq.SqlSelectStatement,System.Data.Common.CommandTrees.DbExpressionKind)">
<summary>
Determine if the owner expression can add its unique sql to the input's
SqlSelectStatement
</summary>
<param name="result">The SqlSelectStatement of the input to the relational node.</param>
<param name="expressionKind">The kind of the expression node(not the input's)</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.QuoteIdentifier(System.String)">
<summary>
We use the normal box quotes for SQL server. We do not deal with ANSI quotes
i.e. double quotes.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Simply calls <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Common.CommandTrees.DbExpression,System.Boolean)"/>
with addDefaultColumns set to true
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
This is called from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.GenerateSql(System.Data.Common.CommandTrees.DbQueryCommandTree)"/> and nodes which require a
select statement as an argument e.g. <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsEmptyExpression)"/>,
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)"/>.
SqlGenerator needs its child to have a proper alias if the child is
just an extent or a join.
The normal relational nodes result in complete valid SQL statements.
For the rest, we need to treat them as there was a dummy
<code>
-- originally {expression}
-- change that to
SELECT *
FROM {expression} as c
</code>
DbLimitExpression needs to start the statement but not add the default columns
</summary>
<param name="e"></param>
<param name="addDefaultColumns"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitFilterExpression(System.Data.Common.CommandTrees.DbExpressionBinding,System.Data.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
This method is called by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/> and
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbQuantifierExpression)"/>
</summary>
<param name="input"></param>
<param name="predicate"></param>
<param name="negatePredicate">This is passed from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbQuantifierExpression)"/>
in the All(...) case.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.WrapNonQueryExtent(System.Data.SQLite.Linq.SqlSelectStatement,System.Data.SQLite.Linq.ISqlFragment,System.Data.Common.CommandTrees.DbExpressionKind)">
<summary>
If the sql fragment for an input expression is not a SqlSelect statement
or other acceptable form (e.g. an extent as a SqlBuilder), we need
to wrap it in a form acceptable in a FROM clause. These are
primarily the
<list type="bullet">
<item>The set operation expressions - union all, intersect, except</item>
<item>TVFs, which are conceptually similar to tables</item>
</list>
</summary>
<param name="result"></param>
<param name="sqlFragment"></param>
<param name="expressionKind"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsBuiltinFunction(System.Data.Metadata.Edm.EdmFunction)">
<summary>
Is this a builtin function (ie) does it have the builtinAttribute specified?
</summary>
<param name="function"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.WriteFunctionName(System.Data.SQLite.Linq.SqlBuilder,System.Data.Metadata.Edm.EdmFunction)">
<summary>
</summary>
<param name="function"></param>
<param name="result"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.ToBlobLiteral(System.Byte[],System.Data.SQLite.Linq.SqlBuilder)">
<summary>
Appends the literal BLOB string representation of the specified
byte array to the <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.
</summary>
<param name="bytes">
The byte array to be formatted as a literal BLOB string.
</param>
<param name="builder">
The <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/> object to use. If null, an exception
will be thrown.
</param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.NeedsInnerQuery(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbAggregate})">
<summary>
Helper method for the Group By visitor
Returns true if at least one of the aggregates in the given list
has an argument that is not a <see cref="T:System.Data.Common.CommandTrees.DbPropertyExpression"/>
over <see cref="T:System.Data.Common.CommandTrees.DbVariableReferenceExpression"/>
</summary>
<param name="aggregates"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsPropertyOverVarRef(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Determines whether the given expression is a <see cref="T:System.Data.Common.CommandTrees.DbPropertyExpression"/>
over <see cref="T:System.Data.Common.CommandTrees.DbVariableReferenceExpression"/>
</summary>
<param name="expression"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.Linq.SqlGenerator.CurrentSelectStatement">
<summary>
The top of the stack
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.SqlGenerator.IsParentAJoin">
<summary>
The top of the stack
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlSelectStatement">
<summary>
A SqlSelectStatement represents a canonical SQL SELECT statement.
It has fields for the 5 main clauses
<list type="number">
<item>SELECT</item>
<item>FROM</item>
<item>WHERE</item>
<item>GROUP BY</item>
<item>ORDER BY</item>
</list>
We do not have HAVING, since it does not correspond to anything in the DbCommandTree.
Each of the fields is a SqlBuilder, so we can keep appending SQL strings
or other fragments to build up the clause.
We have a IsDistinct property to indicate that we want distict columns.
This is given out of band, since the input expression to the select clause
may already have some columns projected out, and we use append-only SqlBuilders.
The DISTINCT is inserted when we finally write the object into a string.
Also, we have a Top property, which is non-null if the number of results should
be limited to certain number. It is given out of band for the same reasons as DISTINCT.
The FromExtents contains the list of inputs in use for the select statement.
There is usually just one element in this - Select statements for joins may
temporarily have more than one.
If the select statement is created by a Join node, we maintain a list of
all the extents that have been flattened in the join in AllJoinExtents
<example>
in J(j1= J(a,b), c)
FromExtents has 2 nodes JoinSymbol(name=j1, ...) and Symbol(name=c)
AllJoinExtents has 3 nodes Symbol(name=a), Symbol(name=b), Symbol(name=c)
</example>
If any expression in the non-FROM clause refers to an extent in a higher scope,
we add that extent to the OuterExtents list. This list denotes the list
of extent aliases that may collide with the aliases used in this select statement.
It is set by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)"/>.
An extent is an outer extent if it is not one of the FromExtents.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlSelectStatement.HaveOrderByLimitOrOffset">
<summary>
Checks if the statement has an ORDER BY, LIMIT, or OFFSET clause.
</summary>
<returns>
Non-zero if there is an ORDER BY, LIMIT, or OFFSET clause;
otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlSelectStatement.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write out a SQL select statement as a string.
We have to
<list type="number">
<item>Check whether the aliases extents we use in this statement have
to be renamed.
We first create a list of all the aliases used by the outer extents.
For each of the FromExtents( or AllJoinExtents if it is non-null),
rename it if it collides with the previous list.
</item>
<item>Write each of the clauses (if it exists) as a string</item>
</list>
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.SqlSelectStatement.IsDistinct">
<summary>
Do we need to add a DISTINCT at the beginning of the SELECT
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlWriter">
<summary>
This extends StringWriter primarily to add the ability to add an indent
to each line that is written out.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlWriter.#ctor(System.Text.StringBuilder)">
<summary>
</summary>
<param name="b"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlWriter.Write(System.String)">
<summary>
Reset atBeginningofLine if we detect the newline string.
<see cref="M:System.Data.SQLite.Linq.SqlBuilder.AppendLine"/>
Add as many tabs as the value of indent if we are at the
beginning of a line.
</summary>
<param name="value"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlWriter.WriteLine">
<summary>
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.SqlWriter.Indent">
<summary>
The number of tabs to be added at the beginning of each new line.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SymbolPair">
<summary>
The SymbolPair exists to solve the record flattening problem.
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/>
Consider a property expression D(v, "j3.j2.j1.a.x")
where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns.
This has to be translated eventually into {j'}.{x'}
The source field represents the outermost SqlStatement representing a join
expression (say j2) - this is always a Join symbol.
The column field keeps moving from one join symbol to the next, until it
stops at a non-join symbol.
This is returned by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/>,
but never makes it into a SqlBuilder.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SymbolTable">
<summary>
The symbol table is quite primitive - it is a stack with a new entry for
each scope. Lookups search from the top of the stack to the bottom, until
an entry is found.
The symbols are of the following kinds
<list type="bullet">
<item><see cref="T:System.Data.SQLite.Linq.Symbol"/> represents tables (extents/nested selects/unnests)</item>
<item><see cref="T:System.Data.SQLite.Linq.JoinSymbol"/> represents Join nodes</item>
<item><see cref="T:System.Data.SQLite.Linq.Symbol"/> columns.</item>
</list>
Symbols represent names <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)"/> to be resolved,
or things to be renamed.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.TopClause">
<summary>
TopClause represents the a TOP expression in a SqlSelectStatement.
It has a count property, which indicates how many TOP rows should be selected and a
boolen WithTies property.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.TopClause.#ctor(System.Data.SQLite.Linq.ISqlFragment,System.Boolean)">
<summary>
Creates a TopClause with the given topCount and withTies.
</summary>
<param name="topCount"></param>
<param name="withTies"></param>
</member>
<member name="M:System.Data.SQLite.Linq.TopClause.#ctor(System.Int32,System.Boolean)">
<summary>
Creates a TopClause with the given topCount and withTies.
</summary>
<param name="topCount"></param>
<param name="withTies"></param>
</member>
<member name="M:System.Data.SQLite.Linq.TopClause.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write out the TOP part of sql select statement
It basically writes LIMIT (X).
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.TopClause.WithTies">
<summary>
Do we need to add a WITH_TIES to the top statement
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.TopClause.TopCount">
<summary>
How many top rows should be selected.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SQLiteProviderFactory">
<summary>
SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.SQLiteProviderFactory.Instance">
<summary>
Static instance member which returns an instanced
<see cref="T:System.Data.SQLite.Linq.SQLiteProviderFactory"/> class.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.#ctor">
<summary>
Constructs a new instance.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateCommand">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateCommandBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommandBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateConnection">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnection"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateConnectionStringBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnectionStringBuilder"/>
object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateDataAdapter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteDataAdapter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateParameter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteParameter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.GetService(System.Type)">
<summary>
Gets the service object of the specified type.
</summary>
<param name="serviceType">
An object that specifies the type of service object to get.
</param>
<returns>
A service object of type serviceType -OR- a null reference if
there is no service object of type serviceType.
</returns>
</member>
<member name="T:System.Data.SQLite.Linq.SQLiteProviderManifest">
<summary>
The Provider Manifest for SQL Server
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.#ctor(System.String)">
<summary>
Constructs the provider manifest.
</summary>
<remarks>
Previously, the manifest token was interpreted as a <see cref="T:System.Data.SQLite.SQLiteDateFormats"/>,
because the <see cref="T:System.DateTime"/> functions are vastly different depending on the
connection was opened. However, the manifest token may specify a connection string
instead. WARNING: Only the "DateTimeFormat", "DateTimeKind", "DateTimeFormatString",
and "BinaryGUID" connection parameters are extracted from it. All other connection
parameters, if any are present, are silently ignored.
</remarks>
<param name="manifestToken">
A token used to infer the capabilities of the store.
</param>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetProviderManifestToken(System.String)">
<summary>
Determines and returns the effective provider manifest token to use,
based on the specified provider manifest token and the environment,
if applicable.
</summary>
<param name="manifestToken">
The original provider manifest token passed to the constructor for this
class.
</param>
<returns>
The effective provider manifest token.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.ParseProviderManifestToken(System.String)">
<summary>
Attempts to parse a provider manifest token. It must contain either a
legacy string that specifies the <see cref="T:System.Data.SQLite.SQLiteDateFormats"/> value
-OR- string that uses the standard connection string syntax; otherwise,
the results are undefined.
</summary>
<param name="manifestToken">
The manifest token to parse.
</param>
<returns>
The dictionary containing the connection string parameters.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.SetFromOptions(System.Collections.Generic.SortedList{System.String,System.String})">
<summary>
Attempts to set the provider manifest options from the specified
connection string parameters. An exception may be thrown if one
or more of the connection string parameter values do not conform
to the expected type.
</summary>
<param name="opts">
The dictionary containing the connection string parameters.
</param>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetDbInformation(System.String)">
<summary>
Returns manifest information for the provider
</summary>
<param name="informationType">The name of the information to be retrieved.</param>
<returns>An XmlReader at the begining of the information requested.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetEdmType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
This method takes a type and a set of facets and returns the best mapped equivalent type
in EDM.
</summary>
<param name="storeType">A TypeUsage encapsulating a store type and a set of facets</param>
<returns>A TypeUsage encapsulating an EDM type and a set of facets</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetStoreType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
This method takes a type and a set of facets and returns the best mapped equivalent type
</summary>
<param name="edmType">A TypeUsage encapsulating an EDM type and a set of facets</param>
<returns>A TypeUsage encapsulating a store type and a set of facets</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.CreateSqlParameter(System.Data.SQLite.Linq.SQLiteProviderManifest,System.String,System.Data.Metadata.Edm.TypeUsage,System.Data.Metadata.Edm.ParameterMode,System.Object)">
<summary>
Creates a SQLiteParameter given a name, type, and direction
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetSqlDbType(System.Data.Metadata.Edm.TypeUsage,System.Boolean,System.Nullable{System.Int32}@)">
<summary>
Determines DbType for the given primitive type. Extracts facet
information as well.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetParameterSize(System.Data.Metadata.Edm.TypeUsage,System.Boolean)">
<summary>
Determines preferred value for SqlParameter.Size. Returns null
where there is no preference.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetStringDbType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Chooses the appropriate DbType for the given string type.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetBinaryDbType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Chooses the appropriate DbType for the given binary type.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.System#Data#SQLite#ISQLiteSchemaExtensions#BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
<summary>
Creates temporary tables on the connection so schema information can be queried
</summary>
<remarks>
There's a lot of work involved in getting schema information out of SQLite, but LINQ expects to
be able to query on schema tables. Therefore we need to "fake" it by generating temporary tables
filled with the schema of the current connection. We get away with making this information static
because schema information seems to always be queried on a new connection object, so the schema is
always fresh.
</remarks>
<param name="cnn">The connection upon which to build the schema tables.</param>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.DataTableToTable(System.Data.SQLite.SQLiteConnection,System.Data.DataTable,System.String)">
<summary>
Turn a datatable into a table in the temporary database for the connection
</summary>
<param name="cnn">The connection to make the temporary table in</param>
<param name="table">The table to write out</param>
<param name="dest">The temporary table name to write to</param>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Windows/NET4/System.Data.SQLite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/System.Data.SQLite.xml
0,0 → 1,14948
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.AssemblySourceIdAttribute">
<summary>
Defines a source code identifier custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceIdAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code identifier value.
</summary>
<param name="value">
The source code identifier value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceIdAttribute.SourceId">
<summary>
Gets the source code identifier value.
</summary>
</member>
<member name="T:System.Data.SQLite.AssemblySourceTimeStampAttribute">
<summary>
Defines a source code time-stamp custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceTimeStampAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code time-stamp value.
</summary>
<param name="value">
The source code time-stamp value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceTimeStampAttribute.SourceTimeStamp">
<summary>
Gets the source code time-stamp value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteLogCallback">
<summary>
This is the method signature for the SQLite core library logging callback
function for use with sqlite3_log() and the SQLITE_CONFIG_LOG.
WARNING: This delegate is used more-or-less directly by native code, do
not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="T:System.Data.SQLite.SQLite3">
<summary>
This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteBase">
<summary>
This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement
a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConvert">
<summary>
This base class provides datatype conversion services for the SQLite provider.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultDbType">
<summary>
The fallback default database type when one cannot be obtained from an
existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FullFormat">
<summary>
The format string for DateTime values when using the InvariantCulture or CurrentCulture formats.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultTypeName">
<summary>
The fallback default database type name when one cannot be obtained from
an existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.UnixEpoch">
<summary>
The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.OleAutomationEpochAsJulianDay">
<summary>
The value of the OLE Automation epoch represented as a Julian day. This
field cannot be removed as the test suite relies upon it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MinimumJd">
<summary>
This is the minimum Julian Day value supported by this library
(148731163200000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MaximumJd">
<summary>
This is the maximum Julian Day value supported by this library
(464269060799000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormats">
<summary>
An array of ISO-8601 DateTime formats that we support parsing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatUtc">
<summary>
The internal default format for UTC DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatLocal">
<summary>
The internal default format for local DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._utf8">
<summary>
An UTF-8 Encoding instance, so we can convert strings to and from UTF-8
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormat">
<summary>
The default DateTime format for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeKind">
<summary>
The default DateTimeKind for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatString">
<summary>
The default DateTime format string for this instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Initializes the conversion class
</summary>
<param name="fmt">The default date/time format to use for this instance</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="fmtString">The DateTime format string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.String)">
<summary>
Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character.
</summary>
<param name="sourceText">The string to convert to UTF-8</param>
<returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.DateTime)">
<summary>
Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
</summary>
<remarks>
This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the
string result.
</remarks>
<param name="dateTimeValue">The DateTime to convert.</param>
<returns>The UTF-8 encoded string, including a 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.UTF8ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.isValidJd(System.Int64)">
<summary>
Checks if the specified <see cref="T:System.Int64"/> is within the
supported range for a Julian Day value.
</summary>
<param name="jd">
The Julian Day value to check.
</param>
<returns>
Non-zero if the specified Julian Day value is in the supported
range; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DoubleToJd(System.Double)">
<summary>
Converts a Julian Day value from a <see cref="T:System.Double"/> to an
<see cref="T:System.Int64"/>.
</summary>
<param name="julianDay">
The Julian Day <see cref="T:System.Double"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Int64"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.JdToDouble(System.Int64)">
<summary>
Converts a Julian Day value from an <see cref="T:System.Int64"/> to a
<see cref="T:System.Double"/>.
</summary>
<param name="jd">
The Julian Day <see cref="T:System.Int64"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Double"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeYMD(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeYMD" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day is out of the supported range. If this value is null,
an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the year, month, and
day values that are closest to the specified Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeHMS(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeHMS" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day value is out of the supported range. If this value is
null, an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the hour, minute, and
second, and millisecond values that are closest to the specified
Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeJD(System.DateTime)">
<summary>
Converts a <see cref="T:System.DateTime"/> to a Julian Day value.
This method was translated from the "computeJD" function in
the "date.c" file belonging to the SQLite core library.
Since the range of Julian Day values supported by this method
includes all possible (valid) values of a <see cref="T:System.DateTime"/>
value, it should be extremely difficult for this method to
raise an exception or return an undefined result.
</summary>
<param name="dateTime">
The <see cref="T:System.DateTime"/> value to convert. This value
will be within the range of <see cref="F:System.DateTime.MinValue"/>
(00:00:00.0000000, January 1, 0001) to
<see cref="F:System.DateTime.MaxValue"/> (23:59:59.9999999, December
31, 9999).
</param>
<returns>
The nearest Julian Day value corresponding to the specified
<see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the specified DateTimeFormat,
DateTimeKind and DateTimeFormatString.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double,System.DateTimeKind)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<param name="kind">The DateTimeKind to use.</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int32,System.DateTimeKind)">
<summary>
Converts the specified number of seconds from the Unix epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="seconds">
The number of whole seconds since the Unix epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int64,System.DateTimeKind)">
<summary>
Converts the specified number of ticks since the epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="ticks">
The number of whole ticks since the epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToJulianDay(System.DateTime)">
<summary>
Converts a DateTime struct to a JulianDay double
</summary>
<param name="value">The DateTime to convert</param>
<returns>The JulianDay value the Datetime represents</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUnixEpoch(System.DateTime)">
<summary>
Converts a DateTime struct to the whole number of seconds since the
Unix epoch.
</summary>
<param name="value">The DateTime to convert</param>
<returns>The whole number of seconds since the Unix epoch</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDateTimeKindFormat(System.DateTimeKind,System.String)">
<summary>
Returns the DateTime format string to use for the specified DateTimeKind.
If <paramref name="formatString" /> is not null, it will be returned verbatim.
</summary>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>
The DateTime format string to use for the specified DateTimeKind.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.IntPtr,System.Int32)">
<summary>
Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime.
</summary>
<remarks>
This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls
ToDateTime() on the string to return a DateTime.
</remarks>
<param name="ptr">A pointer to the UTF-8 encoded string</param>
<param name="len">The length in bytes of the string</param>
<returns>The parsed DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.Split(System.String,System.Char)">
<summary>
Smart method of splitting a string. Skips quoted elements, removes the quotes.
</summary>
<remarks>
This split function works somewhat like the String.Split() function in that it breaks apart a string into
pieces and returns the pieces as an array. The primary differences are:
<list type="bullet">
<item><description>Only one character can be provided as a separator character</description></item>
<item><description>Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed.</description></item>
</list>
Thus, if splitting the following string looking for a comma:<br/>
One,Two, "Three, Four", Five<br/>
<br/>
The resulting array would contain<br/>
[0] One<br/>
[1] Two<br/>
[2] Three, Four<br/>
[3] Five<br/>
<br/>
Note that the leading and trailing spaces were removed from each item during the split.
</remarks>
<param name="source">Source string to split apart</param>
<param name="separator">Separator character</param>
<returns>A string array of the split up elements</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.NewSplit(System.String,System.Char,System.Boolean,System.String@)">
<summary>
Splits the specified string into multiple strings based on a separator
and returns the result as an array of strings.
</summary>
<param name="value">
The string to split into pieces based on the separator character. If
this string is null, null will always be returned. If this string is
empty, an array of zero strings will always be returned.
</param>
<param name="separator">
The character used to divide the original string into sub-strings.
This character cannot be a backslash or a double-quote; otherwise, no
work will be performed and null will be returned.
</param>
<param name="keepQuote">
If this parameter is non-zero, all double-quote characters will be
retained in the returned list of strings; otherwise, they will be
dropped.
</param>
<param name="error">
Upon failure, this parameter will be modified to contain an appropriate
error message.
</param>
<returns>
The new array of strings or null if the input string is null -OR- the
separator character is a backslash or a double-quote -OR- the string
contains an unbalanced backslash or double-quote character.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToStringWithProvider(System.Object,System.IFormatProvider)">
<summary>
Queries and returns the string representation for an object, using the
specified (or current) format provider.
</summary>
<param name="obj">
The object instance to return the string representation for.
</param>
<param name="provider">
The format provider to use -OR- null if the current format provider for
the thread should be used instead.
</param>
<returns>
The string representation for the object instance -OR- null if the
object instance is also null.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object,System.IFormatProvider,System.Boolean)">
<summary>
Attempts to convert an arbitrary object to the Boolean data type.
Null object values are converted to false. Throws an exception
upon failure.
</summary>
<param name="obj">
The object value to convert.
</param>
<param name="provider">
The format provider to use.
</param>
<param name="viaFramework">
If non-zero, a string value will be converted using the
<see cref="M:System.Convert.ToBoolean(System.Object,System.IFormatProvider)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)"/>
method will be used.
</param>
<returns>
The converted boolean value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object)">
<summary>
Convert a value to true or false.
</summary>
<param name="source">A string or number representing true or false</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)">
<summary>
Convert a string to true or false.
</summary>
<param name="source">A string representing true or false</param>
<returns></returns>
<remarks>
"yes", "no", "y", "n", "0", "1", "on", "off" as well as Boolean.FalseString and Boolean.TrueString will all be
converted to a proper boolean value.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SQLiteTypeToType(System.Data.SQLite.SQLiteType)">
<summary>
Converts a SQLiteType to a .NET Type object
</summary>
<param name="t">The SQLiteType to convert</param>
<returns>Returns a .NET Type object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToDbType(System.Type)">
<summary>
For a given intrinsic type, return a DbType
</summary>
<param name="typ">The native type to convert</param>
<returns>The corresponding (closest match) DbType</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToColumnSize(System.Data.DbType)">
<summary>
Returns the ColumnSize for the given DbType
</summary>
<param name="typ">The DbType to get the size of</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultTypeName(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default database type name to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default database type name to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultTypeNameWarning(System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags,System.String)">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database type name.
</summary>
<param name="dbType">
The database value type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="typeName">
The textual name of the database type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultDbTypeWarning(System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Nullable{System.Data.DbType})">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database value type.
</summary>
<param name="typeName">
The textual name of the database type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="dbType">
The database value type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToTypeName(System.Data.SQLite.SQLiteConnection,System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given database value type, return the "closest-match" textual database type name.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="dbType">The database value type.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The type name or an empty string if it cannot be determined.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToType(System.Data.DbType)">
<summary>
Convert a DbType to a Type
</summary>
<param name="typ">The DbType to convert from</param>
<returns>The closest-match .NET type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToAffinity(System.Type)">
<summary>
For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types.
</summary>
<param name="typ">The type to evaluate</param>
<returns>The SQLite type affinity for that type.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetSQLiteDbTypeMap">
<summary>
Builds and returns a map containing the database column types
recognized by this provider.
</summary>
<returns>
A map containing the database column types recognized by this
provider.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.IsStringDbType(System.Data.DbType)">
<summary>
Determines if a database type is considered to be a string.
</summary>
<param name="type">
The database type to check.
</param>
<returns>
Non-zero if the database type is considered to be a string, zero
otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SettingValueToString(System.Object)">
<summary>
Determines and returns the runtime configuration setting string that
should be used in place of the specified object value.
</summary>
<param name="value">
The object value to convert to a string.
</param>
<returns>
Either the string to use in place of the object value -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultDbType(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default <see cref="T:System.Data.DbType"/> value to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default <see cref="T:System.Data.DbType"/> value to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeNull(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DBNull"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DBNull"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeInt64(System.String)">
<summary>
Determines if the specified textual value appears to be an
<see cref="T:System.Int64"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like an <see cref="T:System.Int64"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDouble(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.Double"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.Double"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDateTime(System.Data.SQLite.SQLiteConvert,System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="convert">
The <see cref="T:System.Data.SQLite.SQLiteConvert"/> object instance configured with
the chosen <see cref="T:System.DateTime"/> format.
</param>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DateTime"/> in the
configured format, zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeNameToDbType(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given textual database type name, return the "closest-match" database type.
This method is called during query result processing; therefore, its performance
is critical.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="typeName">The textual name of the database type to match.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The .NET DBType the text evaluates to.</returns>
</member>
<member name="F:System.Data.SQLite.SQLiteBase.COR_E_EXCEPTION">
<summary>
The error code used for logging exceptions caught in user-provided
code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different config options.
We depend on auto initialization to recover.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if a database connection is open.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteOpenFlagsEnum,System.Int32,System.Boolean)">
<summary>
Opens a database.
</summary>
<remarks>
Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
to bind all attributed user-defined functions and collating sequences to the new connection.
</remarks>
<param name="strFilename">The filename of the database to open. SQLite automatically creates it if it doesn't exist.</param>
<param name="vfsName">The name of the VFS to use -OR- null to use the default VFS.</param>
<param name="connectionFlags">The flags associated with the parent connection object</param>
<param name="openFlags">The open flags to use when creating the connection</param>
<param name="maxPoolSize">The maximum size of the pool for the given filename</param>
<param name="usePool">If true, the connection can be pulled from the connection pool</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Close(System.Boolean)">
<summary>
Closes the currently-open database.
</summary>
<remarks>
After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
memory associated with the user-defined functions and collating sequences tied to the closed connection.
</remarks>
<param name="canThrow">Non-zero if the operation is allowed to throw exceptions, zero otherwise.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetTimeout(System.Int32)">
<summary>
Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command.
</summary>
<param name="nTimeoutMS">The number of milliseconds to wait before returning SQLITE_BUSY</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError">
<summary>
Returns the text of the last error issued by SQLite
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError(System.String)">
<summary>
Returns the text of the last error issued by SQLite -OR- the specified default error text if
none is available from the SQLite core library.
</summary>
<param name="defValue">
The error text to return in the event that one is not available from the SQLite core library.
</param>
<returns>
The error text.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ClearPool">
<summary>
When pooling is enabled, force this connection to be disposed rather than returned to the pool
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CountPool">
<summary>
When pooling is enabled, returns the number of pool entries matching the current file name.
</summary>
<returns>The number of pool entries matching the current file name.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Prepare(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteStatement,System.UInt32,System.String@)">
<summary>
Prepares a SQL statement for execution.
</summary>
<param name="cnn">The source connection preparing the command. Can be null for any caller except LINQ</param>
<param name="strSql">The SQL command text to prepare</param>
<param name="previous">The previous statement in a multi-statement command, or null if no previous statement exists</param>
<param name="timeoutMS">The timeout to wait before aborting the prepare</param>
<param name="strRemain">The remainder of the statement that was not processed. Each call to prepare parses the
SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned
here for a subsequent call to Prepare() until all the text has been processed.</param>
<returns>Returns an initialized SQLiteStatement.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Step(System.Data.SQLite.SQLiteStatement)">
<summary>
Steps through a prepared statement.
</summary>
<param name="stmt">The SQLiteStatement to step through</param>
<returns>True if a row was returned, False if not.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Reset(System.Data.SQLite.SQLiteStatement)">
<summary>
Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA,
transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
</summary>
<param name="stmt">The statement to reset</param>
<returns>Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined function from the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetExtendedResultCodes(System.Boolean)">
<summary>
Enables or disabled extened result codes returned by SQLite
</summary>
<param name="bOnOff">true to enable extended result codes, false to disable.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ResultCode">
<summary>
Returns the numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ExtendedResultCode">
<summary>
Returns the extended numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Extended result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Add a log message via the SQLite sqlite3_log interface.
</summary>
<param name="iErrCode">Error code to be logged with the message.</param>
<param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log()
interface, this should be pre-formatted. Consider using the
String.Format() function.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsInitialized">
<summary>
Checks if the SQLite core library has been initialized in the current process.
</summary>
<returns>
Non-zero if the SQLite core library has been initialized in the current process,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FallbackGetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the internal static lookup table.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Version">
<summary>
Returns a string representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.VersionNumber">
<summary>
Returns an integer representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Changes">
<summary>
Returns the number of changes the last executing insert/update caused.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection
value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
This is not really a per-connection value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._sql">
<summary>
The opaque pointer returned to us by the sqlite provider
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._functions">
<summary>
The user-defined functions registered on this connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._modules">
<summary>
The modules created using this connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db "/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModules">
<summary>
This method attempts to dispose of all the <see cref="T:System.Data.SQLite.SQLiteModule"/> derived
object instances currently associated with the native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetCancelCount">
<summary>
Returns the number of times the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method has been
called.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ShouldThrowForCancel">
<summary>
This method determines whether or not a <see cref="T:System.Data.SQLite.SQLiteException"/>
with a return code of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Interrupt"/> should
be thrown after making a call into the SQLite core library.
</summary>
<returns>
Non-zero if a <see cref="T:System.Data.SQLite.SQLiteException"/> to be thrown. This method
will only return non-zero if the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method was called
one or more times during a call into the SQLite core library (e.g. when
the sqlite3_prepare*() or sqlite3_step() APIs are used).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ResetCancelCount">
<summary>
Resets the value of the <see cref="F:System.Data.SQLite.SQLite3._cancelCount"/> field.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound and removed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticShutdown(System.Boolean)">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both. This parameter has no
effect on non-Windows operating systems.
</param>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if the associated native connection handle is open.
</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_errstr">
<summary>
Has the sqlite3_errstr() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the sqlite3_errstr() function, falling back to the internal lookup
table if necessary.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_stmt_readonly">
<summary>
Has the sqlite3_stmt_readonly() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.forceLogPrepare">
<summary>
This field is used to keep track of whether or not the
"SQLite_ForceLogPrepare" environment variable has been queried. If so,
it will only be non-zero if the environment variable was present.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ForceLogPrepare">
<summary>
Determines if all calls to prepare a SQL query will be logged,
regardless of the flags for the associated connection.
</summary>
<returns>
Non-zero to log all calls to prepare a SQL query.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLite3.ResultCode">
Gets the last SQLite error code
</member>
<member name="M:System.Data.SQLite.SQLite3.ExtendedResultCode">
Gets the last SQLite extended error code
</member>
<member name="M:System.Data.SQLite.SQLite3.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticLogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLogCallback(System.Data.SQLite.SQLiteLogCallback)">
<summary>
Allows the setting of a logging callback invoked by SQLite when a
log event occurs. Only one callback may be set. If NULL is passed,
the logging callback is unregistered.
</summary>
<param name="func">The callback function to invoke.</param>
<returns>Returns a result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy, negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticIsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetValue(System.Data.SQLite.SQLiteStatement,System.Data.SQLite.SQLiteConnectionFlags,System.Int32,System.Data.SQLite.SQLiteType)">
<summary>
Helper function to retrieve a column of data from an active statement.
</summary>
<param name="stmt">The statement being step()'d through</param>
<param name="flags">The flags associated with the connection.</param>
<param name="index">The column index to retrieve</param>
<param name="typ">The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.</param>
<returns>Returns the data in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLite3.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned
by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLite3.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLite3_UTF16">
<summary>
Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db"/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.ToString(System.IntPtr,System.Int32)">
<summary>
Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
</summary>
<param name="b">A pointer to a UTF-16 string</param>
<param name="nbytelen">The length (IN BYTES) of the string</param>
<returns>A .NET string</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBackup">
<summary>
Represents a single SQL backup in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sql">
<summary>
The underlying SQLite object this backup is bound to.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sqlite_backup">
<summary>
The actual backup handle.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._destDb">
<summary>
The destination database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zDestName">
<summary>
The destination database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sourceDb">
<summary>
The source database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zSourceName">
<summary>
The source database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._stepResult">
<summary>
The last result from the StepBackup method of the SQLite3 class.
This is used to determine if the call to the FinishBackup method of
the SQLite3 class should throw an exception when it receives a non-Ok
return code from the core SQLite library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteBackupHandle,System.IntPtr,System.Byte[],System.IntPtr,System.Byte[])">
<summary>
Initializes the backup.
</summary>
<param name="sqlbase">The base SQLite object.</param>
<param name="backup">The backup handle.</param>
<param name="destDb">The destination database for the backup.</param>
<param name="zDestName">The destination database name for the backup.</param>
<param name="sourceDb">The source database for the backup.</param>
<param name="zSourceName">The source database name for the backup.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.Dispose">
<summary>
Disposes and finalizes the backup.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteSchemaExtensions">
<summary>
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteSchemaExtensions.BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
<summary>
Creates temporary tables on the connection so schema information can be queried.
</summary>
<param name="connection">
The connection upon which to build the schema tables.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionFlags">
<summary>
The extra behavioral flags that can be applied to a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.None">
<summary>
No extra flags.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPrepare">
<summary>
Enable logging of all SQL statements to be prepared.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPreBind">
<summary>
Enable logging of all bound parameter types and raw values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBind">
<summary>
Enable logging of all bound parameter strongly typed values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogCallbackException">
<summary>
Enable logging of all exceptions caught from user-provided
managed code called from native code via delegates.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBackup">
<summary>
Enable logging of backup API errors.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoExtensionFunctions">
<summary>
Skip adding the extension functions provided by the native
interop assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindUInt32AsInt64">
<summary>
When binding parameter values with the <see cref="T:System.UInt32"/>
type, use the interop method that accepts an <see cref="T:System.Int64"/>
value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAllAsText">
<summary>
When binding parameter values, always bind them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.GetAllAsText">
<summary>
When returning column values, always return them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLoadExtension">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
loading extensions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoCreateModule">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
creating virtual table modules.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoBindFunctions">
<summary>
Skip binding any functions provided by other managed assemblies when
opening the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLogModule">
<summary>
Skip setting the logging related properties of the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance that was passed to
the <see cref="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleError">
<summary>
Enable logging of all virtual table module errors seen by the
<see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleException">
<summary>
Enable logging of certain virtual table module exceptions that cannot
be easily discovered via other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.TraceWarning">
<summary>
Enable tracing of potentially important [non-fatal] error conditions
that cannot be easily reported through other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool">
<summary>
Disable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool">
<summary>
Enable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes">
<summary>
Enable using per-connection mappings between type names and
<see cref="T:System.Data.DbType"/> values. Also see the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings"/>,
<see cref="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings"/>, and
<see cref="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)"/> methods. These
per-connection mappings, when present, override the corresponding
global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoGlobalTypes">
<summary>
Disable using global mappings between type names and
<see cref="T:System.Data.DbType"/> values. This may be useful in some very narrow
cases; however, if there are no per-connection type mappings, the
fallback defaults will be used for both type names and their
associated <see cref="T:System.Data.DbType"/> values. Therefore, use of this flag
is not recommended.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StickyHasRows">
<summary>
When the <see cref="P:System.Data.SQLite.SQLiteDataReader.HasRows"/> property is used, it
should return non-zero if there were ever any rows in the associated
result sets.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StrictEnlistment">
<summary>
Enable "strict" transaction enlistment semantics. Setting this flag
will cause an exception to be thrown if an attempt is made to enlist
in a transaction with an unavailable or unsupported isolation level.
In the future, more extensive checks may be enabled by this flag as
well.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.MapIsolationLevels">
<summary>
Enable mapping of unsupported transaction isolation levels to the
closest supported transaction isolation level.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectTextAffinity">
<summary>
When returning column values, attempt to detect the affinity of
textual values by checking if they fully conform to those of the
<see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectStringType">
<summary>
When returning column values, attempt to detect the type of
string values by checking if they fully conform to those of
the <see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConvertSettings">
<summary>
Skip querying runtime configuration settings for use by the
<see cref="T:System.Data.SQLite.SQLiteConvert"/> class, including the default
<see cref="T:System.Data.DbType"/> value and default database type name.
<b>NOTE: If the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/>
and/or <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName"/>
properties are not set explicitly nor set via their connection
string properties and repeated calls to determine these runtime
configuration settings are seen to be a problem, this flag
should be set.</b>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindDateTimeWithKind">
<summary>
When binding parameter values with the <see cref="T:System.DateTime"/>
type, take their <see cref="T:System.DateTimeKind"/> into account as
well as that of the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.RollbackOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Commit"/> event, the transaction
should be rolled back. If this is not specified, the transaction
will continue the commit process instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DenyOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Authorize"/> event, the action should
should be denied. If this is not specified, the action will be
allowed instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.InterruptOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event, the operation
should be interrupted. If this is not specified, the operation
will simply continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UnbindFunctionsOnClose">
<summary>
Attempt to unbind all functions provided by other managed assemblies
when closing the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings
or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogAll">
<summary>
Enable all logging.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.Default">
<summary>
The default extra flags for new connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DefaultAndLogAll">
<summary>
The default extra flags for new connections with all logging enabled.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommand">
<summary>
SQLite implementation of DbCommand.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand.DefaultConnectionString">
<summary>
The default connection string to be used when creating a temporary
connection to execute a command via the static
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])"/>
methods.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandText">
<summary>
The command text this command is based on
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._cnn">
<summary>
The connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._version">
<summary>
The version of the connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._activeReader">
<summary>
Indicates whether or not a DataReader is active on the command.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandTimeout">
<summary>
The timeout for the command, kludged because SQLite doesn't support per-command timeout values
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._designTimeVisible">
<summary>
Designer support
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._updateRowSource">
<summary>
Used by DbDataAdapter to determine updating behavior
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._parameterCollection">
<summary>
The collection of parameters for the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._statementList">
<summary>
The SQL command text, broken into individual SQL statements as they are executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._remainingText">
<summary>
Unprocessed SQL text that has not been executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._transaction">
<summary>
Transaction associated with this command
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor">
<overloads>
Constructs a new SQLiteCommand
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String)">
<summary>
Initializes the command with the given command text
</summary>
<param name="commandText">The SQL command text</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command with the given SQL command text and attach the command to the specified
connection.
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command and associates it with the specified connection.
</summary>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteTransaction)">
<summary>
Initializes a command with the given SQL, connection and transaction
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
<param name="transaction">The transaction the command should be associated with</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Dispose(System.Boolean)">
<summary>
Disposes of the command and clears all member variables
</summary>
<param name="disposing">Whether or not the class is being explicitly or implicitly disposed</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.GetFlags(System.Data.SQLite.SQLiteCommand)">
<summary>
This method attempts to query the flags associated with the database
connection in use. If the database connection is disposed, the default
flags will be returned.
</summary>
<param name="command">
The command containing the databse connection to query the flags from.
</param>
<returns>
The connection flags value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearCommands">
<summary>
Clears and destroys all statements currently prepared
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.BuildNextCommand">
<summary>
Builds an array of prepared statements for each complete SQL statement in the command text
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Cancel">
<summary>
Not implemented
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateDbParameter">
<summary>
Forwards to the local CreateParameter() function
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateParameter">
<summary>
Create a new parameter
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.InitializeForReader">
<summary>
This function ensures there are no active readers, that we have a valid connection,
that the connection is open, that all statements are prepared and all parameters are assigned
in preparation for allocating a data reader.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(System.Data.CommandBehavior)">
<summary>
Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
</summary>
<param name="behavior">The behavior the data reader should adopt</param>
<returns>Returns a SQLiteDataReader object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type, closes the connection, and returns the results. If the
connection string is null, a temporary in-memory database connection will
be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type and command behavior, closes the connection unless a data
reader is created, and returns the results. If the connection string is
null, a temporary in-memory database connection will be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="commandBehavior">
The command behavior flags for the command.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)">
<summary>
Overrides the default behavior to return a SQLiteDataReader specialization class
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader">
<summary>
Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
</summary>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearDataReader">
<summary>
Called by the SQLiteDataReader when the data reader is closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Prepare">
<summary>
Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Clone">
<summary>
Clones a command, including all its parameters
</summary>
<returns>A new SQLiteCommand with the same commandtext, connection and parameters</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandText">
<summary>
The SQL command text associated with the command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandTimeout">
<summary>
The amount of time to wait for the connection to become available before erroring out
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandType">
<summary>
The type of the command. SQLite only supports CommandType.Text
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Connection">
<summary>
The connection associated with this command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Parameters">
<summary>
Returns the SQLiteParameterCollection for the given command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbParameterCollection">
<summary>
Forwards to the local Parameters property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Transaction">
<summary>
The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the
command's underlying connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbTransaction">
<summary>
Forwards to the local Transaction property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.UpdatedRowSource">
<summary>
Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DesignTimeVisible">
<summary>
Determines if the command is visible at design time. Defaults to True.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommandBuilder">
<summary>
SQLite implementation of DbCommandBuilder.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor(System.Data.SQLite.SQLiteDataAdapter)">
<summary>
Initializes the command builder and associates it with the specified data adapter.
</summary>
<param name="adp"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.ApplyParameterInfo(System.Data.Common.DbParameter,System.Data.DataRow,System.Data.StatementType,System.Boolean)">
<summary>
Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema
</summary>
<param name="parameter">The parameter to use in applying custom behaviors to a row</param>
<param name="row">The row to apply the parameter to</param>
<param name="statementType">The type of statement</param>
<param name="whereClause">Whether the application of the parameter is part of a WHERE clause</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.String)">
<summary>
Returns a valid named parameter
</summary>
<param name="parameterName">The name of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.Int32)">
<summary>
Returns a named parameter for the given ordinal
</summary>
<param name="parameterOrdinal">The i of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterPlaceholder(System.Int32)">
<summary>
Returns a placeholder character for the specified parameter i.
</summary>
<param name="parameterOrdinal">The index of the parameter to provide a placeholder for</param>
<returns>Returns a named parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.SetRowUpdatingHandler(System.Data.Common.DbDataAdapter)">
<summary>
Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL
statements that may not have previously been generated.
</summary>
<param name="adapter">A data adapter to receive events on.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.QuoteIdentifier(System.String)">
<summary>
Places brackets around an identifier
</summary>
<param name="unquotedIdentifier">The identifier to quote</param>
<returns>The bracketed identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.UnquoteIdentifier(System.String)">
<summary>
Removes brackets around an identifier
</summary>
<param name="quotedIdentifier">The quoted (bracketed) identifier</param>
<returns>The undecorated identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetSchemaTable(System.Data.Common.DbCommand)">
<summary>
Override helper, which can help the base command builder choose the right keys for the given query
</summary>
<param name="sourceCommand"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.DataAdapter">
<summary>
Gets/sets the DataAdapter for this CommandBuilder
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogLocation">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuotePrefix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuoteSuffix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.SchemaSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="T:System.Data.SQLite.ConnectionEventArgs">
<summary>
Event data for connection event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventType">
<summary>
The type of event being raised.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventArgs">
<summary>
The <see cref="T:System.Data.StateChangeEventArgs"/> associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Transaction">
<summary>
The transaction associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Command">
<summary>
The command associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.DataReader">
<summary>
The data reader associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.CriticalHandle">
<summary>
The critical handle associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Text">
<summary>
Command or message text associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.ConnectionEventArgs.#ctor(System.Data.SQLite.SQLiteConnectionEventType,System.Data.StateChangeEventArgs,System.Data.IDbTransaction,System.Data.IDbCommand,System.Data.IDataReader,System.Runtime.InteropServices.CriticalHandle,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="eventType">The type of event being raised.</param>
<param name="eventArgs">The base <see cref="F:System.Data.SQLite.ConnectionEventArgs.EventArgs"/> associated
with this event, if any.</param>
<param name="transaction">The transaction associated with this event, if any.</param>
<param name="command">The command associated with this event, if any.</param>
<param name="dataReader">The data reader associated with this event, if any.</param>
<param name="criticalHandle">The critical handle associated with this event, if any.</param>
<param name="text">The command or message text, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventHandler">
<summary>
Raised when an event pertaining to a connection occurs.
</summary>
<param name="sender">The connection involved.</param>
<param name="e">Extra information about the event.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnection">
<summary>
SQLite implentation of DbConnection.
</summary>
<remarks>
The <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> property can contain the following parameter(s), delimited with a semi-colon:
<list type="table">
<listheader>
<term>Parameter</term>
<term>Values</term>
<term>Required</term>
<term>Default</term>
</listheader>
<item>
<description>Data Source</description>
<description>
This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).
Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a
UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db"
would become "\\\\Network\Share\test.db").
</description>
<description>Y</description>
<description></description>
</item>
<item>
<description>Uri</description>
<description>
If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading
"file://" or "file:" prefix will be stripped off and the resulting file name will be used to open
the database.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>FullUri</description>
<description>
If specified, this must be a URI in a format recognized by the SQLite core library (starting with
SQLite 3.7.7). It will be passed verbatim to the SQLite core library.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>Version</description>
<description>3</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>UseUTF16Encoding</description>
<description>
<b>True</b> - The UTF-16 encoding should be used.
<br/>
<b>False</b> - The UTF-8 encoding should be used.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>DefaultDbType</description>
<description>
This is the default <see cref="T:System.Data.DbType"/> to use when one cannot be determined based on the
column metadata and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DefaultTypeName</description>
<description>
This is the default type name to use when one cannot be determined based on the column metadata
and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>NoDefaultFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>NoSharedFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>VfsName</description>
<description>
The name of the VFS to use when opening the database connection.
If this is not specified, the default VFS will be used.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>ZipVfsVersion</description>
<description>
If non-null, this is the "version" of ZipVFS to use. This requires
the System.Data.SQLite interop assembly -AND- primary managed assembly
to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing. The valid values are "v2" and "v3". Using
anyother value will cause an exception to be thrown. Please see the
ZipVFS documentation for more information on how to use this parameter.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DateTimeFormat</description>
<description>
<b>Ticks</b> - Use the value of DateTime.Ticks.<br/>
<b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/>
<b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/>
<b>UnixEpoch</b> - The whole number of seconds since the Unix epoch (January 1, 1970).<br/>
<b>InvariantCulture</b> - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.<br/>
<b>CurrentCulture</b> - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.</description>
<description>N</description>
<description>ISO8601</description>
</item>
<item>
<description>DateTimeKind</description>
<description>
<b>Unspecified</b> - Not specified as either UTC or local time.
<br/>
<b>Utc</b> - The time represented is UTC.
<br/>
<b>Local</b> - The time represented is local time.
</description>
<description>N</description>
<description>Unspecified</description>
</item>
<item>
<description>DateTimeFormatString</description>
<description>
The exact DateTime format string to use for all formatting and parsing of all DateTime
values for this connection.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>BaseSchemaName</description>
<description>
Some base data classes in the framework (e.g. those that build SQL queries dynamically)
assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used
as a placeholder and removed prior to preparing any SQL statements that may contain it.
</description>
<description>N</description>
<description>sqlite_default_schema</description>
</item>
<item>
<description>BinaryGUID</description>
<description>
<b>True</b> - Store GUID columns in binary form
<br/>
<b>False</b> - Store GUID columns as text
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>Cache Size</description>
<description>
If the argument N is positive then the suggested cache size is set to N.
If the argument N is negative, then the number of cache pages is adjusted
to use approximately abs(N*1024) bytes of memory. Backwards compatibility
note: The behavior of cache_size with a negative N was different in SQLite
versions prior to 3.7.10. In version 3.7.9 and earlier, the number of
pages in the cache was set to the absolute value of N.
</description>
<description>N</description>
<description>2000</description>
</item>
<item>
<description>Synchronous</description>
<description>
<b>Normal</b> - Normal file flushing behavior
<br/>
<b>Full</b> - Full flushing after all writes
<br/>
<b>Off</b> - Underlying OS flushes I/O's
</description>
<description>N</description>
<description>Full</description>
</item>
<item>
<description>Page Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>1024</description>
</item>
<item>
<description>Password</description>
<description>
{password} - Using this parameter requires that the CryptoAPI based codec
be enabled at compile-time for both the native interop assembly and the
core managed assemblies; otherwise, using this parameter may result in an
exception being thrown when attempting to open the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>HexPassword</description>
<description>
{hexPassword} - Must contain a sequence of zero or more hexadecimal encoded
byte values without a leading "0x" prefix. Using this parameter requires
that the CryptoAPI based codec be enabled at compile-time for both the native
interop assembly and the core managed assemblies; otherwise, using this
parameter may result in an exception being thrown when attempting to open
the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>Enlist</description>
<description>
<b>Y</b> - Automatically enlist in distributed transactions
<br/>
<b>N</b> - No automatic enlistment
</description>
<description>N</description>
<description>Y</description>
</item>
<item>
<description>Pooling</description>
<description>
<b>True</b> - Use connection pooling.<br/>
<b>False</b> - Do not use connection pooling.<br/><br/>
<b>WARNING:</b> When using the default connection pool implementation,
setting this property to True should be avoided by applications that make
use of COM (either directly or indirectly) due to possible deadlocks that
can occur during the finalization of some COM objects.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>FailIfMissing</description>
<description>
<b>True</b> - Don't create the database if it does not exist, throw an error instead
<br/>
<b>False</b> - Automatically create the database if it does not exist
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Page Count</description>
<description>{size in pages} - Limits the maximum number of pages (limits the size) of the database</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Legacy Format</description>
<description>
<b>True</b> - Use the more compatible legacy 3.x database format
<br/>
<b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Default Timeout</description>
<description>{time in seconds}<br/>The default command timeout</description>
<description>N</description>
<description>30</description>
</item>
<item>
<description>BusyTimeout</description>
<description>{time in milliseconds}<br/>Sets the busy timeout for the core library.</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Journal Mode</description>
<description>
<b>Delete</b> - Delete the journal file after a commit.
<br/>
<b>Persist</b> - Zero out and leave the journal file on disk after a
commit.
<br/>
<b>Off</b> - Disable the rollback journal entirely. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Truncate</b> - Truncate the journal file to zero-length instead of
deleting it.
<br/>
<b>Memory</b> - Store the journal in volatile RAM. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Wal</b> - Use a write-ahead log instead of a rollback journal.
</description>
<description>N</description>
<description>Delete</description>
</item>
<item>
<description>Read Only</description>
<description>
<b>True</b> - Open the database for read only access
<br/>
<b>False</b> - Open the database for normal read/write access
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Pool Size</description>
<description>The maximum number of connections for the given connection string that can be in the connection pool</description>
<description>N</description>
<description>100</description>
</item>
<item>
<description>Default IsolationLevel</description>
<description>The default transaciton isolation level</description>
<description>N</description>
<description>Serializable</description>
</item>
<item>
<description>Foreign Keys</description>
<description>Enable foreign key constraints</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Flags</description>
<description>Extra behavioral flags for the connection. See the <see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for possible values.</description>
<description>N</description>
<description>Default</description>
</item>
<item>
<description>SetDefaults</description>
<description>
<b>True</b> - Apply the default connection settings to the opened database.<br/>
<b>False</b> - Skip applying the default connection settings to the opened database.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>ToFullPath</description>
<description>
<b>True</b> - Attempt to expand the data source file name to a fully qualified path before opening.
<br/>
<b>False</b> - Skip attempting to expand the data source file name to a fully qualified path before opening.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>PrepareRetries</description>
<description>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>ProgressOps</description>
<description>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as well.
</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Recursive Triggers</description>
<description>
<b>True</b> - Enable the recursive trigger capability.
<b>False</b> - Disable the recursive trigger capability.
</description>
<description>N</description>
<description>False</description>
</item>
</list>
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.BadDbType">
<summary>
The "invalid value" for the <see cref="T:System.Data.DbType"/> enumeration used
by the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/> property. This constant is shared
by this class and the SQLiteConnectionStringBuilder class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.DefaultBaseSchemaName">
<summary>
The default "stub" (i.e. placeholder) base schema name to use when
returning column schema information. Used as the initial value of
the BaseSchemaName property. This should start with "sqlite_*"
because those names are reserved for use by SQLite (i.e. they cannot
be confused with the names of user objects).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._assembly">
<summary>
The managed assembly containing this type.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
<summary>
State of the current connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionString">
<summary>
The connection string
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._transactionLevel">
<summary>
Nesting level of the transactions open on the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._noDispose">
<summary>
If this flag is non-zero, the <see cref="M:System.Data.SQLite.SQLiteConnection.Dispose"/> method will have
no effect; however, the <see cref="M:System.Data.SQLite.SQLiteConnection.Close"/> method will continue to
behave as normal.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._disposing">
<summary>
If set, then the connection is currently being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultIsolation">
<summary>
The default isolation level for new transactions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._enlistment">
<summary>
Whether or not the connection is enlisted in a distrubuted transaction
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._typeNames">
<summary>
The per-connection mappings between type names and <see cref="T:System.Data.DbType"/>
values. These mappings override the corresponding global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sql">
<summary>
The base SQLite object to interop with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._dataSource">
<summary>
The database filename minus path and extension
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._password">
<summary>
Temporary password storage, emptied after the database has been opened
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._flags">
<summary>
The extra behavioral flags for this connection, if any. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._cachedSettings">
<summary>
The cached values for all settings that have been fetched on behalf
of this connection. This cache may be cleared by calling the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultDbType">
<summary>
The default databse type for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTypeName">
<summary>
The default databse type name for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._vfsName">
<summary>
The name of the VFS to be used when opening the database connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTimeout">
<summary>
Default command timeout
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._busyTimeout">
<summary>
The default busy timeout to use with the SQLite core library. This is
only used when opening a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._prepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._progressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when opening the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._parseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor">
<overloads>
Constructs a new SQLiteConnection object
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">The connection string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.IntPtr,System.String,System.Boolean)">
<summary>
Initializes the connection with a pre-existing native connection handle.
This constructor overload is intended to be used only by the private
<see cref="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="db">
The native connection handle to use.
</param>
<param name="fileName">
The file name corresponding to the native connection handle.
</param>
<param name="ownHandle">
Non-zero if this instance owns the native connection handle and
should dispose of it when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String,System.Boolean)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">
The connection string to use.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Clones the settings and connection string from an existing connection. If the existing connection is already open, this
function will open its own connection, enumerate any attached databases of the original connection, and automatically
attach to them.
</summary>
<param name="connection">The connection to copy the settings from.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnChanged(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.ConnectionEventArgs)">
<summary>
Raises the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/> event.
</summary>
<param name="connection">
The connection associated with this event. If this parameter is not
null and the specified connection cannot raise events, then the
registered event handlers will not be invoked.
</param>
<param name="e">
A <see cref="T:System.Data.SQLite.ConnectionEventArgs"/> that contains the event data.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateHandle(System.IntPtr)">
<summary>
Creates and returns a new managed database connection handle. This
method is intended to be used by implementations of the
<see cref="T:System.Data.SQLite.ISQLiteConnectionPool"/> interface only. In theory, it
could be used by other classes; however, that usage is not supported.
</summary>
<param name="nativeHandle">
This must be a native database connection handle returned by the
SQLite core library and it must remain valid and open during the
entire duration of the calling method.
</param>
<returns>
The new managed database connection handle or null if it cannot be
created.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BackupDatabase(System.Data.SQLite.SQLiteConnection,System.String,System.String,System.Int32,System.Data.SQLite.SQLiteBackupCallback,System.Int32)">
<summary>
Backs up the database, using the specified database connection as the
destination.
</summary>
<param name="destination">The destination database connection.</param>
<param name="destinationName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<param name="pages">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="callback">
The method to invoke between each step of the backup process. This
parameter may be null (i.e. no callbacks will be performed).
</param>
<param name="retryMilliseconds">
The number of milliseconds to sleep after encountering a locking error
during the backup process. A value less than zero means that no sleep
should be performed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings">
<summary>
Clears the per-connection cached settings.
</summary>
<returns>
The total number of per-connection settings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryGetCachedSetting(System.String,System.String,System.Object@)">
<summary>
Queries and returns the value of the specified setting, using the
cached setting names and values for this connection, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<param name="value">
The value of the cached setting is stored here if found; otherwise,
the value of <paramref name="default" /> is stored here.
</param>
<returns>
Non-zero if the cached setting was found; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetCachedSetting(System.String,System.Object)">
<summary>
Adds or sets the cached setting specified by <paramref name="name" />
to the value specified by <paramref name="value" />.
</summary>
<param name="name">
The name of the cached setting to add or replace.
</param>
<param name="value">
The new value of the cached setting.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings">
<summary>
Clears the per-connection type mappings.
</summary>
<returns>
The total number of per-connection type mappings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings">
<summary>
Returns the per-connection type mappings.
</summary>
<returns>
The per-connection type mappings -OR- null if they are unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)">
<summary>
Adds a per-connection type mapping, possibly replacing one or more
that already exist.
</summary>
<param name="typeName">
The case-insensitive database type name (e.g. "MYDATE"). The value
of this parameter cannot be null. Using an empty string value (or
a string value consisting entirely of whitespace) for this parameter
is not recommended.
</param>
<param name="dataType">
The <see cref="T:System.Data.DbType"/> value that should be associated with the
specified type name.
</param>
<param name="primary">
Non-zero if this mapping should be considered to be the primary one
for the specified <see cref="T:System.Data.DbType"/>.
</param>
<returns>
A negative value if nothing was done. Zero if no per-connection type
mappings were replaced (i.e. it was a pure add operation). More than
zero if some per-connection type mappings were replaced.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Delegate,System.Delegate)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="callback1">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For scalar functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type. For aggregate functions,
this corresponds to the <see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type. For
collation functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type.
</param>
<param name="callback2">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For aggregate functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type. For other callback types, it
is not used and must be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute)">
<summary>
Attempts to unbind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindAllFunctions(System.Boolean)">
<summary>
This method unbinds all registered (known) functions -OR- all previously
bound user-defined functions from this connection.
</summary>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind
all functions currently bound to the connection.
</param>
<returns>
Non-zero if all the specified user-defined functions were unbound.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the algorithm provided
by the framework itself. This is not applicable when running on the
.NET Compact Framework.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose">
<summary>
Disposes and finalizes the connection, if applicable.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Clone">
<summary>
Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection
will also be opened.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateFile(System.String)">
<summary>
Creates a database file. This just creates a zero-byte file which SQLite
will turn into a database when the file is opened properly.
</summary>
<param name="databaseFileName">The file to create</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnStateChange(System.Data.ConnectionState,System.Data.StateChangeEventArgs@)">
<summary>
Raises the state change event when the state of the connection changes
</summary>
<param name="newState">The new connection state. If this is different
from the previous state, the <see cref="E:System.Data.SQLite.SQLiteConnection.StateChange"/> event is
raised.</param>
<param name="eventArgs">The event data created for the raised event, if
it was actually raised.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetFallbackDefaultIsolationLevel">
<summary>
Determines and returns the fallback default isolation level when one cannot be
obtained from an existing connection instance.
</summary>
<returns>
The fallback default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultIsolationLevel">
<summary>
Determines and returns the default isolation level for this connection instance.
</summary>
<returns>
The default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel,System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="isolationLevel">This parameter is ignored.</param>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already active on the connection.
</summary>
<param name="isolationLevel">Supported isolation levels are Serializable, ReadCommitted and Unspecified.</param>
<remarks>
Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the
connection string, Serializable is used.
Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads
may begin a transaction. Other threads may read from the database, but not write.
With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start
a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
</remarks>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already
active on the connection.
</summary>
<returns>Returns the new transaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginDbTransaction(System.Data.IsolationLevel)">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)"/> function
</summary>
<param name="isolationLevel">Supported isolation levels are Unspecified, Serializable, and ReadCommitted</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangeDatabase(System.String)">
<summary>
This method is not implemented; however, the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/>
event will still be raised.
</summary>
<param name="databaseName"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Close">
<summary>
When the database connection is closed, all commands linked to this connection are automatically reset.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearPool(System.Data.SQLite.SQLiteConnection)">
<summary>
Clears the connection pool associated with the connection. Any other active connections using the same database file
will be discarded instead of returned to the pool when they are closed.
</summary>
<param name="connection"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearAllPools">
<summary>
Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateCommand">
<summary>
Create a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> and associate it with this connection.
</summary>
<returns>Returns a new command object already assigned to this connection.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateDbCommand">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.CreateCommand"/> function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionStringViaFramework(System.String,System.Boolean)">
<summary>
Parses a connection string using the built-in (i.e. framework provided)
connection string parser class and returns the key/value pairs. An
exception may be thrown if the connection string is invalid or cannot be
parsed. When compiled for the .NET Compact Framework, the custom
connection string parser is always used instead because the framework
provided one is unavailable there.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="strict">
Non-zero to throw an exception if any connection string values are not of
the <see cref="T:System.String"/> type. This is not applicable when running on
the .NET Compact Framework.
</param>
<returns>The list of key/value pairs.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnlistTransaction(System.Transactions.Transaction)">
<summary>
Manual distributed transaction enlistment support
</summary>
<param name="transaction">The distributed transaction to enlist in</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FindKey(System.Collections.Generic.SortedList{System.String,System.String},System.String,System.String)">
<summary>
Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value
</summary>
<param name="items">The list to look in</param>
<param name="key">The key to find</param>
<param name="defValue">The default value to return if the key is not found</param>
<returns>The value corresponding to the specified key, or the default value if not found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseEnum(System.Type,System.String,System.Boolean)">
<summary>
Attempts to convert the string value to an enumerated value of the specified type.
</summary>
<param name="type">The enumerated type to convert the string value to.</param>
<param name="value">The string value to be converted.</param>
<param name="ignoreCase">Non-zero to make the conversion case-insensitive.</param>
<returns>The enumerated value upon success or null upon error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseByte(System.String,System.Globalization.NumberStyles,System.Byte@)">
<summary>
Attempts to convert an input string into a byte value.
</summary>
<param name="value">
The string value to be converted.
</param>
<param name="style">
The number styles to use for the conversion.
</param>
<param name="result">
Upon sucess, this will contain the parsed byte value.
Upon failure, the value of this parameter is undefined.
</param>
<returns>
Non-zero upon success; zero on failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnableExtensions(System.Boolean)">
<summary>
Enables or disabled extension loading.
</summary>
<param name="enable">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)">
<summary>
Creates a disposable module containing the implementation of a virtual
table.
</summary>
<param name="module">
The module object to be used when creating the disposable module.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ToHexString(System.Byte[])">
<summary>
Creates and returns a string containing the hexadecimal encoded byte
values from the input array.
</summary>
<param name="array">
The input array of bytes.
</param>
<returns>
The resulting string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String,System.String@)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<param name="error">
Upon failure, this will contain an appropriate error message.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultPooling">
<summary>
This method figures out what the default connection pool setting should
be based on the connection flags. When present, the "Pooling" connection
string property value always overrides the value returned by this method.
</summary>
<returns>
Non-zero if the connection pool should be enabled by default; otherwise,
zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetEffectiveIsolationLevel(System.Data.IsolationLevel)">
<summary>
Determines the transaction isolation level that should be used by
the caller, primarily based upon the one specified by the caller.
If mapping of transaction isolation levels is enabled, the returned
transaction isolation level may be significantly different than the
originally specified one.
</summary>
<param name="isolationLevel">
The originally specified transaction isolation level.
</param>
<returns>
The transaction isolation level that should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Open">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OpenAndReturn">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> and then returns it.
</summary>
<returns>The current connection object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Cancel">
<summary>
This method causes any pending database operation to abort and return at
its earliest opportunity. This routine is typically called in response
to a user action such as pressing "Cancel" or Ctrl-C where the user wants
a long query operation to halt immediately. It is safe to call this
routine from any thread. However, it is not safe to call this routine
with a database connection that is closed or might close before this method
returns.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetMemoryStatistics(System.Collections.Generic.IDictionary{System.String,System.Int64}@)">
<summary>
Returns various global memory statistics for the SQLite core library via
a dictionary of key/value pairs. Currently, only the "MemoryUsed" and
"MemoryHighwater" keys are returned and they have values that correspond
to the values that could be obtained via the <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryUsed"/>
and <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater"/> connection properties.
</summary>
<param name="statistics">
This dictionary will be populated with the global memory statistics. It
will be created if necessary.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for this database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown">
<summary>
Passes a shutdown request to the SQLite core library. Does not throw
an exception if the shutdown request fails.
</summary>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero for
failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown(System.Boolean,System.Boolean)">
<summary>
Passes a shutdown request to the SQLite core library. Throws an
exception if the shutdown request fails and the no-throw parameter
is non-zero.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both.
</param>
<param name="noThrow">
When non-zero, throw an exception if the shutdown request fails.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExtendedResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Int32,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.String)">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.Byte[])">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.String)">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.Byte[])">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetAvRetry(System.Int32@,System.Int32@)">
<summary>
Queries or modifies the number of retries or the retry interval (in milliseconds) for
certain I/O operations that may fail due to anti-virus software.
</summary>
<param name="count">The number of times to retry the I/O operation. A negative value
will cause the current count to be queried and replace that negative value.</param>
<param name="interval">The number of milliseconds to wait before retrying the I/O
operation. This number is multiplied by the number of retry attempts so far to come
up with the final number of milliseconds to wait. A negative value will cause the
current interval to be queried and replace that negative value.</param>
<returns>Zero for success, non-zero for error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetChunkSize(System.Int32)">
<summary>
Sets the chunk size for the primary file associated with this database
connection.
</summary>
<param name="size">
The new chunk size for the main database, in bytes.
</param>
<returns>
Zero for success, non-zero for error.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnwrapString(System.String)">
<summary>
Removes one set of surrounding single -OR- double quotes from the string
value and returns the resulting string value. If the string is null, empty,
or contains quotes that are not balanced, nothing is done and the original
string value will be returned.
</summary>
<param name="value">The string value to process.</param>
<returns>
The string value, modified to remove one set of surrounding single -OR-
double quotes, if applicable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExpandFileName(System.String,System.Boolean)">
<summary>
Expand the filename of the data source, resolving the |DataDirectory|
macro as appropriate.
</summary>
<param name="sourceFile">The database filename to expand</param>
<param name="toFullPath">
Non-zero if the returned file name should be converted to a full path
(except when using the .NET Compact Framework).
</param>
<returns>The expanded path and filename of the filename</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
<overloads>
The following commands are used to extract schema information out of the database. Valid schema types are:
<list type="bullet">
<item>
<description>MetaDataCollections</description>
</item>
<item>
<description>DataSourceInformation</description>
</item>
<item>
<description>Catalogs</description>
</item>
<item>
<description>Columns</description>
</item>
<item>
<description>ForeignKeys</description>
</item>
<item>
<description>Indexes</description>
</item>
<item>
<description>IndexColumns</description>
</item>
<item>
<description>Tables</description>
</item>
<item>
<description>Views</description>
</item>
<item>
<description>ViewColumns</description>
</item>
</list>
</overloads>
<summary>
Returns the MetaDataCollections schema
</summary>
<returns>A DataTable of the MetaDataCollections schema</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String)">
<summary>
Returns schema information of the specified collection
</summary>
<param name="collectionName">The schema collection to retrieve</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String,System.String[])">
<summary>
Retrieves schema information using the specified constraint(s) for the specified collection
</summary>
<param name="collectionName">The collection to retrieve.</param>
<param name="restrictionValues">
The restrictions to impose. Typically, this may include:
<list type="table">
<listheader>
<term>restrictionValues element index</term>
<term>usage</term>
</listheader>
<item>
<description>0</description>
<description>The database (or catalog) name, if applicable.</description>
</item>
<item>
<description>1</description>
<description>The schema name. This is not used by this provider.</description>
</item>
<item>
<description>2</description>
<description>The table name, if applicable.</description>
</item>
<item>
<description>3</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the index name; otherwise, it is the column name.
</description>
</item>
<item>
<description>4</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the column name; otherwise, it is not used.
</description>
</item>
</list>
</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_MetaDataCollections">
<summary>
Builds a MetaDataCollections schema datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_DataSourceInformation">
<summary>
Builds a DataSourceInformation datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Columns(System.String,System.String,System.String)">
<summary>
Build a Columns schema
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strTable">The table to retrieve schema information for, must not be null</param>
<param name="strColumn">The column to retrieve schema information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Indexes(System.String,System.String,System.String)">
<summary>
Returns index information for the given database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strIndex">The name of the index to retrieve information for, can be null</param>
<param name="strTable">The table to retrieve index information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Tables(System.String,System.String,System.String)">
<summary>
Retrieves table schema information for the database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve tables on</param>
<param name="strTable">The table to retrieve, can be null</param>
<param name="strType">The table type, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Views(System.String,System.String)">
<summary>
Retrieves view schema information for the database
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve views on</param>
<param name="strView">The view name, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Catalogs(System.String)">
<summary>
Retrieves catalog (attached databases) schema information for the database
</summary>
<param name="strCatalog">The catalog to retrieve, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_IndexColumns(System.String,System.String,System.String,System.String)">
<summary>
Returns the base column information for indexes in a database
</summary>
<param name="strCatalog">The catalog to retrieve indexes for (can be null)</param>
<param name="strTable">The table to restrict index information by (can be null)</param>
<param name="strIndex">The index to restrict index information by (can be null)</param>
<param name="strColumn">The source column to restrict index information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ViewColumns(System.String,System.String,System.String)">
<summary>
Returns detailed column information for a specified view
</summary>
<param name="strCatalog">The catalog to retrieve columns for (can be null)</param>
<param name="strView">The view to restrict column information by (can be null)</param>
<param name="strColumn">The source column to restrict column information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ForeignKeys(System.String,System.String,System.String)">
<summary>
Retrieves foreign key information from the specified set of filters
</summary>
<param name="strCatalog">An optional catalog to restrict results on</param>
<param name="strTable">An optional table to restrict results on</param>
<param name="strKeyName">An optional foreign key name to restrict results on</param>
<returns>A DataTable with the results of the query</returns>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection._handlers">
<summary>
Static variable to store the connection event handlers to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.StateChange">
<summary>
This event is raised whenever the database is opened or closed.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Changed">
<summary>
This event is raised when events related to the lifecycle of a
SQLiteConnection object occur.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionPool">
<summary>
This property is used to obtain or set the custom connection pool
implementation to use, if any. Setting this property to null will
cause the default connection pool implementation to be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PoolCount">
<summary>
Returns the number of pool entries for the file name associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionString">
<summary>
The connection string containing the parameters for the connection
</summary>
<remarks>
For the complete list of supported connection string properties,
please see <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</remarks>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
<summary>
Returns the data source file name without extension or path.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Database">
<summary>
Returns the string "main".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
This can also be set in the ConnectionString with "Default Timeout"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.BusyTimeout">
<summary>
Gets/sets the default busy timeout to use with the SQLite core library. This is only used when
opening a connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PrepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProgressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when the underlying native progress
callback needs to be changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ParseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Flags">
<summary>
Gets/sets the extra behavioral flags for this connection. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultDbType">
<summary>
Gets/sets the default database type for this connection. This value
will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName">
<summary>
Gets/sets the default database type name for this connection. This
value will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.VfsName">
<summary>
Gets/sets the VFS name for this connection. This value will only be
used when opening the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is
owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ServerVersion">
<summary>
Returns the version of the underlying SQLite database engine
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Changes">
<summary>
Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefineConstants">
<summary>
Returns a string containing the define constants (i.e. compile-time
options) used to compile the core managed assembly, delimited with
spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteVersion">
<summary>
Returns the version of the underlying SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteSourceId">
<summary>
This method returns the string whose value is the same as the
SQLITE_SOURCE_ID C preprocessor macro used when compiling the
SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite core native library, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropVersion">
<summary>
This method returns the version of the interop SQLite assembly
used. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the interop
assembly. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite interop assembly, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderVersion">
<summary>
This method returns the version of the managed components used
to interact with the SQLite core library. If the necessary
information cannot be obtained for any reason, a null value may
be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the managed
components currently executing. If the necessary information
cannot be obtained for any reason, a null value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultFlags">
<summary>
The default connection flags to be used for all opened connections
when they are not present in the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.State">
<summary>
Returns the state of the connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Progress">
<summary>
This event is raised periodically during long running queries. Changing
the value of the <see cref="F:System.Data.SQLite.ProgressEventArgs.ReturnCode"/> property will
determine if the operation in progress will continue or be interrupted.
For the entire duration of the event, the associated connection and
statement objects must not be modified, either directly or indirectly, by
the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Authorize">
<summary>
This event is raised whenever SQLite encounters an action covered by the
authorizer during query preparation. Changing the value of the
<see cref="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode"/> property will determine if
the specific action will be allowed, ignored, or denied. For the entire
duration of the event, the associated connection and statement objects
must not be modified, either directly or indirectly, by the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Update">
<summary>
This event is raised whenever SQLite makes an update/delete/insert into the database on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Commit">
<summary>
This event is raised whenever SQLite is committing a transaction.
Return non-zero to trigger a rollback.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Trace">
<summary>
This event is raised whenever SQLite statement first begins executing on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.RollBack">
<summary>
This event is raised whenever SQLite is rolling back a transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DbProviderFactory">
<summary>
Returns the <see cref="T:System.Data.SQLite.SQLiteFactory"/> instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SynchronizationModes">
<summary>
The I/O file cache flushing behavior for the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Normal">
<summary>
Normal file flushing at critical sections of the code
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Full">
<summary>
Full file flushing after every write operation
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Off">
<summary>
Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressEventHandler">
<summary>
Raised each time the number of virtual machine instructions is
approximately equal to the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.ProgressOps"/> property.
</summary>
<param name="sender">The connection performing the operation.</param>
<param name="e">A <see cref="T:System.Data.SQLite.ProgressEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerEventHandler">
<summary>
Raised when authorization is required to perform an action contained
within a SQL query.
</summary>
<param name="sender">The connection performing the action.</param>
<param name="e">A <see cref="T:System.Data.SQLite.AuthorizerEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCommitHandler">
<summary>
Raised when a transaction is about to be committed. To roll back a transaction, set the
rollbackTrans boolean value to true.
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">Event arguments on the transaction</param>
</member>
<member name="T:System.Data.SQLite.SQLiteUpdateEventHandler">
<summary>
Raised when data is inserted, updated and deleted on a given connection
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">The event parameters which triggered the event</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTraceEventHandler">
<summary>
Raised when a statement first begins executing on a given connection
</summary>
<param name="sender">The connection executing the statement</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteBackupCallback">
<summary>
Raised between each backup step.
</summary>
<param name="source">
The source database connection.
</param>
<param name="sourceName">
The source database name.
</param>
<param name="destination">
The destination database connection.
</param>
<param name="destinationName">
The destination database name.
</param>
<param name="pages">
The number of pages copied with each step.
</param>
<param name="remainingPages">
The number of pages remaining to be copied.
</param>
<param name="totalPages">
The total number of pages in the source database.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True to continue with the backup process or false to halt the backup
process, rolling back any changes that have been made so far.
</returns>
</member>
<member name="T:System.Data.SQLite.ProgressEventArgs">
<summary>
The event data associated with progress reporting events.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.ReturnCode">
<summary>
The return code for the current call into the progress callback.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteProgressReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="returnCode">
The progress return code.
</param>
</member>
<member name="T:System.Data.SQLite.AuthorizerEventArgs">
<summary>
The data associated with a call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument1">
<summary>
The first string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument2">
<summary>
The second string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Database">
<summary>
The database name for the current call into the authorizer, if
applicable.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Context">
<summary>
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteAuthorizerActionCode,System.String,System.String,System.String,System.String,System.Data.SQLite.SQLiteAuthorizerReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="actionCode">
The authorizer action code.
</param>
<param name="argument1">
The first authorizer argument.
</param>
<param name="argument2">
The second authorizer argument.
</param>
<param name="database">
The database name, if applicable.
</param>
<param name="context">
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</param>
<param name="returnCode">
The authorizer return code.
</param>
</member>
<member name="T:System.Data.SQLite.UpdateEventType">
<summary>
Whenever an update event is triggered on a connection, this enum will indicate
exactly what type of operation is being performed.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Delete">
<summary>
A row is being deleted from the given database and table
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Insert">
<summary>
A row is being inserted into the table.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Update">
<summary>
A row is being updated in the table.
</summary>
</member>
<member name="T:System.Data.SQLite.UpdateEventArgs">
<summary>
Passed during an Update callback, these event arguments detail the type of update operation being performed
on the given connection.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Database">
<summary>
The name of the database being updated (usually "main" but can be any attached or temporary database)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Table">
<summary>
The name of the table being updated
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Event">
<summary>
The type of update being performed (insert/update/delete)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.RowId">
<summary>
The RowId affected by this update.
</summary>
</member>
<member name="T:System.Data.SQLite.CommitEventArgs">
<summary>
Event arguments raised when a transaction is being committed
</summary>
</member>
<member name="F:System.Data.SQLite.CommitEventArgs.AbortTransaction">
<summary>
Set to true to abort the transaction and trigger a rollback
</summary>
</member>
<member name="T:System.Data.SQLite.TraceEventArgs">
<summary>
Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text
</summary>
</member>
<member name="F:System.Data.SQLite.TraceEventArgs.Statement">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteConnectionPool">
<summary>
This interface represents a custom connection pool implementation
usable by System.Data.SQLite.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Add(System.String,System.Object,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool">
<summary>
This default method implementations in this class should not be used by
applications that make use of COM (either directly or indirectly) due
to possible deadlocks that can occur during finalization of some COM
objects.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._syncRoot">
<summary>
This field is used to synchronize access to the private static data
in this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._connectionPool">
<summary>
When this field is non-null, it will be used to provide the
implementation of all the connection pool methods; otherwise,
the default method implementations will be used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._queueList">
<summary>
The dictionary of connection pools, based on the normalized file
name of the SQLite database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolVersion">
<summary>
The default version number new pools will get.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolOpened">
<summary>
The number of connections successfully opened from any pool.
This value is incremented by the Remove method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolClosed">
<summary>
The number of connections successfully closed from any pool.
This value is incremented by the Add method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Add(System.String,System.Data.SQLite.SQLiteConnectionHandle,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetConnectionPool">
<summary>
This method is used to obtain a reference to the custom connection
pool implementation currently in use, if any.
</summary>
<returns>
The custom connection pool implementation or null if the default
connection pool implementation should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.SetConnectionPool(System.Data.SQLite.ISQLiteConnectionPool)">
<summary>
This method is used to set the reference to the custom connection
pool implementation to use, if any.
</summary>
<param name="connectionPool">
The custom connection pool implementation to use or null if the
default connection pool implementation should be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ResizePool(System.Data.SQLite.SQLiteConnectionPool.PoolQueue,System.Boolean)">
<summary>
We do not have to thread-lock anything in this function, because it
is only called by other functions above which already take the lock.
</summary>
<param name="queue">
The pool queue to resize.
</param>
<param name="add">
If a function intends to add to the pool, this is true, which
forces the resize to take one more than it needs from the pool.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool.PoolQueue">
<summary>
Keeps track of connections made on a specified file. The PoolVersion
dictates whether old objects get returned to the pool or discarded
when no longer in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.Queue">
<summary>
The queue of weak references to the actual database connection
handles.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.PoolVersion">
<summary>
This pool version associated with the database connection
handles in this pool queue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.MaxPoolSize">
<summary>
The maximum size of this pool queue.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.#ctor(System.Int32,System.Int32)">
<summary>
Constructs a connection pool queue using the specified version
and maximum size. Normally, all the database connection
handles in this pool are associated with a single database file
name.
</summary>
<param name="version">
The initial pool version for this connection pool queue.
</param>
<param name="maxSize">
The initial maximum size for this connection pool queue.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionStringBuilder">
<summary>
SQLite implementation of DbConnectionStringBuilder.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionStringBuilder._properties">
<summary>
Properties of this class
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor">
<overloads>
Constructs a new instance of the class
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor(System.String)">
<summary>
Constructs a new instance of the class using the specified connection string.
</summary>
<param name="connectionString">The connection string to parse</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.Initialize(System.String)">
<summary>
Private initializer, which assigns the connection string and resets the builder
</summary>
<param name="cnnString">The connection string to assign</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.TryGetValue(System.String,System.Object@)">
<summary>
Helper function for retrieving values from the connectionstring
</summary>
<param name="keyword">The keyword to retrieve settings for</param>
<param name="value">The resulting parameter value</param>
<returns>Returns true if the value was found and returned</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.FallbackGetProperties(System.Collections.Hashtable)">
<summary>
Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties()
</summary>
<param name="propertyList">The hashtable to fill with property descriptors</param>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Version">
<summary>
Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SyncMode">
<summary>
Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.UseUTF16Encoding">
<summary>
Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Pooling">
<summary>
Gets/Sets whether or not to use connection pooling. The default is "False"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BinaryGUID">
<summary>
Gets/Sets whethor not to store GUID's in binary format. The default is True
which saves space in the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
<summary>
Gets/Sets the filename to open on the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Uri">
<summary>
An alternate to the data source property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FullUri">
<summary>
An alternate to the data source property that uses the SQLite URI syntax.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BusyTimeout">
<summary>
Gets/sets the busy timeout to use with the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PrepareRetries">
<summary>
Gets/sets the maximum number of retries when preparing SQL to be executed.
This normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ProgressOps">
<summary>
Gets/sets the approximate number of virtual machine instructions between
progress events. In order for progress events to actually fire, the event
handler must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event
as well.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Enlist">
<summary>
Determines whether or not the connection will automatically participate
in the current distributed transaction (if one exists)
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FailIfMissing">
<summary>
If set to true, will throw an exception if the database specified in the connection
string does not exist. If false, the database will be created automatically.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.LegacyFormat">
<summary>
If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger
database sizes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ReadOnly">
<summary>
When enabled, the database will be opened for read-only access and writing will be disabled.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Password">
<summary>
Gets/sets the database encryption password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.HexPassword">
<summary>
Gets/sets the database encryption hexadecimal password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
<summary>
Gets/Sets the page size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.MaxPageCount">
<summary>
Gets/Sets the maximum number of pages the database may hold
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.CacheSize">
<summary>
Gets/Sets the cache size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormat">
<summary>
Gets/Sets the DateTime format for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeKind">
<summary>
Gets/Sets the DateTime kind for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormatString">
<summary>
Gets/sets the DateTime format string used for formatting
and parsing purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BaseSchemaName">
<summary>
Gets/Sets the placeholder base schema name used for
.NET Framework compatibility purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.JournalMode">
<summary>
Determines how SQLite handles the transaction journal file.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultIsolationLevel">
<summary>
Sets the default isolation level for transactions on the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultDbType">
<summary>
Gets/sets the default database type for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTypeName">
<summary>
Gets/sets the default type name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.VfsName">
<summary>
Gets/sets the VFS name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ForeignKeys">
<summary>
If enabled, use foreign key constraints
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.RecursiveTriggers">
<summary>
Enable or disable the recursive trigger capability.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ZipVfsVersion">
<summary>
If non-null, this is the version of ZipVFS to use. This requires the
System.Data.SQLite interop assembly -AND- primary managed assembly to
be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Flags">
<summary>
Gets/Sets the extra behavioral flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SetDefaults">
<summary>
If enabled, apply the default connection settings to opened databases.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ToFullPath">
<summary>
If enabled, attempt to resolve the provided data source file name to a
full path before opening.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoDefaultFlags">
<summary>
If enabled, skip using the configured default connection flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoSharedFlags">
<summary>
If enabled, skip using the configured shared connection flags.
</summary>
</member>
<member name="T:System.Data.SQLite.TypeAffinity">
<summary>
SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite
understands. The DateTime extension to the spec is for internal use only.
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
<summary>
Not used
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Int64">
<summary>
All integers in SQLite default to Int64
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Double">
<summary>
All floating point numbers in SQLite default to double
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Text">
<summary>
The default data type of SQLite is text
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Blob">
<summary>
Typically blob types are only seen when returned from a function
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Null">
<summary>
Null types can be returned from functions
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.DateTime">
<summary>
Used internally by this provider
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.None">
<summary>
Used internally by this provider
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventType">
<summary>
These are the event types associated with the
<see cref="T:System.Data.SQLite.SQLiteConnectionEventHandler"/>
delegate (and its corresponding event) and the
<see cref="T:System.Data.SQLite.ConnectionEventArgs"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Invalid">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Unknown">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opening">
<summary>
The connection is being opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ConnectionString">
<summary>
The connection string has been parsed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opened">
<summary>
The connection was opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase">
<summary>
The <see cref="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase"/> method was called on the
connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewTransaction">
<summary>
A transaction was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.EnlistTransaction">
<summary>
The connection was enlisted into a transaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCommand">
<summary>
A command was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewDataReader">
<summary>
A data reader was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCriticalHandle">
<summary>
An instance of a <see cref="T:System.Runtime.InteropServices.CriticalHandle"/> derived class has
been created to wrap a native resource.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closing">
<summary>
The connection is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closed">
<summary>
The connection was closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingCommand">
<summary>
A command is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingDataReader">
<summary>
A data reader is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosingDataReader">
<summary>
A data reader is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.OpenedFromPool">
<summary>
A native resource was opened (i.e. obtained) from the pool.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosedToPool">
<summary>
A native resource was closed (i.e. released) to the pool.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDateFormats">
<summary>
This implementation of SQLite for ADO.NET can process date/time fields in
databases in one of six formats.
</summary>
<remarks>
ISO8601 format is more compatible, readable, fully-processable, but less
accurate as it does not provide time down to fractions of a second.
JulianDay is the numeric format the SQLite uses internally and is arguably
the most compatible with 3rd party tools. It is not readable as text
without post-processing. Ticks less compatible with 3rd party tools that
query the database, and renders the DateTime field unreadable as text
without post-processing. UnixEpoch is more compatible with Unix systems.
InvariantCulture allows the configured format for the invariant culture
format to be used and is human readable. CurrentCulture allows the
configured format for the current culture to be used and is also human
readable.
The preferred order of choosing a DateTime format is JulianDay, ISO8601,
and then Ticks. Ticks is mainly present for legacy code support.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
<summary>
Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
<summary>
Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and
"yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
<summary>
The interval of time in days and fractions of a day since January 1, 4713 BC.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.UnixEpoch">
<summary>
The whole number of seconds since the Unix epoch (January 1, 1970).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.InvariantCulture">
<summary>
Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.CurrentCulture">
<summary>
Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Default">
<summary>
The default format for this provider.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
<summary>
This enum determines how SQLite treats its journal file.
</summary>
<remarks>
By default SQLite will create and delete the journal file when needed during a transaction.
However, for some computers running certain filesystem monitoring tools, the rapid
creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
when starting a transaction. If this is happening, you may want to change the default journal mode to Persist.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Default">
<summary>
The default mode, this causes SQLite to use the existing journaling mode for the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
<summary>
SQLite will create and destroy the journal file as-needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
<summary>
When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased,
and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
<summary>
This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database
corruption in this mode!
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Truncate">
<summary>
SQLite will truncate the journal file to zero-length instead of deleting it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Memory">
<summary>
SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity.
If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the
database file will very likely go corrupt.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Wal">
<summary>
SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent;
after being set it stays in effect across multiple database connections and after closing and reopening the database. A database
in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteSynchronousEnum">
<summary>
Possible values for the "synchronous" database setting. This setting determines
how often the database engine calls the xSync method of the VFS.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Default">
<summary>
Use the default "synchronous" database setting. Currently, this should be
the same as using the FULL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Off">
<summary>
The database engine continues without syncing as soon as it has handed
data off to the operating system. If the application running SQLite
crashes, the data will be safe, but the database might become corrupted
if the operating system crashes or the computer loses power before that
data has been written to the disk surface.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Normal">
<summary>
The database engine will still sync at the most critical moments, but
less often than in FULL mode. There is a very small (though non-zero)
chance that a power failure at just the wrong time could corrupt the
database in NORMAL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Full">
<summary>
The database engine will use the xSync method of the VFS to ensure that
all content is safely written to the disk surface prior to continuing.
This ensures that an operating system crash or power failure will not
corrupt the database. FULL synchronous is very safe, but it is also
slower.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteExecuteType">
<summary>
The requested command execution type. This controls which method of the
<see cref="T:System.Data.SQLite.SQLiteCommand"/> object will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.None">
<summary>
Do nothing. No method will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.NonQuery">
<summary>
The command is not expected to return a result -OR- the result is not
needed. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)"/> method
will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Scalar">
<summary>
The command is expected to return a scalar result -OR- the result should
be limited to a scalar result. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar"/>
or <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Reader">
<summary>
The command is expected to return <see cref="T:System.Data.SQLite.SQLiteDataReader"/> result.
The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Default">
<summary>
Use the default command execution type. Using this value is the same
as using the <see cref="F:System.Data.SQLite.SQLiteExecuteType.NonQuery"/> value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.None">
<summary>
No action is being performed. This value should not be used from
external code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Copy">
<summary>
No longer used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateIndex">
<summary>
An index will be created. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTable">
<summary>
A table will be created. The action-specific arguments are the
table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempIndex">
<summary>
A temporary index will be created. The action-specific arguments
are the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTable">
<summary>
A temporary table will be created. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTrigger">
<summary>
A temporary trigger will be created. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempView">
<summary>
A temporary view will be created. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTrigger">
<summary>
A trigger will be created. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateView">
<summary>
A view will be created. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Delete">
<summary>
A DELETE statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropIndex">
<summary>
An index will be dropped. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTable">
<summary>
A table will be dropped. The action-specific arguments are the tables
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempIndex">
<summary>
A temporary index will be dropped. The action-specific arguments are
the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTable">
<summary>
A temporary table will be dropped. The action-specific arguments are
the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTrigger">
<summary>
A temporary trigger will be dropped. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempView">
<summary>
A temporary view will be dropped. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTrigger">
<summary>
A trigger will be dropped. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropView">
<summary>
A view will be dropped. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Insert">
<summary>
An INSERT statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Pragma">
<summary>
A PRAGMA statement will be executed. The action-specific arguments
are the name of the PRAGMA and the new value or a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Read">
<summary>
A table column will be read. The action-specific arguments are the
table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Select">
<summary>
A SELECT statement will be executed. The action-specific arguments
are both null values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Transaction">
<summary>
A transaction will be started, committed, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
COMMIT, or ROLLBACK) and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Update">
<summary>
An UPDATE statement will be executed. The action-specific arguments
are the table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Attach">
<summary>
A database will be attached to the connection. The action-specific
arguments are the database file name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Detach">
<summary>
A database will be detached from the connection. The action-specific
arguments are the database name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.AlterTable">
<summary>
The schema of a table will be altered. The action-specific arguments
are the database name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Reindex">
<summary>
An index will be deleted and then recreated. The action-specific
arguments are the index name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Analyze">
<summary>
A table will be analyzed to gathers statistics about it. The
action-specific arguments are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateVtable">
<summary>
A virtual table will be created. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropVtable">
<summary>
A virtual table will be dropped. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Function">
<summary>
A SQL function will be called. The action-specific arguments are a
null value and the function name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Savepoint">
<summary>
A savepoint will be created, released, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
RELEASE, or ROLLBACK) and the savepoint name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Recursive">
<summary>
A recursive query will be executed. The action-specific arguments
are two null values.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressReturnCode">
<summary>
The possible return codes for the progress callback.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Continue">
<summary>
The operation should continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Interrupt">
<summary>
The operation should be interrupted.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ok">
<summary>
The action will be allowed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Deny">
<summary>
The overall action will be disallowed and an error message will be
returned from the query preparation method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ignore">
<summary>
The specific action will be disallowed; however, the overall action
will continue. The exact effects of this return code vary depending
on the specific action, please refer to the SQLite core library
documentation for futher details.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteType">
<summary>
Class used internally to determine the datatype of a column in a resultset
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Type">
<summary>
The DbType of the column, or DbType.Object if it cannot be determined
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Affinity">
<summary>
The affinity of a column, used for expressions or when Type is DbType.Object
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor">
<summary>
Constructs a default instance of this type.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor(System.Data.SQLite.TypeAffinity,System.Data.DbType)">
<summary>
Constructs an instance of this type with the specified field values.
</summary>
<param name="affinity">
The type affinity to use for the new instance.
</param>
<param name="type">
The database type to use for the new instance.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteDataAdapter">
<summary>
SQLite implementation of DbDataAdapter.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor">
<overloads>
This class is just a shell around the DbDataAdapter. Nothing from
DbDataAdapter is overridden here, just a few constructors are defined.
</overloads>
<summary>
Default constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Constructs a data adapter using the specified select command.
</summary>
<param name="cmd">
The select command to associate with the adapter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Constructs a data adapter with the supplied select command text and
associated with the specified connection.
</summary>
<param name="commandText">
The select command text to associate with the data adapter.
</param>
<param name="connection">
The connection to associate with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String,System.Boolean)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdating(System.Data.Common.RowUpdatingEventArgs)">
<summary>
Raised by the underlying DbDataAdapter when a row is being updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdated(System.Data.Common.RowUpdatedEventArgs)">
<summary>
Raised by DbDataAdapter after a row is updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdating">
<summary>
Row updating event handler
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdated">
<summary>
Row updated event handler
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.SelectCommand">
<summary>
Gets/sets the select command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.InsertCommand">
<summary>
Gets/sets the insert command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.UpdateCommand">
<summary>
Gets/sets the update command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.DeleteCommand">
<summary>
Gets/sets the delete command for this DataAdapter
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDataReader">
<summary>
SQLite implementation of DbDataReader.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._command">
<summary>
Underlying command this reader is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._flags">
<summary>
The flags pertaining to the associated connection (via the command).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatementIndex">
<summary>
Index of the current statement in the command being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatement">
<summary>
Current statement being Read()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._readingState">
<summary>
State of the current statement being processed.
-1 = First Step() executed, so the first Read() will be ignored
0 = Actively reading
1 = Finished reading
2 = Non-row-returning statement, no records
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._rowsAffected">
<summary>
Number of records affected by the insert/update statements executed on the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldCount">
<summary>
Count of fields (columns) in the row-returning statement currently being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._stepCount">
<summary>
The number of calls to Step() that have returned true (i.e. the number of rows that
have been read in the current result set).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldIndexes">
<summary>
Maps the field (column) names to their corresponding indexes within the results.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldTypeArray">
<summary>
Datatypes of active fields (columns) in the current statement, used for type-restricting data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._commandBehavior">
<summary>
The behavior of the datareader
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._disposeCommand">
<summary>
If set, then dispose of the command object when the reader is finished
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._throwOnDisposed">
<summary>
If set, then raise an exception when the object is accessed after being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._keyInfo">
<summary>
An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._version">
<summary>
Matches the version of the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information. Matches the base schema name used by the
associated connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.#ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)">
<summary>
Internal constructor, initializes the datareader and sets up to begin executing statements
</summary>
<param name="cmd">The SQLiteCommand this data reader is for</param>
<param name="behave">The expected behavior of the data reader</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Dispose(System.Boolean)">
<summary>
Dispose of all resources used by this datareader.
</summary>
<param name="disposing"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Close">
<summary>
Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckClosed">
<summary>
Throw an error if the datareader is closed
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckValidRow">
<summary>
Throw an error if a row is not loaded
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetEnumerator">
<summary>
Enumerator support
</summary>
<returns>Returns a DbEnumerator object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.RefreshFlags">
<summary>
Forces the connection flags cached by this data reader to be refreshed
from the underlying connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyForGet">
<summary>
This method is used to make sure the result set is open and a row is currently available.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyType(System.Int32,System.Data.DbType)">
<summary>
SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table
and the affinity of returned types are all we have to go on to type-restrict data in the reader.
This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In
the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do.
</summary>
<returns>
This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
</returns>
<param name="i">The index of the column to type-check</param>
<param name="typ">The type we want to get out of the column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBoolean(System.Int32)">
<summary>
Retrieves the column as a boolean value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>bool</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetByte(System.Int32)">
<summary>
Retrieves the column as a single byte value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>byte</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of bytes (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldOffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the bytes into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of bytes written into the array</returns>
<remarks>
To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChar(System.Int32)">
<summary>
Returns the column as a single character
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>char</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of chars (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldoffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the characters into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of characters written into the array</returns>
<remarks>
To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDataTypeName(System.Int32)">
<summary>
Retrieves the name of the back-end datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDateTime(System.Int32)">
<summary>
Retrieve the column as a date/time value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDecimal(System.Int32)">
<summary>
Retrieve the column as a decimal value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>decimal</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDouble(System.Int32)">
<summary>
Returns the column as a double
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>double</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFieldType(System.Int32)">
<summary>
Returns the .NET type of a given column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFloat(System.Int32)">
<summary>
Returns a column as a float value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>float</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetGuid(System.Int32)">
<summary>
Returns the column as a Guid
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Guid</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt16(System.Int32)">
<summary>
Returns the column as a short
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int16</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt32(System.Int32)">
<summary>
Retrieves the column as an int
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int32</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt64(System.Int32)">
<summary>
Retrieves the column as a long
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int64</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetName(System.Int32)">
<summary>
Retrieves the name of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetOrdinal(System.String)">
<summary>
Retrieves the i of a column, given its name
</summary>
<param name="name">The name of the column to retrieve</param>
<returns>The int i of the column</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSchemaTable">
<summary>
Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done
to gather the necessary information so it can be represented in an ADO.NET manner.
</summary>
<returns>Returns a DataTable containing the schema information for the active SELECT statement being processed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetString(System.Int32)">
<summary>
Retrieves the column as a string
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValue(System.Int32)">
<summary>
Retrieves the column as an object corresponding to the underlying datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues(System.Object[])">
<summary>
Retreives the values of multiple columns, up to the size of the supplied array
</summary>
<param name="values">The array to fill with values from the columns in the current resultset</param>
<returns>The number of columns retrieved</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues">
<summary>
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no
current row or no current resultset, an exception may be thrown.
</summary>
<returns>
The collection containing the column name and value information for the
current row of data in the current resultset or null if this information
cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.IsDBNull(System.Int32)">
<summary>
Returns True if the specified column is null
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>True or False</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.NextResult">
<summary>
Moves to the next resultset in multiple row-returning SQL command.
</summary>
<returns>True if the command was successful and a new resultset is available, False otherwise.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetConnection(System.Data.SQLite.SQLiteDataReader)">
<summary>
This method attempts to query the database connection associated with
the data reader in use. If the underlying command or connection is
unavailable, a null value will be returned.
</summary>
<returns>
The connection object -OR- null if it is unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteType,System.String)">
<summary>
Retrieves the SQLiteType for a given column and row value.
</summary>
<param name="oldType">
The original SQLiteType structure, based only on the column.
</param>
<param name="text">
The textual value of the column for a given row.
</param>
<returns>
The SQLiteType structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteConnectionFlags,System.Int32)">
<summary>
Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
</summary>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="i">The index of the column to retrieve</param>
<returns>A SQLiteType structure</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Read">
<summary>
Reads the next row from the resultset
</summary>
<returns>True if a new row was successfully loaded and is ready for processing</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Depth">
<summary>
Not implemented. Returns 0
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.FieldCount">
<summary>
Returns the number of columns in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.StepCount">
<summary>
Returns the number of rows seen so far in the current result set.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.VisibleFieldCount">
<summary>
Returns the number of visible fields in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.HasRows">
<summary>
Returns True if the resultset has rows that can be fetched
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.IsClosed">
<summary>
Returns True if the data reader is closed
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.RecordsAffected">
<summary>
Returns the number of rows affected by the statement being executed.
The value returned may not be accurate for DDL statements. Also, it
will be -1 for any statement that does not modify the database (e.g.
SELECT). If an otherwise read-only statement modifies the database
indirectly (e.g. via a virtual table or user-defined function), the
value returned is undefined.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.String)">
<summary>
Indexer to retrieve data from a column given its name
</summary>
<param name="name">The name of the column to retrieve data for</param>
<returns>The value contained in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.Int32)">
<summary>
Indexer to retrieve data from a column given its i
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>The value contained in the column</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteException">
<summary>
SQLite exception class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Private constructor for use with serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Public constructor for generating a SQLite exception given the error
code and message.
</summary>
<param name="errorCode">
The SQLite return code to report.
</param>
<param name="message">
Message text to go along with the return code message text.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String)">
<summary>
Public constructor that uses the base class constructor for the error
message.
</summary>
<param name="message">Error message text.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor">
<summary>
Public constructor that uses the default base class constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String,System.Exception)">
<summary>
Public constructor that uses the base class constructor for the error
message and inner exception.
</summary>
<param name="message">Error message text.</param>
<param name="innerException">The original (inner) exception.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Adds extra information to the serialized object data specific to this
class type. This is only used for serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code.
</summary>
<param name="errorCode">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetStockErrorMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Returns the composite error message based on the SQLite return code
and the optional detailed error message.
</summary>
<param name="errorCode">The SQLite return code.</param>
<param name="message">Optional detailed error message.</param>
<returns>Error message text for the return code.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ResultCode">
<summary>
Gets the associated SQLite result code for this exception as a
<see cref="T:System.Data.SQLite.SQLiteErrorCode"/>. This property returns the same
underlying value as the <see cref="P:System.Data.SQLite.SQLiteException.ErrorCode"/> property.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ErrorCode">
<summary>
Gets the associated SQLite return code for this exception as an
<see cref="T:System.Int32"/>. For desktop versions of the .NET Framework,
this property overrides the property of the same name within the
<see cref="T:System.Runtime.InteropServices.ExternalException"/>
class. This property returns the same underlying value as the
<see cref="P:System.Data.SQLite.SQLiteException.ResultCode"/> property.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteErrorCode">
<summary>
SQLite error codes. Actually, this enumeration represents a return code,
which may also indicate success in one of several ways (e.g. SQLITE_OK,
SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is
something of a misnomer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Unknown">
<summary>
The error code is unknown. This error code
is only used by the managed wrapper itself.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Ok">
<summary>
Successful result
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Error">
<summary>
SQL error or missing database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Internal">
<summary>
Internal logic error in SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Perm">
<summary>
Access permission denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort">
<summary>
Callback routine requested an abort
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy">
<summary>
The database file is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked">
<summary>
A table in the database is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoMem">
<summary>
A malloc() failed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly">
<summary>
Attempt to write a readonly database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Interrupt">
<summary>
Operation terminated by sqlite3_interrupt()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr">
<summary>
Some kind of disk I/O error occurred
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt">
<summary>
The database disk image is malformed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotFound">
<summary>
Unknown opcode in sqlite3_file_control()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Full">
<summary>
Insertion failed because database is full
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen">
<summary>
Unable to open the database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Protocol">
<summary>
Database lock protocol error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Empty">
<summary>
Database is empty
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Schema">
<summary>
The database schema changed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.TooBig">
<summary>
String or BLOB exceeds size limit
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint">
<summary>
Abort due to constraint violation
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Mismatch">
<summary>
Data type mismatch
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Misuse">
<summary>
Library used incorrectly
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoLfs">
<summary>
Uses OS features not supported on host
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth">
<summary>
Authorization denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Format">
<summary>
Auxiliary database format error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Range">
<summary>
2nd parameter to sqlite3_bind out of range
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotADb">
<summary>
File opened that is not a database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice">
<summary>
Notifications from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning">
<summary>
Warnings from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Row">
<summary>
sqlite3_step() has another row ready
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Done">
<summary>
sqlite3_step() has finished executing
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NonExtendedMask">
<summary>
Used to mask off extended result codes
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Read">
<summary>
A file read operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Short_Read">
<summary>
A file read operation returned less data than requested.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Write">
<summary>
A file write operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fsync">
<summary>
A file synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Fsync">
<summary>
A directory synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Truncate">
<summary>
A file truncate operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fstat">
<summary>
A file metadata operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Unlock">
<summary>
A file unlock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_RdLock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete">
<summary>
A file delete operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Blocked">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_NoMem">
<summary>
Out-of-memory during a file operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Access">
<summary>
A file existence/status operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_CheckReservedLock">
<summary>
A check for a reserved lock failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Lock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Close">
<summary>
A file close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Close">
<summary>
A directory close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmOpen">
<summary>
A shared memory open operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmSize">
<summary>
A shared memory size operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmLock">
<summary>
A shared memory lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmMap">
<summary>
A shared memory map operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Seek">
<summary>
A file seek operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete_NoEnt">
<summary>
A file delete operation failed because it does not exist.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Mmap">
<summary>
A file memory mapping operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_GetTempPath">
<summary>
The temporary directory path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ConvPath">
<summary>
A path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked_SharedCache">
<summary>
A database table is locked in shared-cache mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Recovery">
<summary>
A database file is locked due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Snapshot">
<summary>
A database file is locked due to snapshot semantics.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_NoTempDir">
<summary>
A database file cannot be opened because no temporary directory is available.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_IsDir">
<summary>
A database file cannot be opened because its path represents a directory.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_FullPath">
<summary>
A database file cannot be opened because its full path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_ConvPath">
<summary>
A database file cannot be opened because a path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt_Vtab">
<summary>
A virtual table is malformed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Recovery">
<summary>
A database file is read-only due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_CantLock">
<summary>
A database file is read-only because a lock could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Rollback">
<summary>
A database file is read-only because it needs rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_DbMoved">
<summary>
A database file is read-only because it was moved while open.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort_Rollback">
<summary>
An operation is being aborted due to rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Check">
<summary>
A CHECK constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_CommitHook">
<summary>
A commit hook produced a unsuccessful return code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_ForeignKey">
<summary>
A FOREIGN KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Function">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_NotNull">
<summary>
A NOT NULL constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_PrimaryKey">
<summary>
A PRIMARY KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Trigger">
<summary>
The RAISE function was used by a trigger-program.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Unique">
<summary>
A UNIQUE constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Vtab">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_RowId">
<summary>
A ROWID constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Wal">
<summary>
Frames were recovered from the WAL log file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Rollback">
<summary>
Pages were recovered from the journal file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning_AutoIndex">
<summary>
An automatic index was created to process a query.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth_User">
<summary>
User authentication failed.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFactory">
<summary>
SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
</summary>
<summary>
SQLite implementation of <see cref="T:System.IServiceProvider"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.#ctor">
<summary>
Constructs a new instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Dispose">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFactory.Instance">
<summary>
Static instance member which returns an instanced <see cref="T:System.Data.SQLite.SQLiteFactory"/> class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommand">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommandBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommandBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnection">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnection"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnectionStringBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnectionStringBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateDataAdapter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteDataAdapter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateParameter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteParameter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.System#IServiceProvider#GetService(System.Type)">
<summary>
Will provide a <see cref="T:System.IServiceProvider"/> object in .NET 3.5.
</summary>
<param name="serviceType">The class or interface type to query for.</param>
<returns></returns>
</member>
<member name="E:System.Data.SQLite.SQLiteFactory.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application. This event is provided for backward compatibility only.
New code should use the <see cref="T:System.Data.SQLite.SQLiteLog"/> class instead.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunction">
<summary>
This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each
connection to the database.
</summary>
<remarks>
Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database
calls during processing.
It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class
services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement
information in member variables of user-defined function classes.
For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will
be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._base">
<summary>
The base connection this function is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._contextDataList">
<summary>
Internal array used to keep track of aggregate function context data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._flags">
<summary>
The connection flags associated with this object (this should be the
same value as the flags associated with the parent connection object).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._InvokeFunc">
<summary>
Holds a reference to the callback function for user functions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._StepFunc">
<summary>
Holds a reference to the callbakc function for stepping in an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._FinalFunc">
<summary>
Holds a reference to the callback function for finalizing an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._CompareFunc">
<summary>
Holds a reference to the callback function for collating sequences
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._context">
<summary>
Current context of the current callback. Only valid during a callback
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._registeredFunctions">
<summary>
This static dictionary contains all the registered (known) user-defined
functions declared using the proper attributes. The contained dictionary
values are always null and are not currently used.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor">
<summary>
Internal constructor, initializes the function's internal variables.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.Boolean)">
<summary>
Constructs an instance of this class using the specified data-type
conversion parameters.
</summary>
<param name="format">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="formatString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="utf16">
Non-zero to create a UTF-16 data-type conversion context; otherwise,
a UTF-8 data-type conversion context will be created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose">
<summary>
Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if
someone closes the connection while a DataReader is open.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose(System.Boolean)">
<summary>
Placeholder for a user-defined disposal routine
</summary>
<param name="disposing">True if the object is being disposed explicitly</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])">
<summary>
Scalar functions override this method to do their magic.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="args">The arguments for the command to process</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
Aggregate functions override this method to do their magic.
</summary>
<remarks>
Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible.
</remarks>
<param name="args">The arguments for the command to process</param>
<param name="stepNumber">The 1-based step number. This is incrememted each time the step method is called.</param>
<param name="contextData">A placeholder for implementers to store contextual data pertaining to the current context.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)">
<summary>
Aggregate functions override this method to finish their aggregate processing.
</summary>
<remarks>
If you implemented your aggregate function properly,
you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have
all the information you need in there to figure out what to return.
NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will
be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value
if that is the case.
</remarks>
<param name="contextData">Your own assigned contextData, provided for you so you can return your final results.</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)">
<summary>
User-defined collating sequences override this method to provide a custom string sorting algorithm.
</summary>
<param name="param1">The first string to compare.</param>
<param name="param2">The second strnig to compare.</param>
<returns>1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ConvertParams(System.Int32,System.IntPtr)">
<summary>
Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="nArgs">The number of arguments</param>
<param name="argsptr">A pointer to the array of arguments</param>
<returns>An object array of the arguments once they've been converted to .NET values</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.SetReturnValue(System.IntPtr,System.Object)">
<summary>
Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context.
</summary>
<param name="context">The context the return value applies to</param>
<param name="returnValue">The parameter to return to SQLite</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ScalarCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback16(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.StepCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method.
WARNING: Must not throw exceptions.
</summary>
<remarks>
This function takes care of doing the lookups and getting the important information put together to call the Step() function.
That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so
binary searches can be done to find the data.
</remarks>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr)">
<summary>
An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#cctor">
<summary>
Using reflection, enumerate all assemblies in the current appdomain looking for classes that
have a SQLiteFunctionAttribute attribute, and registering them accordingly.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.Type)">
<summary>
Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work
properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported.
</summary>
<param name="typ">The type of the function to register</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.String,System.Int32,System.Data.SQLite.FunctionType,System.Type,System.Delegate,System.Delegate)">
<summary>
Alternative method of registering a function. This method
does not require the specified type to be annotated with
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="name">
The name of the function to register.
</param>
<param name="argumentCount">
The number of arguments accepted by the function.
</param>
<param name="functionType">
The type of SQLite function being resitered (e.g. scalar,
aggregate, or collating sequence).
</param>
<param name="instanceType">
The <see cref="T:System.Type"/> that actually implements the function.
This will only be used if the <paramref name="callback1"/>
and <paramref name="callback2"/> parameters are null.
</param>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/>,
<see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/>,
and <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> virtual methods.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> virtual method. This
parameter is only necessary for aggregate functions.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CreateFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction@)">
<summary>
Creates a <see cref="T:System.Data.SQLite.SQLiteFunction"/> instance based on the specified
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> containing the metadata about
the function to create.
</param>
<param name="function">
The created function -OR- null if the function could not be created.
</param>
<returns>
Non-zero if the function was created; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection.
It is done this way so that all user-defined functions will access the database using the same encoding scheme
as the connection (UTF-8 or UTF-16).
</summary>
<remarks>
The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks.
</remarks>
<param name="sqlbase">The base object on which the functions are to bind.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>Returns a logical list of functions which the connection should retain until it is closed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindAllFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Boolean)">
<summary>
Called by the SQLiteBase derived classes, this method unbinds all registered (known)
functions -OR- all previously bound user-defined functions from a connection.
</summary>
<param name="sqlbase">The base object from which the functions are to be unbound.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions
currently bound to the connection.
</param>
<returns>Non-zero if all the specified user-defined functions were unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined functions from a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteFunction.SQLiteConvert">
<summary>
Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
strings and DateTime's into the current connection's encoding schema.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteInvokeDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</summary>
<param name="param0">
This is always the string literal "Invoke".
</param>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStepDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</summary>
<param name="param0">
This is always the string literal "Step".
</param>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method.
</summary>
<param name="param0">
This is always the string literal "Final".
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteCompareDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method.
</summary>
<param name="param0">
This is always the string literal "Compare".
</param>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteDelegateFunction">
<summary>
This class implements a SQLite function using a <see cref="T:System.Delegate"/>.
All the virtual methods of the <see cref="T:System.Data.SQLite.SQLiteFunction"/> class are
implemented using calls to the <see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/>,
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/>, <see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/>,
and <see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> strongly typed delegate types
or via the <see cref="M:System.Delegate.DynamicInvoke(System.Object[])"/> method.
The arguments are presented in the same order they appear in
the associated <see cref="T:System.Data.SQLite.SQLiteFunction"/> methods with one exception:
the first argument is the name of the virtual method being implemented.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.NoCallbackError">
<summary>
This error message is used by the overridden virtual methods when
a required <see cref="T:System.Delegate"/> property (e.g.
<see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1"/> or <see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2"/>) has not been
set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.ResultInt32Error">
<summary>
This error message is used by the overridden <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/>
method when the result does not have a type of <see cref="T:System.Int32"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor">
<summary>
Constructs an empty instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor(System.Delegate,System.Delegate)">
<summary>
Constructs an instance of this class using the specified
<see cref="T:System.Delegate"/> as the <see cref="T:System.Data.SQLite.SQLiteFunction"/>
implementation.
</summary>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetInvokeArgs(System.Object[],System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Invoke".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetStepArgs(System.Object[],System.Int32,System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.UpdateStepArgs(System.Object[],System.Object@,System.Boolean)">
<summary>
Updates the output arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
using an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step". Currently, only the
<paramref name="contextData"/> parameter is updated.
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetFinalArgs(System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Final".
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetCompareArgs(System.String,System.String,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Compare".
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])">
<summary>
This virtual method is the implementation for scalar functions.
See the <see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/> method for more
details.
</summary>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/> method
for more details.
</summary>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> method
for more details.
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)">
<summary>
This virtual method is part of the implementation for collating
sequences. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> method
for more details.
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionEx">
<summary>
Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
</summary>
<remarks>
User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.GetCollationSequence">
<summary>
Obtains the collating sequence in effect for the given function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="T:System.Data.SQLite.FunctionType">
<summary>
The type of user-defined function to declare
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Scalar">
<summary>
Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Aggregate">
<summary>
Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
Examples include SUM(), COUNT(), AVG(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Collation">
<summary>
Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is
sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting
in a user-defined manner.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCallback">
<summary>
An internal callback delegate declaration.
</summary>
<param name="context">Raw native context pointer for the user function.</param>
<param name="argc">Total number of arguments to the user function.</param>
<param name="argv">Raw native pointer to the array of raw native argument pointers.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalCallback">
<summary>
An internal final callback delegate declaration.
</summary>
<param name="context">Raw context pointer for the user function</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCollation">
<summary>
Internal callback delegate for implementing collating sequences
</summary>
<param name="puser">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="pv1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="pv2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second.</returns>
</member>
<member name="T:System.Data.SQLite.CollationTypeEnum">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Binary">
<summary>
The built-in BINARY collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.NoCase">
<summary>
The built-in NOCASE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Reverse">
<summary>
The built-in REVERSE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Custom">
<summary>
A custom user-defined collating sequence
</summary>
</member>
<member name="T:System.Data.SQLite.CollationEncodingEnum">
<summary>
The encoding type the collation sequence uses
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF8">
<summary>
The collation sequence is UTF8
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16LE">
<summary>
The collation sequence is UTF16 little-endian
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16BE">
<summary>
The collation sequence is UTF16 big-endian
</summary>
</member>
<member name="T:System.Data.SQLite.CollationSequence">
<summary>
A struct describing the collating sequence a function is executing in
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Name">
<summary>
The name of the collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Type">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Encoding">
<summary>
The text encoding of the collation sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence._func">
<summary>
Context of the function that requested the collating sequence
</summary>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.String,System.String)">
<summary>
Calls the base collating sequence to compare two strings
</summary>
<param name="s1">The first string to compare</param>
<param name="s2">The second string to compare</param>
<returns>-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2</returns>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.Char[],System.Char[])">
<summary>
Calls the base collating sequence to compare two character arrays
</summary>
<param name="c1">The first array to compare</param>
<param name="c2">The second array to compare</param>
<returns>-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
<summary>
A simple custom attribute to enable us to easily find user-defined functions in
the loaded assemblies and initialize them in SQLite as connections are made.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor">
<summary>
Default constructor, initializes the internal variables for the function.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor(System.String,System.Int32,System.Data.SQLite.FunctionType)">
<summary>
Constructs an instance of this class. This sets the initial
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/>, <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/>, and
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> properties to null.
</summary>
<param name="name">
The name of the function, as seen by the SQLite core library.
</param>
<param name="argumentCount">
The number of arguments that the function will accept.
</param>
<param name="functionType">
The type of function being declared. This will either be Scalar,
Aggregate, or Collation.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Name">
<summary>
The function's name as it will be used in SQLite command text.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Arguments">
<summary>
The number of arguments this function expects. -1 if the number of arguments is variable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.FuncType">
<summary>
The type of function this implementation will be.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType">
<summary>
The <see cref="T:System.Type"/> object instance that describes the class
containing the implementation for the associated function. The value of
this property will not be used if either the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/> or
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> property values are set to non-null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader">
<summary>
This class provides key info for a given SQLite statement.
<remarks>
Providing key information for a given statement is non-trivial :(
</remarks>
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.#ctor(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteDataReader,System.Data.SQLite.SQLiteStatement)">
<summary>
This function does all the nasty work at determining what keys need to be returned for
a given statement.
</summary>
<param name="cnn"></param>
<param name="reader"></param>
<param name="stmt"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Sync">
<summary>
Make sure all the subqueries are open and ready and sync'd with the current rowid
of the table they're supporting
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Reset">
<summary>
Release any readers on any subqueries
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.AppendSchemaTable(System.Data.DataTable)">
<summary>
Append all the columns we've added to the original query to the schema
</summary>
<param name="tbl"></param>
</member>
<member name="P:System.Data.SQLite.SQLiteKeyReader.Count">
<summary>
How many additional columns of keyinfo we're holding
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyInfo">
<summary>
Used to support CommandBehavior.KeyInfo
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyQuery">
<summary>
A single sub-query for a given table/database.
</summary>
</member>
<member name="T:System.Data.SQLite.LogEventArgs">
<summary>
Event data for logging event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.ErrorCode">
<summary>
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Message">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.LogEventArgs.#ctor(System.IntPtr,System.Object,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="pUserData">Should be null.</param>
<param name="errorCode">
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</param>
<param name="message">The error message, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLogEventHandler">
<summary>
Raised when a log event occurs.
</summary>
<param name="sender">The current connection</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLog">
<summary>
Manages the SQLite custom logging functionality and the associated
callback for the whole process.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog.syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._domainUnload">
<summary>
Member variable to store the AppDomain.DomainUnload event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._defaultHandler">
<summary>
The default log event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._callback">
<summary>
The log callback passed to native SQLite engine. This must live
as long as the SQLite library has a pointer to it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._sql">
<summary>
The base SQLite object to interop with.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._enabled">
<summary>
This will be non-zero if logging is currently enabled.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.Initialize">
<summary>
Initializes the SQLite logging facilities.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.DomainUnload(System.Object,System.EventArgs)">
<summary>
Handles the AppDomain being unloaded.
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The SQLite error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Int32,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The integer error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Object,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">
The error code. The type of this object value should be
System.Int32 or SQLiteErrorCode.
</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.InitializeDefaultHandler">
<summary>
Creates and initializes the default log event handler.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.AddDefaultHandler">
<summary>
Adds the default log event handler to the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.RemoveDefaultHandler">
<summary>
Removes the default log event handler from the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal proxy function that calls any registered application log
event handlers.
WARNING: This method is used more-or-less directly by native code,
do not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogEventHandler(System.Object,System.Data.SQLite.LogEventArgs)">
<summary>
Default logger. Currently, uses the Trace class (i.e. sends events
to the current trace listeners, if any).
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="E:System.Data.SQLite.SQLiteLog._handlers">
<summary>
Member variable to store the application log handler to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteLog.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteLog.Enabled">
<summary>
If this property is true, logging is enabled; otherwise, logging is
disabled. When logging is disabled, no logging events will fire.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMetaDataCollectionNames">
<summary>
MetaDataCollections specific to SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Catalogs">
<summary>
Returns a list of databases attached to the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Columns">
<summary>
Returns column information for the specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Indexes">
<summary>
Returns index information for the optionally-specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.IndexColumns">
<summary>
Returns base columns for the given index
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Tables">
<summary>
Returns the tables in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Views">
<summary>
Returns user-defined views in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ViewColumns">
<summary>
Returns underlying column information on the given view
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ForeignKeys">
<summary>
Returns foreign key information for the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Triggers">
<summary>
Returns the triggers on the database
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameter">
<summary>
SQLite implementation of DbParameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter.UnknownDbType">
<summary>
This value represents an "unknown" <see cref="P:System.Data.SQLite.SQLiteParameter.DbType"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dbType">
<summary>
The data type of the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._rowVersion">
<summary>
The version information for mapping the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._objValue">
<summary>
The value of the data in the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._sourceColumn">
<summary>
The source column for the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._parameterName">
<summary>
The column name
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dataSize">
<summary>
The data size, unused by SQLite
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.IDbCommand)">
<summary>
Constructor used when creating for use with a specific command.
</summary>
<param name="command">
The command associated with this parameter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String)">
<summary>
Constructs a named parameter given the specified parameter name
</summary>
<param name="parameterName">The parameter name</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Object)">
<summary>
Constructs a named parameter given the specified parameter name and initial value
</summary>
<param name="parameterName">The parameter name</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType)">
<summary>
Constructs a named parameter of the specified type
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String)">
<summary>
Constructs a named parameter of the specified type and source column reference
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, source column and row version
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType)">
<summary>
Constructs an unnamed parameter of the specified data type
</summary>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Object)">
<summary>
Constructs an unnamed parameter of the specified data type and sets the initial value
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String)">
<summary>
Constructs an unnamed parameter of the specified data type and source column
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified data type, source column and row version
</summary>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32)">
<summary>
Constructs a named parameter of the specified type and size
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs a named parameter of the specified type, size and source column
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="isNullable">Ignored</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="value">The initial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object)">
<summary>
Constructs a named parameter, yet another flavor
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="sourceColumnNullMapping">Whether or not this parameter is for comparing NULL's</param>
<param name="value">The intial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32)">
<summary>
Constructs an unnamed parameter of the specified type and size
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs an unnamed parameter of the specified type, size, and source column
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified type, size, source column and row version
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.ResetDbType">
<summary>
Resets the DbType of the parameter so it can be inferred from the value
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.Clone">
<summary>
Clones a parameter
</summary>
<returns>A new, unassociated SQLiteParameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.IsNullable">
<summary>
Whether or not the parameter can contain a null value
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.DbType">
<summary>
Returns the datatype of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Direction">
<summary>
Supports only input parameters
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.ParameterName">
<summary>
Returns the parameter name
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Size">
<summary>
Returns the size of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumn">
<summary>
Gets/sets the source column
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumnNullMapping">
<summary>
Used by DbCommandBuilder to determine the mapping for nullable fields
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceVersion">
<summary>
Gets and sets the row version
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Value">
<summary>
Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameterCollection">
<summary>
SQLite implementation of DbParameterCollection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._command">
<summary>
The underlying command to which this collection belongs
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._parameterList">
<summary>
The internal array of parameters in this collection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._unboundFlag">
<summary>
Determines whether or not all parameters have been bound to their statement(s)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Initializes the collection
</summary>
<param name="cmd">The command to which the collection belongs</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetEnumerator">
<summary>
Retrieves an enumerator for the collection
</summary>
<returns>An enumerator for the underlying array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<param name="sourceColumn">The source column</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Data.SQLite.SQLiteParameter)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameter">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Object)">
<summary>
Adds a parameter to the collection
</summary>
<param name="value">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddWithValue(System.String,System.Object)">
<summary>
Adds a named/unnamed parameter and its value to the parameter collection.
</summary>
<param name="parameterName">Name of the parameter, or null to indicate an unnamed parameter</param>
<param name="value">The initial value of the parameter</param>
<returns>Returns the SQLiteParameter object created during the call.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Data.SQLite.SQLiteParameter[])">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Array)">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Clear">
<summary>
Clears the array and resets the collection
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.String)">
<summary>
Determines if the named parameter exists in the collection
</summary>
<param name="parameterName">The name of the parameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.Object)">
<summary>
Determines if the parameter exists in the collection
</summary>
<param name="value">The SQLiteParameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.CopyTo(System.Array,System.Int32)">
<summary>
Not implemented
</summary>
<param name="array"></param>
<param name="index"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.String)">
<summary>
Retrieve a parameter by name from the collection
</summary>
<param name="parameterName">The name of the parameter to fetch</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.Int32)">
<summary>
Retrieves a parameter by its index in the collection
</summary>
<param name="index">The index of the parameter to retrieve</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.String)">
<summary>
Returns the index of a parameter given its name
</summary>
<param name="parameterName">The name of the parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.Object)">
<summary>
Returns the index of a parameter
</summary>
<param name="value">The parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Insert(System.Int32,System.Object)">
<summary>
Inserts a parameter into the array at the specified location
</summary>
<param name="index">The zero-based index to insert the parameter at</param>
<param name="value">The parameter to insert</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Remove(System.Object)">
<summary>
Removes a parameter from the collection
</summary>
<param name="value">The parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.String)">
<summary>
Removes a parameter from the collection given its name
</summary>
<param name="parameterName">The name of the parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.Int32)">
<summary>
Removes a parameter from the collection given its index
</summary>
<param name="index">The zero-based parameter index to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.String,System.Data.Common.DbParameter)">
<summary>
Re-assign the named parameter to a new parameter object
</summary>
<param name="parameterName">The name of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.Int32,System.Data.Common.DbParameter)">
<summary>
Re-assign a parameter at the specified index
</summary>
<param name="index">The zero-based index of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Unbind">
<summary>
Un-binds all parameters from their statements
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.MapParameters(System.Data.SQLite.SQLiteStatement)">
<summary>
This function attempts to map all parameters in the collection to all statements in a Command.
Since named parameters may span multiple statements, this function makes sure all statements are bound
to the same named parameter. Unnamed parameters are bound in sequence.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsSynchronized">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsFixedSize">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsReadOnly">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.SyncRoot">
<summary>
Returns null
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Count">
<summary>
Returns a count of parameters in the collection
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.String)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="parameterName">Name of the parameter to get/set</param>
<returns>The specified named SQLite parameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.Int32)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="index">The index of the parameter to get/set</param>
<returns>The specified SQLite parameter</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStatement">
<summary>
Represents a single SQL statement in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sql">
<summary>
The underlying SQLite object this statement is bound to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlStatement">
<summary>
The command text of this SQL statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlite_stmt">
<summary>
The actual statement pointer
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._unnamedParameters">
<summary>
An index from which unnamed parameters begin
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramNames">
<summary>
Names of the parameters as SQLite understands them to be
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramValues">
<summary>
Parameters for this statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._command">
<summary>
Command this statement belongs to (if any)
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._flags">
<summary>
The flags associated with the parent connection object.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteStatementHandle,System.String,System.Data.SQLite.SQLiteStatement)">
<summary>
Initializes the statement and attempts to get all information about parameters in the statement
</summary>
<param name="sqlbase">The base SQLite object</param>
<param name="flags">The flags associated with the parent connection object</param>
<param name="stmt">The statement</param>
<param name="strCommand">The command text for this statement</param>
<param name="previous">The previous command in a multi-statement command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.Dispose">
<summary>
Disposes and finalizes the statement
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.TryGetChanges(System.Int32@,System.Boolean@)">
<summary>
If the underlying database connection is open, fetches the number of changed rows
resulting from the most recent query; otherwise, does nothing.
</summary>
<param name="changes">
The number of changes when true is returned.
Undefined if false is returned.
</param>
<param name="readOnly">
The read-only flag when true is returned.
Undefined if false is returned.
</param>
<returns>Non-zero if the number of changed rows was fetched.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.MapParameter(System.String,System.Data.SQLite.SQLiteParameter)">
<summary>
Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to
this statement, and if so, keeps a reference to the parameter so it can be bound later.
</summary>
<param name="s">The parameter name to map</param>
<param name="p">The parameter to assign it</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameters">
<summary>
Bind all parameters, making sure the caller didn't miss any
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameter(System.Int32,System.Data.SQLite.SQLiteParameter)">
<summary>
Perform the bind operation for an individual parameter
</summary>
<param name="index">The index of the parameter to bind</param>
<param name="param">The parameter we're binding</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTransaction">
<summary>
SQLite implementation of DbTransaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteTransaction._cnn">
<summary>
The connection to which this transaction is bound
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.#ctor(System.Data.SQLite.SQLiteConnection,System.Boolean)">
<summary>
Constructs the transaction object, binding it to the supplied connection
</summary>
<param name="connection">The connection to open a transaction on</param>
<param name="deferredLock">TRUE to defer the writelock, or FALSE to lock immediately</param>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Dispose(System.Boolean)">
<summary>
Disposes the transaction. If it is currently active, any changes are rolled back.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Commit">
<summary>
Commits the current transaction.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Rollback">
<summary>
Rolls back the active transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.Connection">
<summary>
Returns the underlying connection to which this transaction applies.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.IsolationLevel">
<summary>
Gets the isolation level of the transaction. SQLite only supports Serializable transactions.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.DllFileExtension">
<summary>
The file extension used for dynamic link libraries.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.ConfigFileExtension">
<summary>
The file extension used for the XML configuration file.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.XmlConfigFileName">
<summary>
This is the name of the XML configuration file specific to the
System.Data.SQLite assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.staticSyncRoot">
<summary>
This lock is used to protect the static _SQLiteNativeModuleFileName,
_SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.processorArchitecturePlatforms">
<summary>
This dictionary stores the mappings between processor architecture
names and platform names. These mappings are now used for two
purposes. First, they are used to determine if the assembly code
base should be used instead of the location, based upon whether one
or more of the named sub-directories exist within the assembly code
base. Second, they are used to assist in loading the appropriate
SQLite interop assembly into the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.#cctor">
<summary>
For now, this method simply calls the Initialize method.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.MonoRuntimeType">
<summary>
This type is only present when running on Mono.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.isMono">
<summary>
Keeps track of whether we are running on Mono. Initially null, it is
set by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method on its first call. Later, it
is returned verbatim by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.IsMono">
<summary>
Determines whether or not this assembly is running on Mono.
</summary>
<returns>
Non-zero if this assembly is running on Mono.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.StringFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
This is a wrapper around the
<see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method.
On Mono, it has to call the method overload without the
<see cref="T:System.IFormatProvider"/> parameter, due to a bug in Mono.
</summary>
<param name="provider">
This is used for culture-specific formatting.
</param>
<param name="format">
The format string.
</param>
<param name="args">
An array the objects to format.
</param>
<returns>
The resulting string.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.Initialize">
<summary>
Attempts to initialize this class by pre-loading the native SQLite
library for the processor architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetXmlConfigFileName">
<summary>
Queries and returns the XML configuration file name for the assembly
containing the managed System.Data.SQLite components.
</summary>
<returns>
The XML configuration file name -OR- null if it cannot be determined
or does not exist.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetSettingValue(System.String,System.String)">
<summary>
Queries and returns the value of the specified setting, using the XML
configuration file and/or the environment variables for the current
process and/or the current system, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<returns>
The value of the setting -OR- the default value specified by
<paramref name="default" /> if it has not been set explicitly or
cannot be determined. By default, all references to existing
environment variables will be expanded to their corresponding values
within the value to be returned unless either the "No_Expand" or
"No_Expand_<paramref name="name" />" environment variable is set [to
anything].
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetAssemblyDirectory">
<summary>
Queries and returns the directory for the assembly currently being
executed.
</summary>
<returns>
The directory for the assembly currently being executed -OR- null if
it cannot be determined.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.PROCESSOR_ARCHITECTURE">
<summary>
The name of the environment variable containing the processor
architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.LoadLibrary(System.String)">
<summary>
This is the P/Invoke method that wraps the native Win32 LoadLibrary
function. See the MSDN documentation for full details on what it
does.
</summary>
<param name="fileName">
The name of the executable library.
</param>
<returns>
The native module handle upon success -OR- IntPtr.Zero on failure.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleFileName">
<summary>
The native module file name for the native SQLite library or null.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleHandle">
<summary>
The native module handle for the native SQLite library or the value
IntPtr.Zero.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.SearchForDirectory(System.String@,System.String@)">
<summary>
Searches for the native SQLite library in the directory containing
the assembly currently being executed as well as the base directory
for the current application domain.
</summary>
<param name="baseDirectory">
Upon success, this parameter will be modified to refer to the base
directory containing the native SQLite library.
</param>
<param name="processorArchitecture">
Upon success, this parameter will be modified to refer to the name
of the immediate directory (i.e. the offset from the base directory)
containing the native SQLite library.
</param>
<returns>
Non-zero (success) if the native SQLite library was found; otherwise,
zero (failure).
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetBaseDirectory">
<summary>
Queries and returns the base directory of the current application
domain.
</summary>
<returns>
The base directory for the current application domain -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.FixUpDllFileName(System.String)">
<summary>
Determines if the dynamic link library file name requires a suffix
and adds it if necessary.
</summary>
<param name="fileName">
The original dynamic link library file name to inspect.
</param>
<returns>
The dynamic link library file name, possibly modified to include an
extension.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetProcessorArchitecture">
<summary>
Queries and returns the processor architecture of the current
process.
</summary>
<returns>
The processor architecture of the current process -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetPlatformName(System.String)">
<summary>
Given the processor architecture, returns the name of the platform.
</summary>
<param name="processorArchitecture">
The processor architecture to be translated to a platform name.
</param>
<returns>
The platform name for the specified processor architecture -OR- null
if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.PreLoadSQLiteDll(System.String,System.String,System.String@,System.IntPtr@)">
<summary>
Attempts to load the native SQLite library based on the specified
directory and processor architecture.
</summary>
<param name="baseDirectory">
The base directory to use, null for default (the base directory of
the current application domain). This directory should contain the
processor architecture specific sub-directories.
</param>
<param name="processorArchitecture">
The requested processor architecture, null for default (the
processor architecture of the current process). This caller should
almost always specify null for this parameter.
</param>
<param name="nativeModuleFileName">
The candidate native module file name to load will be stored here,
if necessary.
</param>
<param name="nativeModuleHandle">
The native module handle as returned by LoadLibrary will be stored
here, if necessary. This value will be IntPtr.Zero if the call to
LoadLibrary fails.
</param>
<returns>
Non-zero if the native module was loaded successfully; otherwise,
zero.
</returns>
</member>
<member name="T:System.Data.SQLite.SR">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.DataTypes">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot;?&gt;
&lt;DocumentElement&gt;
&lt;DataTypes&gt;
&lt;TypeName&gt;smallint&lt;/TypeName&gt;
&lt;ProviderDbType&gt;10&lt;/ProviderDbType&gt;
&lt;ColumnSize&gt;5&lt;/ColumnSize&gt;
&lt;DataType&gt;System.Int16&lt;/DataType&gt;
&lt;CreateFormat&gt;smallint&lt;/CreateFormat&gt;
&lt;IsAutoIncrementable&gt;false&lt;/IsAutoIncrementable&gt;
&lt;IsCaseSensitive&gt;false&lt;/IsCaseSensitive&gt;
&lt;IsFixedLength&gt;true&lt;/IsFixedLength&gt;
&lt;IsFixedPrecisionScale&gt;true&lt;/IsFixedPrecisionScale&gt;
&lt;IsLong&gt;false&lt;/IsLong&gt;
&lt;IsNullable&gt;true&lt;/ [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Keywords">
<summary>
Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.MetaDataCollections">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;DocumentElement&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;MetaDataCollections&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;DataSourceInformation&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataC [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteContext">
<summary>
This class represents a context from the SQLite core library that can
be passed to the sqlite3_result_*() and associated functions.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeHandle">
<summary>
This interface represents a native handle provided by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteNativeHandle.NativeHandle">
<summary>
The native handle value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteContext.pContext">
<summary>
The native context handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
context handle.
</summary>
<param name="pContext">
The native context handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetNull">
<summary>
Sets the context result to NULL.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetDouble(System.Double)">
<summary>
Sets the context result to the specified <see cref="T:System.Double"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Double"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt(System.Int32)">
<summary>
Sets the context result to the specified <see cref="T:System.Int32"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int32"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt64(System.Int64)">
<summary>
Sets the context result to the specified <see cref="T:System.Int64"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int64"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetString(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value.
</summary>
<param name="value">
The <see cref="T:System.String"/> value to use. This value will be
converted to the UTF-8 encoding prior to being used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetError(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value containing an error message.
</summary>
<param name="value">
The <see cref="T:System.String"/> value containing the error message text.
This value will be converted to the UTF-8 encoding prior to being
used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorCode(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorTooBig">
<summary>
Sets the context result to contain the error code SQLITE_TOOBIG.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorNoMemory">
<summary>
Sets the context result to contain the error code SQLITE_NOMEM.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetBlob(System.Byte[])">
<summary>
Sets the context result to the specified <see cref="T:System.Byte"/> array
value.
</summary>
<param name="value">
The <see cref="T:System.Byte"/> array value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetZeroBlob(System.Int32)">
<summary>
Sets the context result to a BLOB of zeros of the specified size.
</summary>
<param name="value">
The number of zero bytes to use for the BLOB context result.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetValue(System.Data.SQLite.SQLiteValue)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteValue"/>.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteValue"/> to use.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteContext.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteValue">
<summary>
This class represents a value from the SQLite core library that can be
passed to the sqlite3_value_*() and associated functions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteValue.pValue">
<summary>
The native value handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
value handle.
</summary>
<param name="pValue">
The native value handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.PreventNativeAccess">
<summary>
Invalidates the native value handle, thereby preventing further
access to it from this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.ArrayFromSizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native pointers to native sqlite3_value
structures into a managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/>
object instances.
</summary>
<param name="argc">
The number of elements in the logical array of native sqlite3_value
structures.
</param>
<param name="argv">
The native pointer to the logical array of native sqlite3_value
structures to convert.
</param>
<returns>
The managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances or
null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetTypeAffinity">
<summary>
Gets and returns the type affinity associated with this value.
</summary>
<returns>
The type affinity associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBytes">
<summary>
Gets and returns the number of bytes associated with this value, if
it refers to a UTF-8 encoded string.
</summary>
<returns>
The number of bytes associated with this value. The returned value
may be zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt">
<summary>
Gets and returns the <see cref="T:System.Int32"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Int32"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt64">
<summary>
Gets and returns the <see cref="T:System.Int64"/> associated with
this value.
</summary>
<returns>
The <see cref="T:System.Int64"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetDouble">
<summary>
Gets and returns the <see cref="T:System.Double"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Double"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetString">
<summary>
Gets and returns the <see cref="T:System.String"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.String"/> associated with this value. The value is
converted from the UTF-8 encoding prior to being returned.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBlob">
<summary>
Gets and returns the <see cref="T:System.Byte"/> array associated with this
value.
</summary>
<returns>
The <see cref="T:System.Byte"/> array associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.Persist">
<summary>
Uses the native value handle to obtain and store the managed value
for this object instance, thus saving it for later use. The type
of the managed value is determined by the type affinity of the
native value. If the type affinity is not recognized by this
method, no work is done and false is returned.
</summary>
<returns>
Non-zero if the native value was persisted successfully.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Persisted">
<summary>
Returns non-zero if the native SQLite value has been successfully
persisted as a managed value within this object instance (i.e. the
<see cref="P:System.Data.SQLite.SQLiteValue.Value"/> property may then be read successfully).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Value">
<summary>
If the managed value for this object instance is available (i.e. it
has been previously persisted via the <see cref="M:System.Data.SQLite.SQLiteValue.Persist"/>) method,
that value is returned; otherwise, an exception is thrown. The
returned value may be null.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintOp">
<summary>
These are the allowed values for the operators that are part of a
constraint term in the WHERE clause of a query that uses a virtual
table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.EqualTo">
<summary>
This value represents the equality operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThan">
<summary>
This value represents the greater than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThanOrEqualTo">
<summary>
This value represents the less than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThan">
<summary>
This value represents the less than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThanOrEqualTo">
<summary>
This value represents the greater than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.Match">
<summary>
This value represents the MATCH operator.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraint">
<summary>
This class represents the native sqlite3_index_constraint structure
from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint structure.
</summary>
<param name="constraint">
The native sqlite3_index_constraint structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Int32,System.Data.SQLite.SQLiteIndexConstraintOp,System.Byte,System.Int32)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column on left-hand side of constraint.
</param>
<param name="op">
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</param>
<param name="usable">
True if this constraint is usable.
</param>
<param name="iTermOffset">
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iColumn">
<summary>
Column on left-hand side of constraint.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.op">
<summary>
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.usable">
<summary>
True if this constraint is usable.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iTermOffset">
<summary>
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOrderBy">
<summary>
This class represents the native sqlite3_index_orderby structure from
the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_orderby)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_orderby structure.
</summary>
<param name="orderBy">
The native sqlite3_index_orderby structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column number.
</param>
<param name="desc">
True for DESC. False for ASC.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.iColumn">
<summary>
Column number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.desc">
<summary>
True for DESC. False for ASC.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintUsage">
<summary>
This class represents the native sqlite3_index_constraint_usage
structure from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor">
<summary>
Constructs a default instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint_usage)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint_usage structure.
</summary>
<param name="constraintUsage">
The native sqlite3_index_constraint_usage structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="argvIndex">
If greater than 0, constraint is part of argv to xFilter.
</param>
<param name="omit">
Do not code a test for this constraint.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.argvIndex">
<summary>
If greater than 0, constraint is part of argv to xFilter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.omit">
<summary>
Do not code a test for this constraint.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexInputs">
<summary>
This class represents the various inputs provided by the SQLite core
library to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexInputs.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.Constraints">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.OrderBys">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOutputs">
<summary>
This class represents the various outputs provided to the SQLite core
library by the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.#ctor(System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> instances
to pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.CanUseEstimatedRows">
<summary>
Determines if the native estimatedRows field can be used, based on
the available version of the SQLite core library.
</summary>
<returns>
Non-zero if the <see cref="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows"/> property is supported
by the SQLite core library.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.ConstraintUsages">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> object
instances, each containing information to be supplied to the SQLite
core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexString">
<summary>
String used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.NeedToFreeIndexString">
<summary>
Non-zero if the index string must be freed by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.OrderByConsumed">
<summary>
True if output is already ordered.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedCost">
<summary>
Estimated cost of using this index. Using a null value here
indicates that a default estimated cost value should be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows">
<summary>
Estimated number of rows returned. Using a null value here
indicates that a default estimated rows value should be used.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndex">
<summary>
This class represents the various inputs and outputs used with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> (and
<see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/>) instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.FromIntPtr(System.IntPtr,System.Data.SQLite.SQLiteIndex@)">
<summary>
Converts a native pointer to a native sqlite3_index_info structure
into a new <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</summary>
<param name="pIndex">
The native pointer to the native sqlite3_index_info structure to
convert.
</param>
<param name="index">
Upon success, this parameter will be modified to contain the newly
created <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.ToIntPtr(System.Data.SQLite.SQLiteIndex,System.IntPtr)">
<summary>
Populates the outputs of a pre-allocated native sqlite3_index_info
structure using an existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object
instance.
</summary>
<param name="index">
The existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing
the output data to use.
</param>
<param name="pIndex">
The native pointer to the pre-allocated native sqlite3_index_info
structure.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Inputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexInputs"/> object instance containing
the inputs to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Outputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexOutputs"/> object instance containing
the outputs from the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTable">
<summary>
This class represents a managed virtual table implementation. It is
not sealed and should be used as the base class for any user-defined
virtual table classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.ModuleNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the module implementing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.DatabaseNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the database containing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.TableNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.#ctor(System.String[])">
<summary>
Constructs an instance of this class.
</summary>
<param name="arguments">
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.BestIndex(System.Data.SQLite.SQLiteIndex)">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method in order to
perform index selection based on the constraints provided by the
SQLite core library.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Rename(System.String)">
<summary>
Attempts to record the renaming of the virtual table associated
with this object instance.
</summary>
<param name="name">
The new name for the virtual table.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTable.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Arguments">
<summary>
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.ModuleName">
<summary>
The name of the module implementing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.DatabaseName">
<summary>
The name of the database containing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.TableName">
<summary>
The name of the virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Index">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to the most recent index
selection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursor">
<summary>
This class represents a managed virtual table cursor implementation.
It is not sealed and should be used as the base class for any
user-defined virtual table cursor classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.InvalidRowIndex">
<summary>
This value represents an invalid integer row sequence number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.rowIndex">
<summary>
The field holds the integer row sequence number for the current row
pointed to by this cursor object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor">
<summary>
Constructs an instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.TryPersistValues(System.Data.SQLite.SQLiteValue[])">
<summary>
Attempts to persist the specified <see cref="T:System.Data.SQLite.SQLiteValue"/> object
instances in order to make them available after the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method returns.
</summary>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances to be
persisted.
</param>
<returns>
The number of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances that were
successfully persisted.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method in order to
perform filtering of the result rows and/or to record the filtering
criteria provided by the SQLite core library.
</summary>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.GetRowIndex">
<summary>
Determines the integer row sequence number for the current row.
</summary>
<returns>
The integer row sequence number for the current row -OR- zero if
it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.NextRowIndex">
<summary>
Adjusts the integer row sequence number so that it refers to the
next row.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Table">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexString">
<summary>
String used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Values">
<summary>
The values used to filter the rows returned via this cursor object
instance. This value will be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeModule">
<summary>
This interface represents a virtual table implementation written in
native code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
This method is called to create a new instance of a virtual table
in response to a CREATE VIRTUAL TABLE statement. The db parameter
is a pointer to the SQLite database connection that is executing
the CREATE VIRTUAL TABLE statement. The pAux argument is the copy
of the client data pointer that was the fourth argument to the
sqlite3_create_module() or sqlite3_create_module_v2() call that
registered the virtual table module. The argv parameter is an
array of argc pointers to null terminated strings. The first
string, argv[0], is the name of the module being invoked. The
module name is the name provided as the second argument to
sqlite3_create_module() and as the argument to the USING clause of
the CREATE VIRTUAL TABLE statement that is running. The second,
argv[1], is the name of the database in which the new virtual table
is being created. The database name is "main" for the primary
database, or "temp" for TEMP database, or the name given at the
end of the ATTACH statement for attached databases. The third
element of the array, argv[2], is the name of the new virtual
table, as specified following the TABLE keyword in the CREATE
VIRTUAL TABLE statement. If present, the fourth and subsequent
strings in the argv[] array report the arguments to the module name
in the CREATE VIRTUAL TABLE statement.
</para>
<para>
The job of this method is to construct the new virtual table object
(an sqlite3_vtab object) and return a pointer to it in *ppVTab.
</para>
<para>
As part of the task of creating a new sqlite3_vtab structure, this
method must invoke sqlite3_declare_vtab() to tell the SQLite core
about the columns and datatypes in the virtual table. The
sqlite3_declare_vtab() API has the following prototype:
</para>
<para>
<code>
int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
</code>
</para>
<para>
The first argument to sqlite3_declare_vtab() must be the same
database connection pointer as the first parameter to this method.
The second argument to sqlite3_declare_vtab() must a
zero-terminated UTF-8 string that contains a well-formed CREATE
TABLE statement that defines the columns in the virtual table and
their data types. The name of the table in this CREATE TABLE
statement is ignored, as are all constraints. Only the column names
and datatypes matter. The CREATE TABLE statement string need not to
be held in persistent memory. The string can be deallocated and/or
reused as soon as the sqlite3_declare_vtab() routine returns.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
The xConnect method is very similar to xCreate. It has the same
parameters and constructs a new sqlite3_vtab structure just like
xCreate. And it must also call sqlite3_declare_vtab() like xCreate.
</para>
<para>
The difference is that xConnect is called to establish a new
connection to an existing virtual table whereas xCreate is called
to create a new virtual table from scratch.
</para>
<para>
The xCreate and xConnect methods are only different when the
virtual table has some kind of backing store that must be
initialized the first time the virtual table is created. The
xCreate method creates and initializes the backing store. The
xConnect method just connects to an existing backing store.
</para>
<para>
As an example, consider a virtual table implementation that
provides read-only access to existing comma-separated-value (CSV)
files on disk. There is no backing store that needs to be created
or initialized for such a virtual table (since the CSV files
already exist on disk) so the xCreate and xConnect methods will be
identical for that module.
</para>
<para>
Another example is a virtual table that implements a full-text
index. The xCreate method must create and initialize data
structures to hold the dictionary and posting lists for that index.
The xConnect method, on the other hand, only has to locate and use
an existing dictionary and posting lists that were created by a
prior xCreate call.
</para>
<para>
The xConnect method must return SQLITE_OK if it is successful in
creating the new virtual table, or SQLITE_ERROR if it is not
successful. If not successful, the sqlite3_vtab structure must not
be allocated. An error message may optionally be returned in *pzErr
if unsuccessful. Space to hold the error message string must be
allocated using an SQLite memory allocation function like
sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
attempt to free the space using sqlite3_free() after the error has
been reported up to the application.
</para>
<para>
The xConnect method is required for every virtual table
implementation, though the xCreate and xConnect pointers of the
sqlite3_module object may point to the same function the virtual
table does not need to initialize backing store.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
<para>
SQLite uses the xBestIndex method of a virtual table module to
determine the best way to access the virtual table. The xBestIndex
method has a prototype like this:
</para>
<code>
int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
</code>
<para>
The SQLite core communicates with the xBestIndex method by filling
in certain fields of the sqlite3_index_info structure and passing a
pointer to that structure into xBestIndex as the second parameter.
The xBestIndex method fills out other fields of this structure
which forms the reply. The sqlite3_index_info structure looks like
this:
</para>
<code>
struct sqlite3_index_info {
/* Inputs */
const int nConstraint; /* Number of entries in aConstraint */
const struct sqlite3_index_constraint {
int iColumn; /* Column on left-hand side of
* constraint */
unsigned char op; /* Constraint operator */
unsigned char usable; /* True if this constraint is usable */
int iTermOffset; /* Used internally - xBestIndex should
* ignore */
} *const aConstraint; /* Table of WHERE clause constraints */
const int nOrderBy; /* Number of terms in the ORDER BY
* clause */
const struct sqlite3_index_orderby {
int iColumn; /* Column number */
unsigned char desc; /* True for DESC. False for ASC. */
} *const aOrderBy; /* The ORDER BY clause */
/* Outputs */
struct sqlite3_index_constraint_usage {
int argvIndex; /* if greater than zero, constraint is
* part of argv to xFilter */
unsigned char omit; /* Do not code a test for this
* constraint */
} *const aConstraintUsage;
int idxNum; /* Number used to identify the index */
char *idxStr; /* String, possibly obtained from
* sqlite3_malloc() */
int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if
* true */
int orderByConsumed; /* True if output is already ordered */
double estimatedCost; /* Estimated cost of using this index */
};
</code>
<para>
In addition, there are some defined constants:
</para>
<code>
#define SQLITE_INDEX_CONSTRAINT_EQ 2
#define SQLITE_INDEX_CONSTRAINT_GT 4
#define SQLITE_INDEX_CONSTRAINT_LE 8
#define SQLITE_INDEX_CONSTRAINT_LT 16
#define SQLITE_INDEX_CONSTRAINT_GE 32
#define SQLITE_INDEX_CONSTRAINT_MATCH 64
</code>
<para>
The SQLite core calls the xBestIndex method when it is compiling a
query that involves a virtual table. In other words, SQLite calls
this method when it is running sqlite3_prepare() or the equivalent.
By calling this method, the SQLite core is saying to the virtual
table that it needs to access some subset of the rows in the
virtual table and it wants to know the most efficient way to do
that access. The xBestIndex method replies with information that
the SQLite core can then use to conduct an efficient search of the
virtual table.
</para>
<para>
While compiling a single SQL query, the SQLite core might call
xBestIndex multiple times with different settings in
sqlite3_index_info. The SQLite core will then select the
combination that appears to give the best performance.
</para>
<para>
Before calling this method, the SQLite core initializes an instance
of the sqlite3_index_info structure with information about the
query that it is currently trying to process. This information
derives mainly from the WHERE clause and ORDER BY or GROUP BY
clauses of the query, but also from any ON or USING clauses if the
query is a join. The information that the SQLite core provides to
the xBestIndex method is held in the part of the structure that is
marked as "Inputs". The "Outputs" section is initialized to zero.
</para>
<para>
The information in the sqlite3_index_info structure is ephemeral
and may be overwritten or deallocated as soon as the xBestIndex
method returns. If the xBestIndex method needs to remember any part
of the sqlite3_index_info structure, it should make a copy. Care
must be take to store the copy in a place where it will be
deallocated, such as in the idxStr field with needToFreeIdxStr set
to 1.
</para>
<para>
Note that xBestIndex will always be called before xFilter, since
the idxNum and idxStr outputs from xBestIndex are required inputs
to xFilter. However, there is no guarantee that xFilter will be
called following a successful xBestIndex.
</para>
<para>
The xBestIndex method is required for every virtual table
implementation.
</para>
<para>
2.3.1 Inputs
</para>
<para>
The main thing that the SQLite core is trying to communicate to the
virtual table is the constraints that are available to limit the
number of rows that need to be searched. The aConstraint[] array
contains one entry for each constraint. There will be exactly
nConstraint entries in that array.
</para>
<para>
Each constraint will correspond to a term in the WHERE clause or in
a USING or ON clause that is of the form
</para>
<code>
column OP EXPR
</code>
<para>
Where "column" is a column in the virtual table, OP is an operator
like "=" or "&lt;", and EXPR is an arbitrary expression. So, for
example, if the WHERE clause contained a term like this:
</para>
<code>
a = 5
</code>
<para>
Then one of the constraints would be on the "a" column with
operator "=" and an expression of "5". Constraints need not have a
literal representation of the WHERE clause. The query optimizer
might make transformations to the WHERE clause in order to extract
as many constraints as it can. So, for example, if the WHERE clause
contained something like this:
</para>
<code>
x BETWEEN 10 AND 100 AND 999&gt;y
</code>
<para>
The query optimizer might translate this into three separate
constraints:
</para>
<code>
x &gt;= 10
x &lt;= 100
y &lt; 999
</code>
<para>
For each constraint, the aConstraint[].iColumn field indicates
which column appears on the left-hand side of the constraint. The
first column of the virtual table is column 0. The rowid of the
virtual table is column -1. The aConstraint[].op field indicates
which operator is used. The SQLITE_INDEX_CONSTRAINT_* constants map
integer constants into operator values. Columns occur in the order
they were defined by the call to sqlite3_declare_vtab() in the
xCreate or xConnect method. Hidden columns are counted when
determining the column index.
</para>
<para>
The aConstraint[] array contains information about all constraints
that apply to the virtual table. But some of the constraints might
not be usable because of the way tables are ordered in a join. The
xBestIndex method must therefore only consider constraints that
have an aConstraint[].usable flag which is true.
</para>
<para>
In addition to WHERE clause constraints, the SQLite core also tells
the xBestIndex method about the ORDER BY clause. (In an aggregate
query, the SQLite core might put in GROUP BY clause information in
place of the ORDER BY clause information, but this fact should not
make any difference to the xBestIndex method.) If all terms of the
ORDER BY clause are columns in the virtual table, then nOrderBy
will be the number of terms in the ORDER BY clause and the
aOrderBy[] array will identify the column for each term in the
order by clause and whether or not that column is ASC or DESC.
</para>
<para>
2.3.2 Outputs
</para>
<para>
Given all of the information above, the job of the xBestIndex
method it to figure out the best way to search the virtual table.
</para>
<para>
The xBestIndex method fills the idxNum and idxStr fields with
information that communicates an indexing strategy to the xFilter
method. The information in idxNum and idxStr is arbitrary as far as
the SQLite core is concerned. The SQLite core just copies the
information through to the xFilter method. Any desired meaning can
be assigned to idxNum and idxStr as long as xBestIndex and xFilter
agree on what that meaning is.
</para>
<para>
The idxStr value may be a string obtained from an SQLite memory
allocation function such as sqlite3_mprintf(). If this is the case,
then the needToFreeIdxStr flag must be set to true so that the
SQLite core will know to call sqlite3_free() on that string when it
has finished with it, and thus avoid a memory leak.
</para>
<para>
If the virtual table will output rows in the order specified by the
ORDER BY clause, then the orderByConsumed flag may be set to true.
If the output is not automatically in the correct order then
orderByConsumed must be left in its default false setting. This
will indicate to the SQLite core that it will need to do a separate
sorting pass over the data after it comes out of the virtual table.
</para>
<para>
The estimatedCost field should be set to the estimated number of
disk access operations required to execute this query against the
virtual table. The SQLite core will often call xBestIndex multiple
times with different constraints, obtain multiple cost estimates,
then choose the query plan that gives the lowest estimate.
</para>
<para>
The aConstraintUsage[] array contains one element for each of the
nConstraint constraints in the inputs section of the
sqlite3_index_info structure. The aConstraintUsage[] array is used
by xBestIndex to tell the core how it is using the constraints.
</para>
<para>
The xBestIndex method may set aConstraintUsage[].argvIndex entries
to values greater than one. Exactly one entry should be set to 1,
another to 2, another to 3, and so forth up to as many or as few as
the xBestIndex method wants. The EXPR of the corresponding
constraints will then be passed in as the argv[] parameters to
xFilter.
</para>
<para>
For example, if the aConstraint[3].argvIndex is set to 1, then when
xFilter is called, the argv[0] passed to xFilter will have the EXPR
value of the aConstraint[3] constraint.
</para>
<para>
By default, the SQLite core double checks all constraints on each
row of the virtual table that it receives. If such a check is
redundant, the xBestFilter method can suppress that double-check by
setting aConstraintUsage[].omit.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pIndex">
The native pointer to the sqlite3_index_info structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table. Only the
sqlite3_vtab object is destroyed. The virtual table is not
destroyed and any backing store associated with the virtual table
persists. This method undoes the work of xConnect.
</para>
<para>
This method is a destructor for a connection to the virtual table.
Contrast this method with xDestroy. The xDestroy is a destructor
for the entire virtual table.
</para>
<para>
The xDisconnect method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table, just like the
xDisconnect method, and it also destroys the underlying table
implementation. This method undoes the work of xCreate.
</para>
<para>
The xDisconnect method is called whenever a database connection
that uses a virtual table is closed. The xDestroy method is only
called when a DROP TABLE statement is executed against the virtual
table.
</para>
<para>
The xDestroy method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
<para>
The xOpen method creates a new cursor used for accessing (read
and/or writing) a virtual table. A successful invocation of this
method will allocate the memory for the sqlite3_vtab_cursor (or a
subclass), initialize the new object, and make *ppCursor point to
the new object. The successful call then returns SQLITE_OK.
</para>
<para>
For every successful call to this method, the SQLite core will
later invoke the xClose method to destroy the allocated cursor.
</para>
<para>
The xOpen method need not initialize the pVtab field of the
sqlite3_vtab_cursor structure. The SQLite core will take care of
that chore automatically.
</para>
<para>
A virtual table implementation must be able to support an arbitrary
number of simultaneously open cursors.
</para>
<para>
When initially opened, the cursor is in an undefined state. The
SQLite core will invoke the xFilter method on the cursor prior to
any attempt to position or read from the cursor.
</para>
<para>
The xOpen method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)">
<summary>
<para>
The xClose method closes a cursor previously opened by xOpen. The
SQLite core will always call xClose once for each cursor opened
using xOpen.
</para>
<para>
This method must release all resources allocated by the
corresponding xOpen call. The routine will not be called again even
if it returns an error. The SQLite core will not use the
sqlite3_vtab_cursor again after it has been closed.
</para>
<para>
The xClose method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
<para>
This method begins a search of a virtual table. The first argument
is a cursor opened by xOpen. The next two argument define a
particular search index previously chosen by xBestIndex. The
specific meanings of idxNum and idxStr are unimportant as long as
xFilter and xBestIndex agree on what that meaning is.
</para>
<para>
The xBestIndex function may have requested the values of certain
expressions using the aConstraintUsage[].argvIndex values of the
sqlite3_index_info structure. Those values are passed to xFilter
using the argc and argv parameters.
</para>
<para>
If the virtual table contains one or more rows that match the
search criteria, then the cursor must be left point at the first
row. Subsequent calls to xEof must return false (zero). If there
are no rows match, then the cursor must be left in a state that
will cause the xEof to return true (non-zero). The SQLite engine
will use the xColumn and xRowid methods to access that row content.
The xNext method will be used to advance to the next row.
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xFilter method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="idxNum">
Number used to help identify the selected index.
</param>
<param name="idxStr">
The native pointer to the UTF-8 encoded string containing the
string used to help identify the selected index.
</param>
<param name="argc">
The number of native pointers to sqlite3_value structures specified
in <paramref name="argv" />.
</param>
<param name="argv">
An array of native pointers to sqlite3_value structures containing
filtering criteria for the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)">
<summary>
<para>
The xNext method advances a virtual table cursor to the next row of
a result set initiated by xFilter. If the cursor is already
pointing at the last row when this routine is called, then the
cursor no longer points to valid data and a subsequent call to the
xEof method must return true (non-zero). If the cursor is
successfully advanced to another row of content, then subsequent
calls to xEof must return false (zero).
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xNext method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)">
<summary>
<para>
The xEof method must return false (zero) if the specified cursor
currently points to a valid row of data, or true (non-zero)
otherwise. This method is called by the SQL engine immediately
after each xFilter and xNext invocation.
</para>
<para>
The xEof method is required for every virtual table implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
<para>
The SQLite core invokes this method in order to find the value for
the N-th column of the current row. N is zero-based so the first
column is numbered 0. The xColumn method may return its result back
to SQLite using one of the following interface:
</para>
<code>
sqlite3_result_blob()
sqlite3_result_double()
sqlite3_result_int()
sqlite3_result_int64()
sqlite3_result_null()
sqlite3_result_text()
sqlite3_result_text16()
sqlite3_result_text16le()
sqlite3_result_text16be()
sqlite3_result_zeroblob()
</code>
<para>
If the xColumn method implementation calls none of the functions
above, then the value of the column defaults to an SQL NULL.
</para>
<para>
To raise an error, the xColumn method should use one of the
result_text() methods to set the error message text, then return an
appropriate error code. The xColumn method must return SQLITE_OK on
success.
</para>
<para>
The xColumn method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="pContext">
The native pointer to the sqlite3_context structure to be used
for returning the specified column value to the SQLite core
library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
<para>
A successful invocation of this method will cause *pRowid to be
filled with the rowid of row that the virtual table cursor pCur is
currently pointing at. This method returns SQLITE_OK on success. It
returns an appropriate error code on failure.
</para>
<para>
The xRowid method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
<para>
All changes to a virtual table are made using the xUpdate method.
This one method can be used to insert, delete, or update.
</para>
<para>
The argc parameter specifies the number of entries in the argv
array. The value of argc will be 1 for a pure delete operation or
N+2 for an insert or replace or update where N is the number of
columns in the table. In the previous sentence, N includes any
hidden columns.
</para>
<para>
Every argv entry will have a non-NULL value in C but may contain
the SQL value NULL. In other words, it is always true that
argv[i]!=0 for i between 0 and argc-1. However, it might be the
case that sqlite3_value_type(argv[i])==SQLITE_NULL.
</para>
<para>
The argv[0] parameter is the rowid of a row in the virtual table
to be deleted. If argv[0] is an SQL NULL, then no deletion occurs.
</para>
<para>
The argv[1] parameter is the rowid of a new row to be inserted into
the virtual table. If argv[1] is an SQL NULL, then the
implementation must choose a rowid for the newly inserted row.
Subsequent argv[] entries contain values of the columns of the
virtual table, in the order that the columns were declared. The
number of columns will match the table declaration that the
xConnect or xCreate method made using the sqlite3_declare_vtab()
call. All hidden columns are included.
</para>
<para>
When doing an insert without a rowid (argc>1, argv[1] is an SQL
NULL), the implementation must set *pRowid to the rowid of the
newly inserted row; this will become the value returned by the
sqlite3_last_insert_rowid() function. Setting this value in all the
other cases is a harmless no-op; the SQLite engine ignores the
*pRowid return value if argc==1 or argv[1] is not an SQL NULL.
</para>
<para>
Each call to xUpdate will fall into one of cases shown below. Note
that references to argv[i] mean the SQL value held within the
argv[i] object, not the argv[i] object itself.
</para>
<code>
argc = 1
</code>
<para>
The single row with rowid equal to argv[0] is deleted. No
insert occurs.
</para>
<code>
argc > 1
argv[0] = NULL
</code>
<para>
A new row is inserted with a rowid argv[1] and column
values in argv[2] and following. If argv[1] is an SQL NULL,
the a new unique rowid is generated automatically.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] = argv[1]
</code>
<para>
The row with rowid argv[0] is updated with new values in
argv[2] and following parameters.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] ? argv[1]
</code>
<para>
The row with rowid argv[0] is updated with rowid argv[1]
and new values in argv[2] and following parameters. This
will occur when an SQL statement updates a rowid, as in
the statement:
</para>
<code>
UPDATE table SET rowid=rowid+1 WHERE ...;
</code>
<para>
The xUpdate method must return SQLITE_OK if and only if it is
successful. If a failure occurs, the xUpdate must return an
appropriate error code. On a failure, the pVTab->zErrMsg element
may optionally be replaced with error message text stored in memory
allocated from SQLite using functions such as sqlite3_mprintf() or
sqlite3_malloc().
</para>
<para>
If the xUpdate method violates some constraint of the virtual table
(including, but not limited to, attempting to store a value of the
wrong datatype, attempting to store a value that is too large or
too small, or attempting to change a read-only value) then the
xUpdate must fail with an appropriate error code.
</para>
<para>
There might be one or more sqlite3_vtab_cursor objects open and in
use on the virtual table instance and perhaps even on the row of
the virtual table when the xUpdate method is invoked. The
implementation of xUpdate must be prepared for attempts to delete
or modify rows of the table out from other existing cursors. If the
virtual table cannot accommodate such changes, the xUpdate method
must return an error code.
</para>
<para>
The xUpdate method is optional. If the xUpdate pointer in the
sqlite3_module for a virtual table is a NULL pointer, then the
virtual table is read-only.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="argc">
The number of new or modified column values contained in
<paramref name="argv" />.
</param>
<param name="argv">
The array of native pointers to sqlite3_value structures containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
<para>
This method begins a transaction on a virtual table. This is method
is optional. The xBegin pointer of sqlite3_module may be NULL.
</para>
<para>
This method is always followed by one call to either the xCommit or
xRollback method. Virtual table transactions do not nest, so the
xBegin method will not be invoked more than once on a single
virtual table without an intervening call to either xCommit or
xRollback. Multiple calls to other methods can and likely will
occur in between the xBegin and the corresponding xCommit or
xRollback.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)">
<summary>
<para>
This method signals the start of a two-phase commit on a virtual
table. This is method is optional. The xSync pointer of
sqlite3_module may be NULL.
</para>
<para>
This method is only invoked after call to the xBegin method and
prior to an xCommit or xRollback. In order to implement two-phase
commit, the xSync method on all virtual tables is invoked prior to
invoking the xCommit method on any virtual table. If any of the
xSync methods fail, the entire transaction is rolled back.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to commit. This is
method is optional. The xCommit pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin and
xSync.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to rollback. This is
method is optional. The xRollback pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="nArg">
The number of arguments to the function being sought.
</param>
<param name="zName">
The name of the function being sought.
</param>
<param name="callback">
Upon success, this parameter must be modified to contain the
delegate responsible for implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="callback" />.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="zNew">
The native pointer to the UTF-8 encoded string containing the new
name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="T:System.Data.SQLite.ISQLiteManagedModule">
<summary>
This interface represents a virtual table implementation written in
managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMemory">
<summary>
This class contains static methods that are used to allocate,
manipulate, and free native memory provided by the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)">
<summary>
Allocates at least the specified number of bytes of native memory
via the SQLite core library sqlite3_malloc() function and returns
the resulting native pointer.
</summary>
<param name="size">
The number of bytes to allocate.
</param>
<returns>
The native pointer that points to a block of memory of at least the
specified size -OR- <see cref="F:System.IntPtr.Zero"/> if the memory could
not be allocated.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Size(System.IntPtr)">
<summary>
Gets and returns the actual size of the specified memory block that
was previously obtained from the <see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
<returns>
The actual size, in bytes, of the memory block specified via the
native pointer.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Free(System.IntPtr)">
<summary>
Frees a memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteString">
<summary>
This class contains static methods that are used to deal with native
UTF-8 string pointers to be used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.ThirtyBits">
<summary>
This is the maximum possible length for the native UTF-8 encoded
strings used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.Utf8Encoding">
<summary>
This is the <see cref="T:System.Text.Encoding"/> object instance used to handle
conversions from/to UTF-8.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetUtf8BytesFromString(System.String)">
<summary>
Converts the specified managed string into the UTF-8 encoding and
returns the array of bytes containing its representation in that
encoding.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The array of bytes containing the representation of the managed
string in the UTF-8 encoding or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetStringFromUtf8Bytes(System.Byte[])">
<summary>
Converts the specified array of bytes representing a string in the
UTF-8 encoding and returns a managed string.
</summary>
<param name="bytes">
The array of bytes to convert.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.ProbeForUtf8ByteLength(System.IntPtr,System.Int32)">
<summary>
Probes a native pointer to a string in the UTF-8 encoding for its
terminating NUL character, within the specified length limit.
</summary>
<param name="pValue">
The native NUL-terminated string pointer.
</param>
<param name="limit">
The maximum length of the native string, in bytes.
</param>
<returns>
The length of the native string, in bytes -OR- zero if the length
could not be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr)">
<summary>
Converts the specified native NUL-terminated UTF-8 string pointer
into a managed string.
</summary>
<param name="pValue">
The native NUL-terminated UTF-8 string pointer.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr,System.Int32)">
<summary>
Converts the specified native UTF-8 string pointer of the specified
length into a managed string.
</summary>
<param name="pValue">
The native UTF-8 string pointer.
</param>
<param name="length">
The length of the native string, in bytes.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrFromString(System.String)">
<summary>
Converts the specified managed string into a native NUL-terminated
UTF-8 string pointer using memory obtained from the SQLite core
library.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The native NUL-terminated UTF-8 string pointer or
<see cref="F:System.IntPtr.Zero"/> upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringArrayFromUtf8SizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native NUL-terminated UTF-8 string
pointers into an array of managed strings.
</summary>
<param name="argc">
The number of elements in the logical array of native
NUL-terminated UTF-8 string pointers.
</param>
<param name="argv">
The native pointer to the logical array of native NUL-terminated
UTF-8 string pointers to convert.
</param>
<returns>
The array of managed strings or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrArrayFromStringArray(System.String[])">
<summary>
Converts an array of managed strings into an array of native
NUL-terminated UTF-8 string pointers.
</summary>
<param name="values">
The array of managed strings to convert.
</param>
<returns>
The array of native NUL-terminated UTF-8 string pointers or null
upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBytes">
<summary>
This class contains static methods that are used to deal with native
pointers to memory blocks that logically contain arrays of bytes to be
used with the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.FromIntPtr(System.IntPtr,System.Int32)">
<summary>
Converts a native pointer to a logical array of bytes of the
specified length into a managed byte array.
</summary>
<param name="pValue">
The native pointer to the logical array of bytes to convert.
</param>
<param name="length">
The length, in bytes, of the logical array of bytes to convert.
</param>
<returns>
The managed byte array or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.ToIntPtr(System.Byte[])">
<summary>
Converts a managed byte array into a native pointer to a logical
array of bytes.
</summary>
<param name="value">
The managed byte array to convert.
</param>
<returns>
The native pointer to a logical byte array or null upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteMarshal">
<summary>
This class contains static methods that are used to perform several
low-level data marshalling tasks between native and managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.IntPtrForOffset(System.IntPtr,System.Int32)">
<summary>
Returns a new <see cref="T:System.IntPtr"/> object instance based on the
specified <see cref="T:System.IntPtr"/> object instance and an integer
offset.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location that the new
<see cref="T:System.IntPtr"/> object instance should point to.
</param>
<returns>
The new <see cref="T:System.IntPtr"/> object instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.RoundUp(System.Int32,System.Int32)">
<summary>
Rounds up an integer size to the next multiple of the alignment.
</summary>
<param name="size">
The size, in bytes, to be rounded up.
</param>
<param name="alignment">
The required alignment for the return value.
</param>
<returns>
The size, in bytes, rounded up to the next multiple of the
alignment. This value may end up being the same as the original
size.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.NextOffsetOf(System.Int32,System.Int32,System.Int32)">
<summary>
Determines the offset, in bytes, of the next structure member.
</summary>
<param name="offset">
The offset, in bytes, of the current structure member.
</param>
<param name="size">
The size, in bytes, of the current structure member.
</param>
<param name="alignment">
The alignment, in bytes, of the next structure member.
</param>
<returns>
The offset, in bytes, of the next structure member.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadInt32(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Int32"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.Int32"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadDouble(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Double"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> to be read is located.
</param>
<returns>
The <see cref="T:System.Double"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadIntPtr(System.IntPtr,System.Int32)">
<summary>
Reads an <see cref="T:System.IntPtr"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.IntPtr"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt32(System.IntPtr,System.Int32,System.Int32)">
<summary>
Writes an <see cref="T:System.Int32"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int32"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt64(System.IntPtr,System.Int32,System.Int64)">
<summary>
Writes an <see cref="T:System.Int64"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int64"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int64"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteDouble(System.IntPtr,System.Int32,System.Double)">
<summary>
Writes a <see cref="T:System.Double"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Double"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteIntPtr(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Writes a <see cref="T:System.IntPtr"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.IntPtr"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.GetHashCode(System.Object,System.Boolean)">
<summary>
Generates a hash code value for the object.
</summary>
<param name="value">
The object instance used to calculate the hash code.
</param>
<param name="identity">
Non-zero if different object instances with the same value should
generate different hash codes, where applicable. This parameter
has no effect on the .NET Compact Framework.
</param>
<returns>
The hash code value -OR- zero if the object is null.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteModule">
<summary>
This class represents a managed virtual table module implementation.
It is not sealed and must be used as the base class for any
user-defined virtual table module classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.DefaultModuleVersion">
<summary>
The default version of the native sqlite3_module structure in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.nativeModule">
<summary>
This field is used to store the native sqlite3_module structure
associated with this object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.destroyModule">
<summary>
This field is used to store the destructor delegate to be passed to
the SQLite core library via the sqlite3_create_disposable_module()
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.disposableModule">
<summary>
This field is used to store a pointer to the native sqlite3_module
structure returned by the sqlite3_create_disposable_module
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.tables">
<summary>
This field is used to store the virtual table instances associated
with this module. The native pointer to the sqlite3_vtab derived
structure is used to key into this collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.cursors">
<summary>
This field is used to store the virtual table cursor instances
associated with this module. The native pointer to the
sqlite3_vtab_cursor derived structure is used to key into this
collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.functions">
<summary>
This field is used to store the virtual table function instances
associated with this module. The case-insensitive function name
and the number of arguments (with -1 meaning "any") are used to
construct the string that is used to key into this collection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateDisposableModule(System.IntPtr)">
<summary>
Calls the native SQLite core library in order to create a new
disposable module containing the implementation of a virtual table.
</summary>
<param name="pDb">
The native database connection pointer to use.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroyModule(System.IntPtr)">
<summary>
This method is called by the SQLite core library when the native
module associated with this object instance is being destroyed due
to its parent connection being closed. It may also be called by
the "vtshim" module if/when the sqlite3_dispose_module() function
is called.
</summary>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule">
<summary>
Creates and returns the native sqlite_module structure using the
configured (or default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation.
</summary>
<returns>
The native sqlite_module structure using the configured (or
default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule(System.Data.SQLite.ISQLiteNativeModule)">
<summary>
Creates and returns the native sqlite_module structure using the
specified <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
use.
</param>
<returns>
The native sqlite_module structure using the specified
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CopyNativeModule(System.Data.SQLite.UnsafeNativeMethods.sqlite3_module)">
<summary>
Creates a copy of the specified
<see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object instance,
using default implementations for the contained delegates when
necessary.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance to copy.
</param>
<returns>
The new <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
Calls one of the virtual table initialization methods.
</summary>
<param name="create">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method will be called.
</param>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DestroyOrDisconnect(System.Boolean,System.IntPtr)">
<summary>
Calls one of the virtual table finalization methods.
</summary>
<param name="destroy">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/>
method; otherwise, the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method will be
called.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTable,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
used to get the native pointer to the sqlite3_vtab derived
structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTableCursor,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetNativeModuleImpl">
<summary>
Gets and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation to be used when creating the native sqlite3_module
structure. Derived classes may override this method to supply an
alternate implementation for the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
be used when populating the native sqlite3_module structure. If
the returned value is null, the private methods provided by the
<see cref="T:System.Data.SQLite.SQLiteModule"/> class and relating to the
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface will be used to
create the necessary delegates.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateNativeModuleImpl">
<summary>
Creates and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation corresponding to the current
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation
corresponding to the current <see cref="T:System.Data.SQLite.SQLiteModule"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateTable">
<summary>
Allocates a native sqlite3_vtab derived structure and returns a
native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.ZeroTable(System.IntPtr)">
<summary>
Zeros out the fields of a native sqlite3_vtab derived structure.
</summary>
<param name="pVtab">
The native pointer to the native sqlite3_vtab derived structure to
zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeTable(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab structure using the provided native
pointer to it.
</summary>
<param name="pVtab">
A native pointer to a native sqlite3_vtab derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateCursor">
<summary>
Allocates a native sqlite3_vtab_cursor derived structure and
returns a native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab_cursor derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeCursor(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab_cursor structure using the provided
native pointer to it.
</summary>
<param name="pCursor">
A native pointer to a native sqlite3_vtab_cursor derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.Data.SQLite.SQLiteModule,System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromIntPtr(System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object
instance based on the native pointer to the sqlite3_vtab derived
structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance or null if
the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableToIntPtr(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab derived
structure and creates an association between it and the specified
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance to be used
when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorFromIntPtr(System.IntPtr,System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/>
object instance based on the native pointer to the
sqlite3_vtab_cursor derived structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance or null
if the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorToIntPtr(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab_cursor
derived structure and creates an association between it and the
specified <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance to be
used when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab_cursor derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetFunctionKey(System.Int32,System.String,System.Data.SQLite.SQLiteFunction)">
<summary>
Deterimines the key that should be used to identify and store the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance for the virtual table
(i.e. to be returned via the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method).
</summary>
<param name="argumentCount">
The number of arguments to the virtual table function.
</param>
<param name="name">
The name of the virtual table function.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance associated with
this virtual table function.
</param>
<returns>
The string that should be used to identify and store the virtual
table function instance. This method cannot return null. If null
is returned from this method, the behavior is undefined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareTable(System.Data.SQLite.SQLiteConnection,System.String,System.String@)">
<summary>
Attempts to declare the schema for the virtual table using the
specified database connection.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table. This parameter may not
be null.
</param>
<param name="sql">
The string containing the CREATE TABLE statement that completely
describes the schema for the virtual table. This parameter may not
be null.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareFunction(System.Data.SQLite.SQLiteConnection,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual
table function in response to a call into the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table
methods.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon
failure, it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteVirtualTableCursor,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Double})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedCost">
The estimated cost value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Int64})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedRows">
The estimated rows value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrorsNoThrow">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptionsNoThrow">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method,
and the <see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrors">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptions">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method, and the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModule.SQLiteNativeModule">
<summary>
This class implements the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface by forwarding those method calls to the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance it contains. If the
contained <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is null, all
the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> methods simply generate an
error.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogErrors">
<summary>
This is the value that is always used for the "logErrors"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogExceptions">
<summary>
This is the value that is always used for the "logExceptions"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableErrorMessage">
<summary>
This is the error message text used when the contained
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is not available
for any reason.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.module">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.#ctor(System.Data.SQLite.SQLiteModule)">
<summary>
Constructs an instance of this class.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableTableError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableCursorError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived
structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleCommon">
<summary>
This class contains some virtual methods that may be useful for other
virtual table classes. It specifically does NOT implement any of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleNoop">
<summary>
This class implements a virtual table module that does nothing by
providing "empty" implementations for all of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods. The result
codes returned by these "empty" method implementations may be
controlled on a per-method basis by using and/or overriding the
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)"/>, and
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)"/> methods from within derived classes.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleNoop.resultCodes">
<summary>
This field is used to store the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
values to return, on a per-method basis, for all methods that are
part of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode">
<summary>
Determines the default <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to be
returned by methods of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface that lack an overridden implementation in all classes
derived from the <see cref="T:System.Data.SQLite.SQLiteModuleNoop"/> class.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by all <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods unless
a more specific result code has been set for that interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)">
<summary>
Determines the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation. If no
specific <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value is available (or set)
for the specified method, the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value
returned by the <see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/> method will be
returned instead.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="argumentCount">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="name">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="function">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.declareSql">
<summary>
The CREATE TABLE statement used to declare the schema for the
virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetSqlForDeclareTable">
<summary>
Determines the SQL statement used to declare the virtual table.
This method should be overridden in derived classes if they require
a custom virtual table schema.
</summary>
<returns>
The SQL statement used to declare the virtual table -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CursorTypeMismatchError(System.Data.SQLite.SQLiteVirtualTableCursor,System.Type)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor is of the wrong type.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<param name="type">
The <see cref="T:System.Type"/> that the virtual table cursor should be.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetStringFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the string to return as the column value for the object
instance value.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a string representation for.
</param>
<returns>
The string representation of the specified object instance or null
upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.MakeRowId(System.Int32,System.Int32)">
<summary>
Constructs an <see cref="T:System.Int64"/> unique row identifier from two
<see cref="T:System.Int32"/> values. The first <see cref="T:System.Int32"/> value
must contain the row sequence number for the current row and the
second value must contain the hash code of the key column value
for the current row.
</summary>
<param name="rowIndex">
The integer row sequence number for the current row.
</param>
<param name="hashCode">
The hash code of the key column value for the current row.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetRowIdFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the unique row identifier for the current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a unique row identifier for.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.enumerator">
<summary>
The <see cref="T:System.Collections.IEnumerator"/> instance provided when this cursor
was created.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.endOfEnumerator">
<summary>
This value will be non-zero if false has been returned from the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.IEnumerator)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.IEnumerator"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.MoveNext">
<summary>
Advances to the next row of the virtual table cursor using the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
<returns>
Non-zero if the current row is valid; zero otherwise. If zero is
returned, no further rows are available.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Reset">
<summary>
Resets the virtual table cursor position, also invalidating the
current row, using the <see cref="M:System.Collections.IEnumerator.Reset"/> method of
the <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckClosed">
<summary>
Throws an <see cref="T:System.InvalidOperationException"/> if the virtual
table cursor has been closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.IEnumerator.Current"/> property of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.EndOfEnumerator">
<summary>
Returns non-zero if the end of the virtual table cursor has been
seen (i.e. no more rows are available, including the current one).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.IsOpen">
<summary>
Returns non-zero if the virtual table cursor is open.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleEnumerable">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.IEnumerable"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.IEnumerable"/> object instance. The following short
example shows it being used to treat an array of strings as a table
data source:
<code>
public static class Sample
{
public static void Main()
{
using (SQLiteConnection connection = new SQLiteConnection(
"Data Source=:memory:;"))
{
connection.Open();
connection.CreateModule(new SQLiteModuleEnumerable(
"sampleModule", new string[] { "one", "two", "three" }));
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText =
"CREATE VIRTUAL TABLE t1 USING sampleModule;";
command.ExecuteNonQuery();
}
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT * FROM t1;";
using (SQLiteDataReader dataReader = command.ExecuteReader())
{
while (dataReader.Read())
Console.WriteLine(dataReader[0].ToString());
}
}
connection.Close();
}
}
}
</code>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.enumerable">
<summary>
The <see cref="T:System.Collections.IEnumerable"/> instance containing the backing data
for the virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CursorEndOfEnumeratorError(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor has no current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.enumerator">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance provided when this
cursor was created.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.Generic.IEnumerator{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.System#Collections#Generic#IEnumerator{T}#Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property of the
<see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.enumerable">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance containing the backing
data for the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.#ctor(System.String,System.Collections.Generic.IEnumerable{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Windows/NET4/x64/System.Data.SQLite.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/NET4/x64/System.Data.SQLite.xml
0,0 → 1,14948
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.AssemblySourceIdAttribute">
<summary>
Defines a source code identifier custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceIdAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code identifier value.
</summary>
<param name="value">
The source code identifier value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceIdAttribute.SourceId">
<summary>
Gets the source code identifier value.
</summary>
</member>
<member name="T:System.Data.SQLite.AssemblySourceTimeStampAttribute">
<summary>
Defines a source code time-stamp custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceTimeStampAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code time-stamp value.
</summary>
<param name="value">
The source code time-stamp value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceTimeStampAttribute.SourceTimeStamp">
<summary>
Gets the source code time-stamp value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteLogCallback">
<summary>
This is the method signature for the SQLite core library logging callback
function for use with sqlite3_log() and the SQLITE_CONFIG_LOG.
WARNING: This delegate is used more-or-less directly by native code, do
not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="T:System.Data.SQLite.SQLite3">
<summary>
This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteBase">
<summary>
This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement
a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConvert">
<summary>
This base class provides datatype conversion services for the SQLite provider.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultDbType">
<summary>
The fallback default database type when one cannot be obtained from an
existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FullFormat">
<summary>
The format string for DateTime values when using the InvariantCulture or CurrentCulture formats.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultTypeName">
<summary>
The fallback default database type name when one cannot be obtained from
an existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.UnixEpoch">
<summary>
The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.OleAutomationEpochAsJulianDay">
<summary>
The value of the OLE Automation epoch represented as a Julian day. This
field cannot be removed as the test suite relies upon it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MinimumJd">
<summary>
This is the minimum Julian Day value supported by this library
(148731163200000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MaximumJd">
<summary>
This is the maximum Julian Day value supported by this library
(464269060799000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormats">
<summary>
An array of ISO-8601 DateTime formats that we support parsing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatUtc">
<summary>
The internal default format for UTC DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatLocal">
<summary>
The internal default format for local DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._utf8">
<summary>
An UTF-8 Encoding instance, so we can convert strings to and from UTF-8
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormat">
<summary>
The default DateTime format for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeKind">
<summary>
The default DateTimeKind for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatString">
<summary>
The default DateTime format string for this instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Initializes the conversion class
</summary>
<param name="fmt">The default date/time format to use for this instance</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="fmtString">The DateTime format string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.String)">
<summary>
Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character.
</summary>
<param name="sourceText">The string to convert to UTF-8</param>
<returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.DateTime)">
<summary>
Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
</summary>
<remarks>
This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the
string result.
</remarks>
<param name="dateTimeValue">The DateTime to convert.</param>
<returns>The UTF-8 encoded string, including a 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.UTF8ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.isValidJd(System.Int64)">
<summary>
Checks if the specified <see cref="T:System.Int64"/> is within the
supported range for a Julian Day value.
</summary>
<param name="jd">
The Julian Day value to check.
</param>
<returns>
Non-zero if the specified Julian Day value is in the supported
range; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DoubleToJd(System.Double)">
<summary>
Converts a Julian Day value from a <see cref="T:System.Double"/> to an
<see cref="T:System.Int64"/>.
</summary>
<param name="julianDay">
The Julian Day <see cref="T:System.Double"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Int64"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.JdToDouble(System.Int64)">
<summary>
Converts a Julian Day value from an <see cref="T:System.Int64"/> to a
<see cref="T:System.Double"/>.
</summary>
<param name="jd">
The Julian Day <see cref="T:System.Int64"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Double"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeYMD(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeYMD" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day is out of the supported range. If this value is null,
an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the year, month, and
day values that are closest to the specified Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeHMS(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeHMS" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day value is out of the supported range. If this value is
null, an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the hour, minute, and
second, and millisecond values that are closest to the specified
Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeJD(System.DateTime)">
<summary>
Converts a <see cref="T:System.DateTime"/> to a Julian Day value.
This method was translated from the "computeJD" function in
the "date.c" file belonging to the SQLite core library.
Since the range of Julian Day values supported by this method
includes all possible (valid) values of a <see cref="T:System.DateTime"/>
value, it should be extremely difficult for this method to
raise an exception or return an undefined result.
</summary>
<param name="dateTime">
The <see cref="T:System.DateTime"/> value to convert. This value
will be within the range of <see cref="F:System.DateTime.MinValue"/>
(00:00:00.0000000, January 1, 0001) to
<see cref="F:System.DateTime.MaxValue"/> (23:59:59.9999999, December
31, 9999).
</param>
<returns>
The nearest Julian Day value corresponding to the specified
<see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the specified DateTimeFormat,
DateTimeKind and DateTimeFormatString.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double,System.DateTimeKind)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<param name="kind">The DateTimeKind to use.</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int32,System.DateTimeKind)">
<summary>
Converts the specified number of seconds from the Unix epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="seconds">
The number of whole seconds since the Unix epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int64,System.DateTimeKind)">
<summary>
Converts the specified number of ticks since the epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="ticks">
The number of whole ticks since the epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToJulianDay(System.DateTime)">
<summary>
Converts a DateTime struct to a JulianDay double
</summary>
<param name="value">The DateTime to convert</param>
<returns>The JulianDay value the Datetime represents</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUnixEpoch(System.DateTime)">
<summary>
Converts a DateTime struct to the whole number of seconds since the
Unix epoch.
</summary>
<param name="value">The DateTime to convert</param>
<returns>The whole number of seconds since the Unix epoch</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDateTimeKindFormat(System.DateTimeKind,System.String)">
<summary>
Returns the DateTime format string to use for the specified DateTimeKind.
If <paramref name="formatString" /> is not null, it will be returned verbatim.
</summary>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>
The DateTime format string to use for the specified DateTimeKind.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.IntPtr,System.Int32)">
<summary>
Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime.
</summary>
<remarks>
This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls
ToDateTime() on the string to return a DateTime.
</remarks>
<param name="ptr">A pointer to the UTF-8 encoded string</param>
<param name="len">The length in bytes of the string</param>
<returns>The parsed DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.Split(System.String,System.Char)">
<summary>
Smart method of splitting a string. Skips quoted elements, removes the quotes.
</summary>
<remarks>
This split function works somewhat like the String.Split() function in that it breaks apart a string into
pieces and returns the pieces as an array. The primary differences are:
<list type="bullet">
<item><description>Only one character can be provided as a separator character</description></item>
<item><description>Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed.</description></item>
</list>
Thus, if splitting the following string looking for a comma:<br/>
One,Two, "Three, Four", Five<br/>
<br/>
The resulting array would contain<br/>
[0] One<br/>
[1] Two<br/>
[2] Three, Four<br/>
[3] Five<br/>
<br/>
Note that the leading and trailing spaces were removed from each item during the split.
</remarks>
<param name="source">Source string to split apart</param>
<param name="separator">Separator character</param>
<returns>A string array of the split up elements</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.NewSplit(System.String,System.Char,System.Boolean,System.String@)">
<summary>
Splits the specified string into multiple strings based on a separator
and returns the result as an array of strings.
</summary>
<param name="value">
The string to split into pieces based on the separator character. If
this string is null, null will always be returned. If this string is
empty, an array of zero strings will always be returned.
</param>
<param name="separator">
The character used to divide the original string into sub-strings.
This character cannot be a backslash or a double-quote; otherwise, no
work will be performed and null will be returned.
</param>
<param name="keepQuote">
If this parameter is non-zero, all double-quote characters will be
retained in the returned list of strings; otherwise, they will be
dropped.
</param>
<param name="error">
Upon failure, this parameter will be modified to contain an appropriate
error message.
</param>
<returns>
The new array of strings or null if the input string is null -OR- the
separator character is a backslash or a double-quote -OR- the string
contains an unbalanced backslash or double-quote character.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToStringWithProvider(System.Object,System.IFormatProvider)">
<summary>
Queries and returns the string representation for an object, using the
specified (or current) format provider.
</summary>
<param name="obj">
The object instance to return the string representation for.
</param>
<param name="provider">
The format provider to use -OR- null if the current format provider for
the thread should be used instead.
</param>
<returns>
The string representation for the object instance -OR- null if the
object instance is also null.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object,System.IFormatProvider,System.Boolean)">
<summary>
Attempts to convert an arbitrary object to the Boolean data type.
Null object values are converted to false. Throws an exception
upon failure.
</summary>
<param name="obj">
The object value to convert.
</param>
<param name="provider">
The format provider to use.
</param>
<param name="viaFramework">
If non-zero, a string value will be converted using the
<see cref="M:System.Convert.ToBoolean(System.Object,System.IFormatProvider)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)"/>
method will be used.
</param>
<returns>
The converted boolean value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object)">
<summary>
Convert a value to true or false.
</summary>
<param name="source">A string or number representing true or false</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)">
<summary>
Convert a string to true or false.
</summary>
<param name="source">A string representing true or false</param>
<returns></returns>
<remarks>
"yes", "no", "y", "n", "0", "1", "on", "off" as well as Boolean.FalseString and Boolean.TrueString will all be
converted to a proper boolean value.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SQLiteTypeToType(System.Data.SQLite.SQLiteType)">
<summary>
Converts a SQLiteType to a .NET Type object
</summary>
<param name="t">The SQLiteType to convert</param>
<returns>Returns a .NET Type object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToDbType(System.Type)">
<summary>
For a given intrinsic type, return a DbType
</summary>
<param name="typ">The native type to convert</param>
<returns>The corresponding (closest match) DbType</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToColumnSize(System.Data.DbType)">
<summary>
Returns the ColumnSize for the given DbType
</summary>
<param name="typ">The DbType to get the size of</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultTypeName(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default database type name to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default database type name to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultTypeNameWarning(System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags,System.String)">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database type name.
</summary>
<param name="dbType">
The database value type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="typeName">
The textual name of the database type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultDbTypeWarning(System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Nullable{System.Data.DbType})">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database value type.
</summary>
<param name="typeName">
The textual name of the database type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="dbType">
The database value type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToTypeName(System.Data.SQLite.SQLiteConnection,System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given database value type, return the "closest-match" textual database type name.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="dbType">The database value type.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The type name or an empty string if it cannot be determined.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToType(System.Data.DbType)">
<summary>
Convert a DbType to a Type
</summary>
<param name="typ">The DbType to convert from</param>
<returns>The closest-match .NET type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToAffinity(System.Type)">
<summary>
For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types.
</summary>
<param name="typ">The type to evaluate</param>
<returns>The SQLite type affinity for that type.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetSQLiteDbTypeMap">
<summary>
Builds and returns a map containing the database column types
recognized by this provider.
</summary>
<returns>
A map containing the database column types recognized by this
provider.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.IsStringDbType(System.Data.DbType)">
<summary>
Determines if a database type is considered to be a string.
</summary>
<param name="type">
The database type to check.
</param>
<returns>
Non-zero if the database type is considered to be a string, zero
otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SettingValueToString(System.Object)">
<summary>
Determines and returns the runtime configuration setting string that
should be used in place of the specified object value.
</summary>
<param name="value">
The object value to convert to a string.
</param>
<returns>
Either the string to use in place of the object value -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultDbType(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default <see cref="T:System.Data.DbType"/> value to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default <see cref="T:System.Data.DbType"/> value to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeNull(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DBNull"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DBNull"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeInt64(System.String)">
<summary>
Determines if the specified textual value appears to be an
<see cref="T:System.Int64"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like an <see cref="T:System.Int64"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDouble(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.Double"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.Double"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDateTime(System.Data.SQLite.SQLiteConvert,System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="convert">
The <see cref="T:System.Data.SQLite.SQLiteConvert"/> object instance configured with
the chosen <see cref="T:System.DateTime"/> format.
</param>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DateTime"/> in the
configured format, zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeNameToDbType(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given textual database type name, return the "closest-match" database type.
This method is called during query result processing; therefore, its performance
is critical.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="typeName">The textual name of the database type to match.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The .NET DBType the text evaluates to.</returns>
</member>
<member name="F:System.Data.SQLite.SQLiteBase.COR_E_EXCEPTION">
<summary>
The error code used for logging exceptions caught in user-provided
code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different config options.
We depend on auto initialization to recover.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if a database connection is open.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteOpenFlagsEnum,System.Int32,System.Boolean)">
<summary>
Opens a database.
</summary>
<remarks>
Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
to bind all attributed user-defined functions and collating sequences to the new connection.
</remarks>
<param name="strFilename">The filename of the database to open. SQLite automatically creates it if it doesn't exist.</param>
<param name="vfsName">The name of the VFS to use -OR- null to use the default VFS.</param>
<param name="connectionFlags">The flags associated with the parent connection object</param>
<param name="openFlags">The open flags to use when creating the connection</param>
<param name="maxPoolSize">The maximum size of the pool for the given filename</param>
<param name="usePool">If true, the connection can be pulled from the connection pool</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Close(System.Boolean)">
<summary>
Closes the currently-open database.
</summary>
<remarks>
After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
memory associated with the user-defined functions and collating sequences tied to the closed connection.
</remarks>
<param name="canThrow">Non-zero if the operation is allowed to throw exceptions, zero otherwise.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetTimeout(System.Int32)">
<summary>
Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command.
</summary>
<param name="nTimeoutMS">The number of milliseconds to wait before returning SQLITE_BUSY</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError">
<summary>
Returns the text of the last error issued by SQLite
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError(System.String)">
<summary>
Returns the text of the last error issued by SQLite -OR- the specified default error text if
none is available from the SQLite core library.
</summary>
<param name="defValue">
The error text to return in the event that one is not available from the SQLite core library.
</param>
<returns>
The error text.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ClearPool">
<summary>
When pooling is enabled, force this connection to be disposed rather than returned to the pool
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CountPool">
<summary>
When pooling is enabled, returns the number of pool entries matching the current file name.
</summary>
<returns>The number of pool entries matching the current file name.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Prepare(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteStatement,System.UInt32,System.String@)">
<summary>
Prepares a SQL statement for execution.
</summary>
<param name="cnn">The source connection preparing the command. Can be null for any caller except LINQ</param>
<param name="strSql">The SQL command text to prepare</param>
<param name="previous">The previous statement in a multi-statement command, or null if no previous statement exists</param>
<param name="timeoutMS">The timeout to wait before aborting the prepare</param>
<param name="strRemain">The remainder of the statement that was not processed. Each call to prepare parses the
SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned
here for a subsequent call to Prepare() until all the text has been processed.</param>
<returns>Returns an initialized SQLiteStatement.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Step(System.Data.SQLite.SQLiteStatement)">
<summary>
Steps through a prepared statement.
</summary>
<param name="stmt">The SQLiteStatement to step through</param>
<returns>True if a row was returned, False if not.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Reset(System.Data.SQLite.SQLiteStatement)">
<summary>
Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA,
transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
</summary>
<param name="stmt">The statement to reset</param>
<returns>Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined function from the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetExtendedResultCodes(System.Boolean)">
<summary>
Enables or disabled extened result codes returned by SQLite
</summary>
<param name="bOnOff">true to enable extended result codes, false to disable.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ResultCode">
<summary>
Returns the numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ExtendedResultCode">
<summary>
Returns the extended numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Extended result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Add a log message via the SQLite sqlite3_log interface.
</summary>
<param name="iErrCode">Error code to be logged with the message.</param>
<param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log()
interface, this should be pre-formatted. Consider using the
String.Format() function.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsInitialized">
<summary>
Checks if the SQLite core library has been initialized in the current process.
</summary>
<returns>
Non-zero if the SQLite core library has been initialized in the current process,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FallbackGetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the internal static lookup table.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Version">
<summary>
Returns a string representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.VersionNumber">
<summary>
Returns an integer representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Changes">
<summary>
Returns the number of changes the last executing insert/update caused.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection
value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
This is not really a per-connection value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._sql">
<summary>
The opaque pointer returned to us by the sqlite provider
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._functions">
<summary>
The user-defined functions registered on this connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._modules">
<summary>
The modules created using this connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db "/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModules">
<summary>
This method attempts to dispose of all the <see cref="T:System.Data.SQLite.SQLiteModule"/> derived
object instances currently associated with the native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetCancelCount">
<summary>
Returns the number of times the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method has been
called.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ShouldThrowForCancel">
<summary>
This method determines whether or not a <see cref="T:System.Data.SQLite.SQLiteException"/>
with a return code of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Interrupt"/> should
be thrown after making a call into the SQLite core library.
</summary>
<returns>
Non-zero if a <see cref="T:System.Data.SQLite.SQLiteException"/> to be thrown. This method
will only return non-zero if the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method was called
one or more times during a call into the SQLite core library (e.g. when
the sqlite3_prepare*() or sqlite3_step() APIs are used).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ResetCancelCount">
<summary>
Resets the value of the <see cref="F:System.Data.SQLite.SQLite3._cancelCount"/> field.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound and removed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticShutdown(System.Boolean)">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both. This parameter has no
effect on non-Windows operating systems.
</param>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if the associated native connection handle is open.
</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_errstr">
<summary>
Has the sqlite3_errstr() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the sqlite3_errstr() function, falling back to the internal lookup
table if necessary.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_stmt_readonly">
<summary>
Has the sqlite3_stmt_readonly() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.forceLogPrepare">
<summary>
This field is used to keep track of whether or not the
"SQLite_ForceLogPrepare" environment variable has been queried. If so,
it will only be non-zero if the environment variable was present.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ForceLogPrepare">
<summary>
Determines if all calls to prepare a SQL query will be logged,
regardless of the flags for the associated connection.
</summary>
<returns>
Non-zero to log all calls to prepare a SQL query.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLite3.ResultCode">
Gets the last SQLite error code
</member>
<member name="M:System.Data.SQLite.SQLite3.ExtendedResultCode">
Gets the last SQLite extended error code
</member>
<member name="M:System.Data.SQLite.SQLite3.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticLogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLogCallback(System.Data.SQLite.SQLiteLogCallback)">
<summary>
Allows the setting of a logging callback invoked by SQLite when a
log event occurs. Only one callback may be set. If NULL is passed,
the logging callback is unregistered.
</summary>
<param name="func">The callback function to invoke.</param>
<returns>Returns a result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy, negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticIsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetValue(System.Data.SQLite.SQLiteStatement,System.Data.SQLite.SQLiteConnectionFlags,System.Int32,System.Data.SQLite.SQLiteType)">
<summary>
Helper function to retrieve a column of data from an active statement.
</summary>
<param name="stmt">The statement being step()'d through</param>
<param name="flags">The flags associated with the connection.</param>
<param name="index">The column index to retrieve</param>
<param name="typ">The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.</param>
<returns>Returns the data in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLite3.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned
by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLite3.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLite3_UTF16">
<summary>
Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db"/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.ToString(System.IntPtr,System.Int32)">
<summary>
Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
</summary>
<param name="b">A pointer to a UTF-16 string</param>
<param name="nbytelen">The length (IN BYTES) of the string</param>
<returns>A .NET string</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBackup">
<summary>
Represents a single SQL backup in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sql">
<summary>
The underlying SQLite object this backup is bound to.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sqlite_backup">
<summary>
The actual backup handle.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._destDb">
<summary>
The destination database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zDestName">
<summary>
The destination database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sourceDb">
<summary>
The source database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zSourceName">
<summary>
The source database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._stepResult">
<summary>
The last result from the StepBackup method of the SQLite3 class.
This is used to determine if the call to the FinishBackup method of
the SQLite3 class should throw an exception when it receives a non-Ok
return code from the core SQLite library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteBackupHandle,System.IntPtr,System.Byte[],System.IntPtr,System.Byte[])">
<summary>
Initializes the backup.
</summary>
<param name="sqlbase">The base SQLite object.</param>
<param name="backup">The backup handle.</param>
<param name="destDb">The destination database for the backup.</param>
<param name="zDestName">The destination database name for the backup.</param>
<param name="sourceDb">The source database for the backup.</param>
<param name="zSourceName">The source database name for the backup.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.Dispose">
<summary>
Disposes and finalizes the backup.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteSchemaExtensions">
<summary>
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteSchemaExtensions.BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
<summary>
Creates temporary tables on the connection so schema information can be queried.
</summary>
<param name="connection">
The connection upon which to build the schema tables.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionFlags">
<summary>
The extra behavioral flags that can be applied to a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.None">
<summary>
No extra flags.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPrepare">
<summary>
Enable logging of all SQL statements to be prepared.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPreBind">
<summary>
Enable logging of all bound parameter types and raw values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBind">
<summary>
Enable logging of all bound parameter strongly typed values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogCallbackException">
<summary>
Enable logging of all exceptions caught from user-provided
managed code called from native code via delegates.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBackup">
<summary>
Enable logging of backup API errors.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoExtensionFunctions">
<summary>
Skip adding the extension functions provided by the native
interop assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindUInt32AsInt64">
<summary>
When binding parameter values with the <see cref="T:System.UInt32"/>
type, use the interop method that accepts an <see cref="T:System.Int64"/>
value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAllAsText">
<summary>
When binding parameter values, always bind them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.GetAllAsText">
<summary>
When returning column values, always return them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLoadExtension">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
loading extensions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoCreateModule">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
creating virtual table modules.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoBindFunctions">
<summary>
Skip binding any functions provided by other managed assemblies when
opening the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLogModule">
<summary>
Skip setting the logging related properties of the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance that was passed to
the <see cref="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleError">
<summary>
Enable logging of all virtual table module errors seen by the
<see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleException">
<summary>
Enable logging of certain virtual table module exceptions that cannot
be easily discovered via other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.TraceWarning">
<summary>
Enable tracing of potentially important [non-fatal] error conditions
that cannot be easily reported through other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool">
<summary>
Disable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool">
<summary>
Enable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes">
<summary>
Enable using per-connection mappings between type names and
<see cref="T:System.Data.DbType"/> values. Also see the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings"/>,
<see cref="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings"/>, and
<see cref="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)"/> methods. These
per-connection mappings, when present, override the corresponding
global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoGlobalTypes">
<summary>
Disable using global mappings between type names and
<see cref="T:System.Data.DbType"/> values. This may be useful in some very narrow
cases; however, if there are no per-connection type mappings, the
fallback defaults will be used for both type names and their
associated <see cref="T:System.Data.DbType"/> values. Therefore, use of this flag
is not recommended.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StickyHasRows">
<summary>
When the <see cref="P:System.Data.SQLite.SQLiteDataReader.HasRows"/> property is used, it
should return non-zero if there were ever any rows in the associated
result sets.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StrictEnlistment">
<summary>
Enable "strict" transaction enlistment semantics. Setting this flag
will cause an exception to be thrown if an attempt is made to enlist
in a transaction with an unavailable or unsupported isolation level.
In the future, more extensive checks may be enabled by this flag as
well.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.MapIsolationLevels">
<summary>
Enable mapping of unsupported transaction isolation levels to the
closest supported transaction isolation level.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectTextAffinity">
<summary>
When returning column values, attempt to detect the affinity of
textual values by checking if they fully conform to those of the
<see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectStringType">
<summary>
When returning column values, attempt to detect the type of
string values by checking if they fully conform to those of
the <see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConvertSettings">
<summary>
Skip querying runtime configuration settings for use by the
<see cref="T:System.Data.SQLite.SQLiteConvert"/> class, including the default
<see cref="T:System.Data.DbType"/> value and default database type name.
<b>NOTE: If the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/>
and/or <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName"/>
properties are not set explicitly nor set via their connection
string properties and repeated calls to determine these runtime
configuration settings are seen to be a problem, this flag
should be set.</b>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindDateTimeWithKind">
<summary>
When binding parameter values with the <see cref="T:System.DateTime"/>
type, take their <see cref="T:System.DateTimeKind"/> into account as
well as that of the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.RollbackOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Commit"/> event, the transaction
should be rolled back. If this is not specified, the transaction
will continue the commit process instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DenyOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Authorize"/> event, the action should
should be denied. If this is not specified, the action will be
allowed instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.InterruptOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event, the operation
should be interrupted. If this is not specified, the operation
will simply continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UnbindFunctionsOnClose">
<summary>
Attempt to unbind all functions provided by other managed assemblies
when closing the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings
or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogAll">
<summary>
Enable all logging.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.Default">
<summary>
The default extra flags for new connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DefaultAndLogAll">
<summary>
The default extra flags for new connections with all logging enabled.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommand">
<summary>
SQLite implementation of DbCommand.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand.DefaultConnectionString">
<summary>
The default connection string to be used when creating a temporary
connection to execute a command via the static
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])"/>
methods.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandText">
<summary>
The command text this command is based on
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._cnn">
<summary>
The connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._version">
<summary>
The version of the connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._activeReader">
<summary>
Indicates whether or not a DataReader is active on the command.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandTimeout">
<summary>
The timeout for the command, kludged because SQLite doesn't support per-command timeout values
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._designTimeVisible">
<summary>
Designer support
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._updateRowSource">
<summary>
Used by DbDataAdapter to determine updating behavior
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._parameterCollection">
<summary>
The collection of parameters for the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._statementList">
<summary>
The SQL command text, broken into individual SQL statements as they are executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._remainingText">
<summary>
Unprocessed SQL text that has not been executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._transaction">
<summary>
Transaction associated with this command
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor">
<overloads>
Constructs a new SQLiteCommand
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String)">
<summary>
Initializes the command with the given command text
</summary>
<param name="commandText">The SQL command text</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command with the given SQL command text and attach the command to the specified
connection.
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command and associates it with the specified connection.
</summary>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteTransaction)">
<summary>
Initializes a command with the given SQL, connection and transaction
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
<param name="transaction">The transaction the command should be associated with</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Dispose(System.Boolean)">
<summary>
Disposes of the command and clears all member variables
</summary>
<param name="disposing">Whether or not the class is being explicitly or implicitly disposed</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.GetFlags(System.Data.SQLite.SQLiteCommand)">
<summary>
This method attempts to query the flags associated with the database
connection in use. If the database connection is disposed, the default
flags will be returned.
</summary>
<param name="command">
The command containing the databse connection to query the flags from.
</param>
<returns>
The connection flags value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearCommands">
<summary>
Clears and destroys all statements currently prepared
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.BuildNextCommand">
<summary>
Builds an array of prepared statements for each complete SQL statement in the command text
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Cancel">
<summary>
Not implemented
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateDbParameter">
<summary>
Forwards to the local CreateParameter() function
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateParameter">
<summary>
Create a new parameter
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.InitializeForReader">
<summary>
This function ensures there are no active readers, that we have a valid connection,
that the connection is open, that all statements are prepared and all parameters are assigned
in preparation for allocating a data reader.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(System.Data.CommandBehavior)">
<summary>
Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
</summary>
<param name="behavior">The behavior the data reader should adopt</param>
<returns>Returns a SQLiteDataReader object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type, closes the connection, and returns the results. If the
connection string is null, a temporary in-memory database connection will
be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type and command behavior, closes the connection unless a data
reader is created, and returns the results. If the connection string is
null, a temporary in-memory database connection will be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="commandBehavior">
The command behavior flags for the command.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)">
<summary>
Overrides the default behavior to return a SQLiteDataReader specialization class
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader">
<summary>
Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
</summary>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearDataReader">
<summary>
Called by the SQLiteDataReader when the data reader is closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Prepare">
<summary>
Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Clone">
<summary>
Clones a command, including all its parameters
</summary>
<returns>A new SQLiteCommand with the same commandtext, connection and parameters</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandText">
<summary>
The SQL command text associated with the command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandTimeout">
<summary>
The amount of time to wait for the connection to become available before erroring out
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandType">
<summary>
The type of the command. SQLite only supports CommandType.Text
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Connection">
<summary>
The connection associated with this command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Parameters">
<summary>
Returns the SQLiteParameterCollection for the given command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbParameterCollection">
<summary>
Forwards to the local Parameters property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Transaction">
<summary>
The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the
command's underlying connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbTransaction">
<summary>
Forwards to the local Transaction property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.UpdatedRowSource">
<summary>
Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DesignTimeVisible">
<summary>
Determines if the command is visible at design time. Defaults to True.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommandBuilder">
<summary>
SQLite implementation of DbCommandBuilder.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor(System.Data.SQLite.SQLiteDataAdapter)">
<summary>
Initializes the command builder and associates it with the specified data adapter.
</summary>
<param name="adp"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.ApplyParameterInfo(System.Data.Common.DbParameter,System.Data.DataRow,System.Data.StatementType,System.Boolean)">
<summary>
Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema
</summary>
<param name="parameter">The parameter to use in applying custom behaviors to a row</param>
<param name="row">The row to apply the parameter to</param>
<param name="statementType">The type of statement</param>
<param name="whereClause">Whether the application of the parameter is part of a WHERE clause</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.String)">
<summary>
Returns a valid named parameter
</summary>
<param name="parameterName">The name of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.Int32)">
<summary>
Returns a named parameter for the given ordinal
</summary>
<param name="parameterOrdinal">The i of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterPlaceholder(System.Int32)">
<summary>
Returns a placeholder character for the specified parameter i.
</summary>
<param name="parameterOrdinal">The index of the parameter to provide a placeholder for</param>
<returns>Returns a named parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.SetRowUpdatingHandler(System.Data.Common.DbDataAdapter)">
<summary>
Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL
statements that may not have previously been generated.
</summary>
<param name="adapter">A data adapter to receive events on.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.QuoteIdentifier(System.String)">
<summary>
Places brackets around an identifier
</summary>
<param name="unquotedIdentifier">The identifier to quote</param>
<returns>The bracketed identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.UnquoteIdentifier(System.String)">
<summary>
Removes brackets around an identifier
</summary>
<param name="quotedIdentifier">The quoted (bracketed) identifier</param>
<returns>The undecorated identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetSchemaTable(System.Data.Common.DbCommand)">
<summary>
Override helper, which can help the base command builder choose the right keys for the given query
</summary>
<param name="sourceCommand"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.DataAdapter">
<summary>
Gets/sets the DataAdapter for this CommandBuilder
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogLocation">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuotePrefix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuoteSuffix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.SchemaSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="T:System.Data.SQLite.ConnectionEventArgs">
<summary>
Event data for connection event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventType">
<summary>
The type of event being raised.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventArgs">
<summary>
The <see cref="T:System.Data.StateChangeEventArgs"/> associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Transaction">
<summary>
The transaction associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Command">
<summary>
The command associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.DataReader">
<summary>
The data reader associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.CriticalHandle">
<summary>
The critical handle associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Text">
<summary>
Command or message text associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.ConnectionEventArgs.#ctor(System.Data.SQLite.SQLiteConnectionEventType,System.Data.StateChangeEventArgs,System.Data.IDbTransaction,System.Data.IDbCommand,System.Data.IDataReader,System.Runtime.InteropServices.CriticalHandle,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="eventType">The type of event being raised.</param>
<param name="eventArgs">The base <see cref="F:System.Data.SQLite.ConnectionEventArgs.EventArgs"/> associated
with this event, if any.</param>
<param name="transaction">The transaction associated with this event, if any.</param>
<param name="command">The command associated with this event, if any.</param>
<param name="dataReader">The data reader associated with this event, if any.</param>
<param name="criticalHandle">The critical handle associated with this event, if any.</param>
<param name="text">The command or message text, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventHandler">
<summary>
Raised when an event pertaining to a connection occurs.
</summary>
<param name="sender">The connection involved.</param>
<param name="e">Extra information about the event.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnection">
<summary>
SQLite implentation of DbConnection.
</summary>
<remarks>
The <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> property can contain the following parameter(s), delimited with a semi-colon:
<list type="table">
<listheader>
<term>Parameter</term>
<term>Values</term>
<term>Required</term>
<term>Default</term>
</listheader>
<item>
<description>Data Source</description>
<description>
This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).
Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a
UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db"
would become "\\\\Network\Share\test.db").
</description>
<description>Y</description>
<description></description>
</item>
<item>
<description>Uri</description>
<description>
If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading
"file://" or "file:" prefix will be stripped off and the resulting file name will be used to open
the database.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>FullUri</description>
<description>
If specified, this must be a URI in a format recognized by the SQLite core library (starting with
SQLite 3.7.7). It will be passed verbatim to the SQLite core library.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>Version</description>
<description>3</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>UseUTF16Encoding</description>
<description>
<b>True</b> - The UTF-16 encoding should be used.
<br/>
<b>False</b> - The UTF-8 encoding should be used.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>DefaultDbType</description>
<description>
This is the default <see cref="T:System.Data.DbType"/> to use when one cannot be determined based on the
column metadata and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DefaultTypeName</description>
<description>
This is the default type name to use when one cannot be determined based on the column metadata
and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>NoDefaultFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>NoSharedFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>VfsName</description>
<description>
The name of the VFS to use when opening the database connection.
If this is not specified, the default VFS will be used.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>ZipVfsVersion</description>
<description>
If non-null, this is the "version" of ZipVFS to use. This requires
the System.Data.SQLite interop assembly -AND- primary managed assembly
to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing. The valid values are "v2" and "v3". Using
anyother value will cause an exception to be thrown. Please see the
ZipVFS documentation for more information on how to use this parameter.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DateTimeFormat</description>
<description>
<b>Ticks</b> - Use the value of DateTime.Ticks.<br/>
<b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/>
<b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/>
<b>UnixEpoch</b> - The whole number of seconds since the Unix epoch (January 1, 1970).<br/>
<b>InvariantCulture</b> - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.<br/>
<b>CurrentCulture</b> - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.</description>
<description>N</description>
<description>ISO8601</description>
</item>
<item>
<description>DateTimeKind</description>
<description>
<b>Unspecified</b> - Not specified as either UTC or local time.
<br/>
<b>Utc</b> - The time represented is UTC.
<br/>
<b>Local</b> - The time represented is local time.
</description>
<description>N</description>
<description>Unspecified</description>
</item>
<item>
<description>DateTimeFormatString</description>
<description>
The exact DateTime format string to use for all formatting and parsing of all DateTime
values for this connection.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>BaseSchemaName</description>
<description>
Some base data classes in the framework (e.g. those that build SQL queries dynamically)
assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used
as a placeholder and removed prior to preparing any SQL statements that may contain it.
</description>
<description>N</description>
<description>sqlite_default_schema</description>
</item>
<item>
<description>BinaryGUID</description>
<description>
<b>True</b> - Store GUID columns in binary form
<br/>
<b>False</b> - Store GUID columns as text
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>Cache Size</description>
<description>
If the argument N is positive then the suggested cache size is set to N.
If the argument N is negative, then the number of cache pages is adjusted
to use approximately abs(N*1024) bytes of memory. Backwards compatibility
note: The behavior of cache_size with a negative N was different in SQLite
versions prior to 3.7.10. In version 3.7.9 and earlier, the number of
pages in the cache was set to the absolute value of N.
</description>
<description>N</description>
<description>2000</description>
</item>
<item>
<description>Synchronous</description>
<description>
<b>Normal</b> - Normal file flushing behavior
<br/>
<b>Full</b> - Full flushing after all writes
<br/>
<b>Off</b> - Underlying OS flushes I/O's
</description>
<description>N</description>
<description>Full</description>
</item>
<item>
<description>Page Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>1024</description>
</item>
<item>
<description>Password</description>
<description>
{password} - Using this parameter requires that the CryptoAPI based codec
be enabled at compile-time for both the native interop assembly and the
core managed assemblies; otherwise, using this parameter may result in an
exception being thrown when attempting to open the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>HexPassword</description>
<description>
{hexPassword} - Must contain a sequence of zero or more hexadecimal encoded
byte values without a leading "0x" prefix. Using this parameter requires
that the CryptoAPI based codec be enabled at compile-time for both the native
interop assembly and the core managed assemblies; otherwise, using this
parameter may result in an exception being thrown when attempting to open
the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>Enlist</description>
<description>
<b>Y</b> - Automatically enlist in distributed transactions
<br/>
<b>N</b> - No automatic enlistment
</description>
<description>N</description>
<description>Y</description>
</item>
<item>
<description>Pooling</description>
<description>
<b>True</b> - Use connection pooling.<br/>
<b>False</b> - Do not use connection pooling.<br/><br/>
<b>WARNING:</b> When using the default connection pool implementation,
setting this property to True should be avoided by applications that make
use of COM (either directly or indirectly) due to possible deadlocks that
can occur during the finalization of some COM objects.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>FailIfMissing</description>
<description>
<b>True</b> - Don't create the database if it does not exist, throw an error instead
<br/>
<b>False</b> - Automatically create the database if it does not exist
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Page Count</description>
<description>{size in pages} - Limits the maximum number of pages (limits the size) of the database</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Legacy Format</description>
<description>
<b>True</b> - Use the more compatible legacy 3.x database format
<br/>
<b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Default Timeout</description>
<description>{time in seconds}<br/>The default command timeout</description>
<description>N</description>
<description>30</description>
</item>
<item>
<description>BusyTimeout</description>
<description>{time in milliseconds}<br/>Sets the busy timeout for the core library.</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Journal Mode</description>
<description>
<b>Delete</b> - Delete the journal file after a commit.
<br/>
<b>Persist</b> - Zero out and leave the journal file on disk after a
commit.
<br/>
<b>Off</b> - Disable the rollback journal entirely. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Truncate</b> - Truncate the journal file to zero-length instead of
deleting it.
<br/>
<b>Memory</b> - Store the journal in volatile RAM. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Wal</b> - Use a write-ahead log instead of a rollback journal.
</description>
<description>N</description>
<description>Delete</description>
</item>
<item>
<description>Read Only</description>
<description>
<b>True</b> - Open the database for read only access
<br/>
<b>False</b> - Open the database for normal read/write access
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Pool Size</description>
<description>The maximum number of connections for the given connection string that can be in the connection pool</description>
<description>N</description>
<description>100</description>
</item>
<item>
<description>Default IsolationLevel</description>
<description>The default transaciton isolation level</description>
<description>N</description>
<description>Serializable</description>
</item>
<item>
<description>Foreign Keys</description>
<description>Enable foreign key constraints</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Flags</description>
<description>Extra behavioral flags for the connection. See the <see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for possible values.</description>
<description>N</description>
<description>Default</description>
</item>
<item>
<description>SetDefaults</description>
<description>
<b>True</b> - Apply the default connection settings to the opened database.<br/>
<b>False</b> - Skip applying the default connection settings to the opened database.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>ToFullPath</description>
<description>
<b>True</b> - Attempt to expand the data source file name to a fully qualified path before opening.
<br/>
<b>False</b> - Skip attempting to expand the data source file name to a fully qualified path before opening.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>PrepareRetries</description>
<description>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>ProgressOps</description>
<description>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as well.
</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Recursive Triggers</description>
<description>
<b>True</b> - Enable the recursive trigger capability.
<b>False</b> - Disable the recursive trigger capability.
</description>
<description>N</description>
<description>False</description>
</item>
</list>
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.BadDbType">
<summary>
The "invalid value" for the <see cref="T:System.Data.DbType"/> enumeration used
by the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/> property. This constant is shared
by this class and the SQLiteConnectionStringBuilder class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.DefaultBaseSchemaName">
<summary>
The default "stub" (i.e. placeholder) base schema name to use when
returning column schema information. Used as the initial value of
the BaseSchemaName property. This should start with "sqlite_*"
because those names are reserved for use by SQLite (i.e. they cannot
be confused with the names of user objects).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._assembly">
<summary>
The managed assembly containing this type.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
<summary>
State of the current connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionString">
<summary>
The connection string
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._transactionLevel">
<summary>
Nesting level of the transactions open on the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._noDispose">
<summary>
If this flag is non-zero, the <see cref="M:System.Data.SQLite.SQLiteConnection.Dispose"/> method will have
no effect; however, the <see cref="M:System.Data.SQLite.SQLiteConnection.Close"/> method will continue to
behave as normal.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._disposing">
<summary>
If set, then the connection is currently being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultIsolation">
<summary>
The default isolation level for new transactions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._enlistment">
<summary>
Whether or not the connection is enlisted in a distrubuted transaction
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._typeNames">
<summary>
The per-connection mappings between type names and <see cref="T:System.Data.DbType"/>
values. These mappings override the corresponding global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sql">
<summary>
The base SQLite object to interop with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._dataSource">
<summary>
The database filename minus path and extension
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._password">
<summary>
Temporary password storage, emptied after the database has been opened
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._flags">
<summary>
The extra behavioral flags for this connection, if any. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._cachedSettings">
<summary>
The cached values for all settings that have been fetched on behalf
of this connection. This cache may be cleared by calling the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultDbType">
<summary>
The default databse type for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTypeName">
<summary>
The default databse type name for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._vfsName">
<summary>
The name of the VFS to be used when opening the database connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTimeout">
<summary>
Default command timeout
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._busyTimeout">
<summary>
The default busy timeout to use with the SQLite core library. This is
only used when opening a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._prepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._progressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when opening the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._parseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor">
<overloads>
Constructs a new SQLiteConnection object
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">The connection string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.IntPtr,System.String,System.Boolean)">
<summary>
Initializes the connection with a pre-existing native connection handle.
This constructor overload is intended to be used only by the private
<see cref="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="db">
The native connection handle to use.
</param>
<param name="fileName">
The file name corresponding to the native connection handle.
</param>
<param name="ownHandle">
Non-zero if this instance owns the native connection handle and
should dispose of it when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String,System.Boolean)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">
The connection string to use.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Clones the settings and connection string from an existing connection. If the existing connection is already open, this
function will open its own connection, enumerate any attached databases of the original connection, and automatically
attach to them.
</summary>
<param name="connection">The connection to copy the settings from.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnChanged(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.ConnectionEventArgs)">
<summary>
Raises the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/> event.
</summary>
<param name="connection">
The connection associated with this event. If this parameter is not
null and the specified connection cannot raise events, then the
registered event handlers will not be invoked.
</param>
<param name="e">
A <see cref="T:System.Data.SQLite.ConnectionEventArgs"/> that contains the event data.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateHandle(System.IntPtr)">
<summary>
Creates and returns a new managed database connection handle. This
method is intended to be used by implementations of the
<see cref="T:System.Data.SQLite.ISQLiteConnectionPool"/> interface only. In theory, it
could be used by other classes; however, that usage is not supported.
</summary>
<param name="nativeHandle">
This must be a native database connection handle returned by the
SQLite core library and it must remain valid and open during the
entire duration of the calling method.
</param>
<returns>
The new managed database connection handle or null if it cannot be
created.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BackupDatabase(System.Data.SQLite.SQLiteConnection,System.String,System.String,System.Int32,System.Data.SQLite.SQLiteBackupCallback,System.Int32)">
<summary>
Backs up the database, using the specified database connection as the
destination.
</summary>
<param name="destination">The destination database connection.</param>
<param name="destinationName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<param name="pages">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="callback">
The method to invoke between each step of the backup process. This
parameter may be null (i.e. no callbacks will be performed).
</param>
<param name="retryMilliseconds">
The number of milliseconds to sleep after encountering a locking error
during the backup process. A value less than zero means that no sleep
should be performed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings">
<summary>
Clears the per-connection cached settings.
</summary>
<returns>
The total number of per-connection settings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryGetCachedSetting(System.String,System.String,System.Object@)">
<summary>
Queries and returns the value of the specified setting, using the
cached setting names and values for this connection, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<param name="value">
The value of the cached setting is stored here if found; otherwise,
the value of <paramref name="default" /> is stored here.
</param>
<returns>
Non-zero if the cached setting was found; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetCachedSetting(System.String,System.Object)">
<summary>
Adds or sets the cached setting specified by <paramref name="name" />
to the value specified by <paramref name="value" />.
</summary>
<param name="name">
The name of the cached setting to add or replace.
</param>
<param name="value">
The new value of the cached setting.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings">
<summary>
Clears the per-connection type mappings.
</summary>
<returns>
The total number of per-connection type mappings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings">
<summary>
Returns the per-connection type mappings.
</summary>
<returns>
The per-connection type mappings -OR- null if they are unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)">
<summary>
Adds a per-connection type mapping, possibly replacing one or more
that already exist.
</summary>
<param name="typeName">
The case-insensitive database type name (e.g. "MYDATE"). The value
of this parameter cannot be null. Using an empty string value (or
a string value consisting entirely of whitespace) for this parameter
is not recommended.
</param>
<param name="dataType">
The <see cref="T:System.Data.DbType"/> value that should be associated with the
specified type name.
</param>
<param name="primary">
Non-zero if this mapping should be considered to be the primary one
for the specified <see cref="T:System.Data.DbType"/>.
</param>
<returns>
A negative value if nothing was done. Zero if no per-connection type
mappings were replaced (i.e. it was a pure add operation). More than
zero if some per-connection type mappings were replaced.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Delegate,System.Delegate)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="callback1">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For scalar functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type. For aggregate functions,
this corresponds to the <see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type. For
collation functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type.
</param>
<param name="callback2">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For aggregate functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type. For other callback types, it
is not used and must be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute)">
<summary>
Attempts to unbind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindAllFunctions(System.Boolean)">
<summary>
This method unbinds all registered (known) functions -OR- all previously
bound user-defined functions from this connection.
</summary>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind
all functions currently bound to the connection.
</param>
<returns>
Non-zero if all the specified user-defined functions were unbound.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the algorithm provided
by the framework itself. This is not applicable when running on the
.NET Compact Framework.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose">
<summary>
Disposes and finalizes the connection, if applicable.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Clone">
<summary>
Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection
will also be opened.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateFile(System.String)">
<summary>
Creates a database file. This just creates a zero-byte file which SQLite
will turn into a database when the file is opened properly.
</summary>
<param name="databaseFileName">The file to create</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnStateChange(System.Data.ConnectionState,System.Data.StateChangeEventArgs@)">
<summary>
Raises the state change event when the state of the connection changes
</summary>
<param name="newState">The new connection state. If this is different
from the previous state, the <see cref="E:System.Data.SQLite.SQLiteConnection.StateChange"/> event is
raised.</param>
<param name="eventArgs">The event data created for the raised event, if
it was actually raised.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetFallbackDefaultIsolationLevel">
<summary>
Determines and returns the fallback default isolation level when one cannot be
obtained from an existing connection instance.
</summary>
<returns>
The fallback default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultIsolationLevel">
<summary>
Determines and returns the default isolation level for this connection instance.
</summary>
<returns>
The default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel,System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="isolationLevel">This parameter is ignored.</param>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already active on the connection.
</summary>
<param name="isolationLevel">Supported isolation levels are Serializable, ReadCommitted and Unspecified.</param>
<remarks>
Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the
connection string, Serializable is used.
Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads
may begin a transaction. Other threads may read from the database, but not write.
With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start
a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
</remarks>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already
active on the connection.
</summary>
<returns>Returns the new transaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginDbTransaction(System.Data.IsolationLevel)">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)"/> function
</summary>
<param name="isolationLevel">Supported isolation levels are Unspecified, Serializable, and ReadCommitted</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangeDatabase(System.String)">
<summary>
This method is not implemented; however, the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/>
event will still be raised.
</summary>
<param name="databaseName"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Close">
<summary>
When the database connection is closed, all commands linked to this connection are automatically reset.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearPool(System.Data.SQLite.SQLiteConnection)">
<summary>
Clears the connection pool associated with the connection. Any other active connections using the same database file
will be discarded instead of returned to the pool when they are closed.
</summary>
<param name="connection"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearAllPools">
<summary>
Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateCommand">
<summary>
Create a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> and associate it with this connection.
</summary>
<returns>Returns a new command object already assigned to this connection.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateDbCommand">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.CreateCommand"/> function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionStringViaFramework(System.String,System.Boolean)">
<summary>
Parses a connection string using the built-in (i.e. framework provided)
connection string parser class and returns the key/value pairs. An
exception may be thrown if the connection string is invalid or cannot be
parsed. When compiled for the .NET Compact Framework, the custom
connection string parser is always used instead because the framework
provided one is unavailable there.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="strict">
Non-zero to throw an exception if any connection string values are not of
the <see cref="T:System.String"/> type. This is not applicable when running on
the .NET Compact Framework.
</param>
<returns>The list of key/value pairs.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnlistTransaction(System.Transactions.Transaction)">
<summary>
Manual distributed transaction enlistment support
</summary>
<param name="transaction">The distributed transaction to enlist in</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FindKey(System.Collections.Generic.SortedList{System.String,System.String},System.String,System.String)">
<summary>
Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value
</summary>
<param name="items">The list to look in</param>
<param name="key">The key to find</param>
<param name="defValue">The default value to return if the key is not found</param>
<returns>The value corresponding to the specified key, or the default value if not found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseEnum(System.Type,System.String,System.Boolean)">
<summary>
Attempts to convert the string value to an enumerated value of the specified type.
</summary>
<param name="type">The enumerated type to convert the string value to.</param>
<param name="value">The string value to be converted.</param>
<param name="ignoreCase">Non-zero to make the conversion case-insensitive.</param>
<returns>The enumerated value upon success or null upon error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseByte(System.String,System.Globalization.NumberStyles,System.Byte@)">
<summary>
Attempts to convert an input string into a byte value.
</summary>
<param name="value">
The string value to be converted.
</param>
<param name="style">
The number styles to use for the conversion.
</param>
<param name="result">
Upon sucess, this will contain the parsed byte value.
Upon failure, the value of this parameter is undefined.
</param>
<returns>
Non-zero upon success; zero on failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnableExtensions(System.Boolean)">
<summary>
Enables or disabled extension loading.
</summary>
<param name="enable">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)">
<summary>
Creates a disposable module containing the implementation of a virtual
table.
</summary>
<param name="module">
The module object to be used when creating the disposable module.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ToHexString(System.Byte[])">
<summary>
Creates and returns a string containing the hexadecimal encoded byte
values from the input array.
</summary>
<param name="array">
The input array of bytes.
</param>
<returns>
The resulting string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String,System.String@)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<param name="error">
Upon failure, this will contain an appropriate error message.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultPooling">
<summary>
This method figures out what the default connection pool setting should
be based on the connection flags. When present, the "Pooling" connection
string property value always overrides the value returned by this method.
</summary>
<returns>
Non-zero if the connection pool should be enabled by default; otherwise,
zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetEffectiveIsolationLevel(System.Data.IsolationLevel)">
<summary>
Determines the transaction isolation level that should be used by
the caller, primarily based upon the one specified by the caller.
If mapping of transaction isolation levels is enabled, the returned
transaction isolation level may be significantly different than the
originally specified one.
</summary>
<param name="isolationLevel">
The originally specified transaction isolation level.
</param>
<returns>
The transaction isolation level that should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Open">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OpenAndReturn">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> and then returns it.
</summary>
<returns>The current connection object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Cancel">
<summary>
This method causes any pending database operation to abort and return at
its earliest opportunity. This routine is typically called in response
to a user action such as pressing "Cancel" or Ctrl-C where the user wants
a long query operation to halt immediately. It is safe to call this
routine from any thread. However, it is not safe to call this routine
with a database connection that is closed or might close before this method
returns.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetMemoryStatistics(System.Collections.Generic.IDictionary{System.String,System.Int64}@)">
<summary>
Returns various global memory statistics for the SQLite core library via
a dictionary of key/value pairs. Currently, only the "MemoryUsed" and
"MemoryHighwater" keys are returned and they have values that correspond
to the values that could be obtained via the <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryUsed"/>
and <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater"/> connection properties.
</summary>
<param name="statistics">
This dictionary will be populated with the global memory statistics. It
will be created if necessary.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for this database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown">
<summary>
Passes a shutdown request to the SQLite core library. Does not throw
an exception if the shutdown request fails.
</summary>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero for
failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown(System.Boolean,System.Boolean)">
<summary>
Passes a shutdown request to the SQLite core library. Throws an
exception if the shutdown request fails and the no-throw parameter
is non-zero.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both.
</param>
<param name="noThrow">
When non-zero, throw an exception if the shutdown request fails.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExtendedResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Int32,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.String)">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.Byte[])">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.String)">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.Byte[])">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetAvRetry(System.Int32@,System.Int32@)">
<summary>
Queries or modifies the number of retries or the retry interval (in milliseconds) for
certain I/O operations that may fail due to anti-virus software.
</summary>
<param name="count">The number of times to retry the I/O operation. A negative value
will cause the current count to be queried and replace that negative value.</param>
<param name="interval">The number of milliseconds to wait before retrying the I/O
operation. This number is multiplied by the number of retry attempts so far to come
up with the final number of milliseconds to wait. A negative value will cause the
current interval to be queried and replace that negative value.</param>
<returns>Zero for success, non-zero for error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetChunkSize(System.Int32)">
<summary>
Sets the chunk size for the primary file associated with this database
connection.
</summary>
<param name="size">
The new chunk size for the main database, in bytes.
</param>
<returns>
Zero for success, non-zero for error.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnwrapString(System.String)">
<summary>
Removes one set of surrounding single -OR- double quotes from the string
value and returns the resulting string value. If the string is null, empty,
or contains quotes that are not balanced, nothing is done and the original
string value will be returned.
</summary>
<param name="value">The string value to process.</param>
<returns>
The string value, modified to remove one set of surrounding single -OR-
double quotes, if applicable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExpandFileName(System.String,System.Boolean)">
<summary>
Expand the filename of the data source, resolving the |DataDirectory|
macro as appropriate.
</summary>
<param name="sourceFile">The database filename to expand</param>
<param name="toFullPath">
Non-zero if the returned file name should be converted to a full path
(except when using the .NET Compact Framework).
</param>
<returns>The expanded path and filename of the filename</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
<overloads>
The following commands are used to extract schema information out of the database. Valid schema types are:
<list type="bullet">
<item>
<description>MetaDataCollections</description>
</item>
<item>
<description>DataSourceInformation</description>
</item>
<item>
<description>Catalogs</description>
</item>
<item>
<description>Columns</description>
</item>
<item>
<description>ForeignKeys</description>
</item>
<item>
<description>Indexes</description>
</item>
<item>
<description>IndexColumns</description>
</item>
<item>
<description>Tables</description>
</item>
<item>
<description>Views</description>
</item>
<item>
<description>ViewColumns</description>
</item>
</list>
</overloads>
<summary>
Returns the MetaDataCollections schema
</summary>
<returns>A DataTable of the MetaDataCollections schema</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String)">
<summary>
Returns schema information of the specified collection
</summary>
<param name="collectionName">The schema collection to retrieve</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String,System.String[])">
<summary>
Retrieves schema information using the specified constraint(s) for the specified collection
</summary>
<param name="collectionName">The collection to retrieve.</param>
<param name="restrictionValues">
The restrictions to impose. Typically, this may include:
<list type="table">
<listheader>
<term>restrictionValues element index</term>
<term>usage</term>
</listheader>
<item>
<description>0</description>
<description>The database (or catalog) name, if applicable.</description>
</item>
<item>
<description>1</description>
<description>The schema name. This is not used by this provider.</description>
</item>
<item>
<description>2</description>
<description>The table name, if applicable.</description>
</item>
<item>
<description>3</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the index name; otherwise, it is the column name.
</description>
</item>
<item>
<description>4</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the column name; otherwise, it is not used.
</description>
</item>
</list>
</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_MetaDataCollections">
<summary>
Builds a MetaDataCollections schema datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_DataSourceInformation">
<summary>
Builds a DataSourceInformation datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Columns(System.String,System.String,System.String)">
<summary>
Build a Columns schema
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strTable">The table to retrieve schema information for, must not be null</param>
<param name="strColumn">The column to retrieve schema information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Indexes(System.String,System.String,System.String)">
<summary>
Returns index information for the given database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strIndex">The name of the index to retrieve information for, can be null</param>
<param name="strTable">The table to retrieve index information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Tables(System.String,System.String,System.String)">
<summary>
Retrieves table schema information for the database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve tables on</param>
<param name="strTable">The table to retrieve, can be null</param>
<param name="strType">The table type, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Views(System.String,System.String)">
<summary>
Retrieves view schema information for the database
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve views on</param>
<param name="strView">The view name, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Catalogs(System.String)">
<summary>
Retrieves catalog (attached databases) schema information for the database
</summary>
<param name="strCatalog">The catalog to retrieve, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_IndexColumns(System.String,System.String,System.String,System.String)">
<summary>
Returns the base column information for indexes in a database
</summary>
<param name="strCatalog">The catalog to retrieve indexes for (can be null)</param>
<param name="strTable">The table to restrict index information by (can be null)</param>
<param name="strIndex">The index to restrict index information by (can be null)</param>
<param name="strColumn">The source column to restrict index information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ViewColumns(System.String,System.String,System.String)">
<summary>
Returns detailed column information for a specified view
</summary>
<param name="strCatalog">The catalog to retrieve columns for (can be null)</param>
<param name="strView">The view to restrict column information by (can be null)</param>
<param name="strColumn">The source column to restrict column information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ForeignKeys(System.String,System.String,System.String)">
<summary>
Retrieves foreign key information from the specified set of filters
</summary>
<param name="strCatalog">An optional catalog to restrict results on</param>
<param name="strTable">An optional table to restrict results on</param>
<param name="strKeyName">An optional foreign key name to restrict results on</param>
<returns>A DataTable with the results of the query</returns>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection._handlers">
<summary>
Static variable to store the connection event handlers to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.StateChange">
<summary>
This event is raised whenever the database is opened or closed.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Changed">
<summary>
This event is raised when events related to the lifecycle of a
SQLiteConnection object occur.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionPool">
<summary>
This property is used to obtain or set the custom connection pool
implementation to use, if any. Setting this property to null will
cause the default connection pool implementation to be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PoolCount">
<summary>
Returns the number of pool entries for the file name associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionString">
<summary>
The connection string containing the parameters for the connection
</summary>
<remarks>
For the complete list of supported connection string properties,
please see <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</remarks>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
<summary>
Returns the data source file name without extension or path.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Database">
<summary>
Returns the string "main".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
This can also be set in the ConnectionString with "Default Timeout"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.BusyTimeout">
<summary>
Gets/sets the default busy timeout to use with the SQLite core library. This is only used when
opening a connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PrepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProgressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when the underlying native progress
callback needs to be changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ParseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Flags">
<summary>
Gets/sets the extra behavioral flags for this connection. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultDbType">
<summary>
Gets/sets the default database type for this connection. This value
will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName">
<summary>
Gets/sets the default database type name for this connection. This
value will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.VfsName">
<summary>
Gets/sets the VFS name for this connection. This value will only be
used when opening the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is
owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ServerVersion">
<summary>
Returns the version of the underlying SQLite database engine
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Changes">
<summary>
Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefineConstants">
<summary>
Returns a string containing the define constants (i.e. compile-time
options) used to compile the core managed assembly, delimited with
spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteVersion">
<summary>
Returns the version of the underlying SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteSourceId">
<summary>
This method returns the string whose value is the same as the
SQLITE_SOURCE_ID C preprocessor macro used when compiling the
SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite core native library, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropVersion">
<summary>
This method returns the version of the interop SQLite assembly
used. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the interop
assembly. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite interop assembly, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderVersion">
<summary>
This method returns the version of the managed components used
to interact with the SQLite core library. If the necessary
information cannot be obtained for any reason, a null value may
be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the managed
components currently executing. If the necessary information
cannot be obtained for any reason, a null value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultFlags">
<summary>
The default connection flags to be used for all opened connections
when they are not present in the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.State">
<summary>
Returns the state of the connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Progress">
<summary>
This event is raised periodically during long running queries. Changing
the value of the <see cref="F:System.Data.SQLite.ProgressEventArgs.ReturnCode"/> property will
determine if the operation in progress will continue or be interrupted.
For the entire duration of the event, the associated connection and
statement objects must not be modified, either directly or indirectly, by
the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Authorize">
<summary>
This event is raised whenever SQLite encounters an action covered by the
authorizer during query preparation. Changing the value of the
<see cref="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode"/> property will determine if
the specific action will be allowed, ignored, or denied. For the entire
duration of the event, the associated connection and statement objects
must not be modified, either directly or indirectly, by the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Update">
<summary>
This event is raised whenever SQLite makes an update/delete/insert into the database on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Commit">
<summary>
This event is raised whenever SQLite is committing a transaction.
Return non-zero to trigger a rollback.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Trace">
<summary>
This event is raised whenever SQLite statement first begins executing on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.RollBack">
<summary>
This event is raised whenever SQLite is rolling back a transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DbProviderFactory">
<summary>
Returns the <see cref="T:System.Data.SQLite.SQLiteFactory"/> instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SynchronizationModes">
<summary>
The I/O file cache flushing behavior for the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Normal">
<summary>
Normal file flushing at critical sections of the code
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Full">
<summary>
Full file flushing after every write operation
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Off">
<summary>
Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressEventHandler">
<summary>
Raised each time the number of virtual machine instructions is
approximately equal to the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.ProgressOps"/> property.
</summary>
<param name="sender">The connection performing the operation.</param>
<param name="e">A <see cref="T:System.Data.SQLite.ProgressEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerEventHandler">
<summary>
Raised when authorization is required to perform an action contained
within a SQL query.
</summary>
<param name="sender">The connection performing the action.</param>
<param name="e">A <see cref="T:System.Data.SQLite.AuthorizerEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCommitHandler">
<summary>
Raised when a transaction is about to be committed. To roll back a transaction, set the
rollbackTrans boolean value to true.
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">Event arguments on the transaction</param>
</member>
<member name="T:System.Data.SQLite.SQLiteUpdateEventHandler">
<summary>
Raised when data is inserted, updated and deleted on a given connection
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">The event parameters which triggered the event</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTraceEventHandler">
<summary>
Raised when a statement first begins executing on a given connection
</summary>
<param name="sender">The connection executing the statement</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteBackupCallback">
<summary>
Raised between each backup step.
</summary>
<param name="source">
The source database connection.
</param>
<param name="sourceName">
The source database name.
</param>
<param name="destination">
The destination database connection.
</param>
<param name="destinationName">
The destination database name.
</param>
<param name="pages">
The number of pages copied with each step.
</param>
<param name="remainingPages">
The number of pages remaining to be copied.
</param>
<param name="totalPages">
The total number of pages in the source database.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True to continue with the backup process or false to halt the backup
process, rolling back any changes that have been made so far.
</returns>
</member>
<member name="T:System.Data.SQLite.ProgressEventArgs">
<summary>
The event data associated with progress reporting events.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.ReturnCode">
<summary>
The return code for the current call into the progress callback.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteProgressReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="returnCode">
The progress return code.
</param>
</member>
<member name="T:System.Data.SQLite.AuthorizerEventArgs">
<summary>
The data associated with a call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument1">
<summary>
The first string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument2">
<summary>
The second string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Database">
<summary>
The database name for the current call into the authorizer, if
applicable.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Context">
<summary>
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteAuthorizerActionCode,System.String,System.String,System.String,System.String,System.Data.SQLite.SQLiteAuthorizerReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="actionCode">
The authorizer action code.
</param>
<param name="argument1">
The first authorizer argument.
</param>
<param name="argument2">
The second authorizer argument.
</param>
<param name="database">
The database name, if applicable.
</param>
<param name="context">
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</param>
<param name="returnCode">
The authorizer return code.
</param>
</member>
<member name="T:System.Data.SQLite.UpdateEventType">
<summary>
Whenever an update event is triggered on a connection, this enum will indicate
exactly what type of operation is being performed.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Delete">
<summary>
A row is being deleted from the given database and table
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Insert">
<summary>
A row is being inserted into the table.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Update">
<summary>
A row is being updated in the table.
</summary>
</member>
<member name="T:System.Data.SQLite.UpdateEventArgs">
<summary>
Passed during an Update callback, these event arguments detail the type of update operation being performed
on the given connection.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Database">
<summary>
The name of the database being updated (usually "main" but can be any attached or temporary database)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Table">
<summary>
The name of the table being updated
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Event">
<summary>
The type of update being performed (insert/update/delete)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.RowId">
<summary>
The RowId affected by this update.
</summary>
</member>
<member name="T:System.Data.SQLite.CommitEventArgs">
<summary>
Event arguments raised when a transaction is being committed
</summary>
</member>
<member name="F:System.Data.SQLite.CommitEventArgs.AbortTransaction">
<summary>
Set to true to abort the transaction and trigger a rollback
</summary>
</member>
<member name="T:System.Data.SQLite.TraceEventArgs">
<summary>
Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text
</summary>
</member>
<member name="F:System.Data.SQLite.TraceEventArgs.Statement">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteConnectionPool">
<summary>
This interface represents a custom connection pool implementation
usable by System.Data.SQLite.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Add(System.String,System.Object,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool">
<summary>
This default method implementations in this class should not be used by
applications that make use of COM (either directly or indirectly) due
to possible deadlocks that can occur during finalization of some COM
objects.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._syncRoot">
<summary>
This field is used to synchronize access to the private static data
in this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._connectionPool">
<summary>
When this field is non-null, it will be used to provide the
implementation of all the connection pool methods; otherwise,
the default method implementations will be used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._queueList">
<summary>
The dictionary of connection pools, based on the normalized file
name of the SQLite database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolVersion">
<summary>
The default version number new pools will get.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolOpened">
<summary>
The number of connections successfully opened from any pool.
This value is incremented by the Remove method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolClosed">
<summary>
The number of connections successfully closed from any pool.
This value is incremented by the Add method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Add(System.String,System.Data.SQLite.SQLiteConnectionHandle,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetConnectionPool">
<summary>
This method is used to obtain a reference to the custom connection
pool implementation currently in use, if any.
</summary>
<returns>
The custom connection pool implementation or null if the default
connection pool implementation should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.SetConnectionPool(System.Data.SQLite.ISQLiteConnectionPool)">
<summary>
This method is used to set the reference to the custom connection
pool implementation to use, if any.
</summary>
<param name="connectionPool">
The custom connection pool implementation to use or null if the
default connection pool implementation should be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ResizePool(System.Data.SQLite.SQLiteConnectionPool.PoolQueue,System.Boolean)">
<summary>
We do not have to thread-lock anything in this function, because it
is only called by other functions above which already take the lock.
</summary>
<param name="queue">
The pool queue to resize.
</param>
<param name="add">
If a function intends to add to the pool, this is true, which
forces the resize to take one more than it needs from the pool.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool.PoolQueue">
<summary>
Keeps track of connections made on a specified file. The PoolVersion
dictates whether old objects get returned to the pool or discarded
when no longer in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.Queue">
<summary>
The queue of weak references to the actual database connection
handles.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.PoolVersion">
<summary>
This pool version associated with the database connection
handles in this pool queue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.MaxPoolSize">
<summary>
The maximum size of this pool queue.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.#ctor(System.Int32,System.Int32)">
<summary>
Constructs a connection pool queue using the specified version
and maximum size. Normally, all the database connection
handles in this pool are associated with a single database file
name.
</summary>
<param name="version">
The initial pool version for this connection pool queue.
</param>
<param name="maxSize">
The initial maximum size for this connection pool queue.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionStringBuilder">
<summary>
SQLite implementation of DbConnectionStringBuilder.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionStringBuilder._properties">
<summary>
Properties of this class
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor">
<overloads>
Constructs a new instance of the class
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor(System.String)">
<summary>
Constructs a new instance of the class using the specified connection string.
</summary>
<param name="connectionString">The connection string to parse</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.Initialize(System.String)">
<summary>
Private initializer, which assigns the connection string and resets the builder
</summary>
<param name="cnnString">The connection string to assign</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.TryGetValue(System.String,System.Object@)">
<summary>
Helper function for retrieving values from the connectionstring
</summary>
<param name="keyword">The keyword to retrieve settings for</param>
<param name="value">The resulting parameter value</param>
<returns>Returns true if the value was found and returned</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.FallbackGetProperties(System.Collections.Hashtable)">
<summary>
Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties()
</summary>
<param name="propertyList">The hashtable to fill with property descriptors</param>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Version">
<summary>
Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SyncMode">
<summary>
Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.UseUTF16Encoding">
<summary>
Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Pooling">
<summary>
Gets/Sets whether or not to use connection pooling. The default is "False"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BinaryGUID">
<summary>
Gets/Sets whethor not to store GUID's in binary format. The default is True
which saves space in the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
<summary>
Gets/Sets the filename to open on the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Uri">
<summary>
An alternate to the data source property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FullUri">
<summary>
An alternate to the data source property that uses the SQLite URI syntax.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BusyTimeout">
<summary>
Gets/sets the busy timeout to use with the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PrepareRetries">
<summary>
Gets/sets the maximum number of retries when preparing SQL to be executed.
This normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ProgressOps">
<summary>
Gets/sets the approximate number of virtual machine instructions between
progress events. In order for progress events to actually fire, the event
handler must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event
as well.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Enlist">
<summary>
Determines whether or not the connection will automatically participate
in the current distributed transaction (if one exists)
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FailIfMissing">
<summary>
If set to true, will throw an exception if the database specified in the connection
string does not exist. If false, the database will be created automatically.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.LegacyFormat">
<summary>
If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger
database sizes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ReadOnly">
<summary>
When enabled, the database will be opened for read-only access and writing will be disabled.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Password">
<summary>
Gets/sets the database encryption password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.HexPassword">
<summary>
Gets/sets the database encryption hexadecimal password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
<summary>
Gets/Sets the page size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.MaxPageCount">
<summary>
Gets/Sets the maximum number of pages the database may hold
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.CacheSize">
<summary>
Gets/Sets the cache size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormat">
<summary>
Gets/Sets the DateTime format for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeKind">
<summary>
Gets/Sets the DateTime kind for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormatString">
<summary>
Gets/sets the DateTime format string used for formatting
and parsing purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BaseSchemaName">
<summary>
Gets/Sets the placeholder base schema name used for
.NET Framework compatibility purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.JournalMode">
<summary>
Determines how SQLite handles the transaction journal file.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultIsolationLevel">
<summary>
Sets the default isolation level for transactions on the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultDbType">
<summary>
Gets/sets the default database type for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTypeName">
<summary>
Gets/sets the default type name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.VfsName">
<summary>
Gets/sets the VFS name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ForeignKeys">
<summary>
If enabled, use foreign key constraints
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.RecursiveTriggers">
<summary>
Enable or disable the recursive trigger capability.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ZipVfsVersion">
<summary>
If non-null, this is the version of ZipVFS to use. This requires the
System.Data.SQLite interop assembly -AND- primary managed assembly to
be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Flags">
<summary>
Gets/Sets the extra behavioral flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SetDefaults">
<summary>
If enabled, apply the default connection settings to opened databases.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ToFullPath">
<summary>
If enabled, attempt to resolve the provided data source file name to a
full path before opening.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoDefaultFlags">
<summary>
If enabled, skip using the configured default connection flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoSharedFlags">
<summary>
If enabled, skip using the configured shared connection flags.
</summary>
</member>
<member name="T:System.Data.SQLite.TypeAffinity">
<summary>
SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite
understands. The DateTime extension to the spec is for internal use only.
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
<summary>
Not used
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Int64">
<summary>
All integers in SQLite default to Int64
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Double">
<summary>
All floating point numbers in SQLite default to double
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Text">
<summary>
The default data type of SQLite is text
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Blob">
<summary>
Typically blob types are only seen when returned from a function
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Null">
<summary>
Null types can be returned from functions
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.DateTime">
<summary>
Used internally by this provider
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.None">
<summary>
Used internally by this provider
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventType">
<summary>
These are the event types associated with the
<see cref="T:System.Data.SQLite.SQLiteConnectionEventHandler"/>
delegate (and its corresponding event) and the
<see cref="T:System.Data.SQLite.ConnectionEventArgs"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Invalid">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Unknown">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opening">
<summary>
The connection is being opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ConnectionString">
<summary>
The connection string has been parsed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opened">
<summary>
The connection was opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase">
<summary>
The <see cref="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase"/> method was called on the
connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewTransaction">
<summary>
A transaction was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.EnlistTransaction">
<summary>
The connection was enlisted into a transaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCommand">
<summary>
A command was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewDataReader">
<summary>
A data reader was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCriticalHandle">
<summary>
An instance of a <see cref="T:System.Runtime.InteropServices.CriticalHandle"/> derived class has
been created to wrap a native resource.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closing">
<summary>
The connection is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closed">
<summary>
The connection was closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingCommand">
<summary>
A command is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingDataReader">
<summary>
A data reader is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosingDataReader">
<summary>
A data reader is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.OpenedFromPool">
<summary>
A native resource was opened (i.e. obtained) from the pool.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosedToPool">
<summary>
A native resource was closed (i.e. released) to the pool.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDateFormats">
<summary>
This implementation of SQLite for ADO.NET can process date/time fields in
databases in one of six formats.
</summary>
<remarks>
ISO8601 format is more compatible, readable, fully-processable, but less
accurate as it does not provide time down to fractions of a second.
JulianDay is the numeric format the SQLite uses internally and is arguably
the most compatible with 3rd party tools. It is not readable as text
without post-processing. Ticks less compatible with 3rd party tools that
query the database, and renders the DateTime field unreadable as text
without post-processing. UnixEpoch is more compatible with Unix systems.
InvariantCulture allows the configured format for the invariant culture
format to be used and is human readable. CurrentCulture allows the
configured format for the current culture to be used and is also human
readable.
The preferred order of choosing a DateTime format is JulianDay, ISO8601,
and then Ticks. Ticks is mainly present for legacy code support.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
<summary>
Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
<summary>
Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and
"yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
<summary>
The interval of time in days and fractions of a day since January 1, 4713 BC.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.UnixEpoch">
<summary>
The whole number of seconds since the Unix epoch (January 1, 1970).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.InvariantCulture">
<summary>
Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.CurrentCulture">
<summary>
Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Default">
<summary>
The default format for this provider.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
<summary>
This enum determines how SQLite treats its journal file.
</summary>
<remarks>
By default SQLite will create and delete the journal file when needed during a transaction.
However, for some computers running certain filesystem monitoring tools, the rapid
creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
when starting a transaction. If this is happening, you may want to change the default journal mode to Persist.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Default">
<summary>
The default mode, this causes SQLite to use the existing journaling mode for the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
<summary>
SQLite will create and destroy the journal file as-needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
<summary>
When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased,
and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
<summary>
This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database
corruption in this mode!
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Truncate">
<summary>
SQLite will truncate the journal file to zero-length instead of deleting it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Memory">
<summary>
SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity.
If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the
database file will very likely go corrupt.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Wal">
<summary>
SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent;
after being set it stays in effect across multiple database connections and after closing and reopening the database. A database
in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteSynchronousEnum">
<summary>
Possible values for the "synchronous" database setting. This setting determines
how often the database engine calls the xSync method of the VFS.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Default">
<summary>
Use the default "synchronous" database setting. Currently, this should be
the same as using the FULL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Off">
<summary>
The database engine continues without syncing as soon as it has handed
data off to the operating system. If the application running SQLite
crashes, the data will be safe, but the database might become corrupted
if the operating system crashes or the computer loses power before that
data has been written to the disk surface.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Normal">
<summary>
The database engine will still sync at the most critical moments, but
less often than in FULL mode. There is a very small (though non-zero)
chance that a power failure at just the wrong time could corrupt the
database in NORMAL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Full">
<summary>
The database engine will use the xSync method of the VFS to ensure that
all content is safely written to the disk surface prior to continuing.
This ensures that an operating system crash or power failure will not
corrupt the database. FULL synchronous is very safe, but it is also
slower.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteExecuteType">
<summary>
The requested command execution type. This controls which method of the
<see cref="T:System.Data.SQLite.SQLiteCommand"/> object will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.None">
<summary>
Do nothing. No method will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.NonQuery">
<summary>
The command is not expected to return a result -OR- the result is not
needed. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)"/> method
will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Scalar">
<summary>
The command is expected to return a scalar result -OR- the result should
be limited to a scalar result. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar"/>
or <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Reader">
<summary>
The command is expected to return <see cref="T:System.Data.SQLite.SQLiteDataReader"/> result.
The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Default">
<summary>
Use the default command execution type. Using this value is the same
as using the <see cref="F:System.Data.SQLite.SQLiteExecuteType.NonQuery"/> value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.None">
<summary>
No action is being performed. This value should not be used from
external code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Copy">
<summary>
No longer used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateIndex">
<summary>
An index will be created. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTable">
<summary>
A table will be created. The action-specific arguments are the
table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempIndex">
<summary>
A temporary index will be created. The action-specific arguments
are the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTable">
<summary>
A temporary table will be created. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTrigger">
<summary>
A temporary trigger will be created. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempView">
<summary>
A temporary view will be created. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTrigger">
<summary>
A trigger will be created. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateView">
<summary>
A view will be created. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Delete">
<summary>
A DELETE statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropIndex">
<summary>
An index will be dropped. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTable">
<summary>
A table will be dropped. The action-specific arguments are the tables
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempIndex">
<summary>
A temporary index will be dropped. The action-specific arguments are
the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTable">
<summary>
A temporary table will be dropped. The action-specific arguments are
the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTrigger">
<summary>
A temporary trigger will be dropped. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempView">
<summary>
A temporary view will be dropped. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTrigger">
<summary>
A trigger will be dropped. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropView">
<summary>
A view will be dropped. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Insert">
<summary>
An INSERT statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Pragma">
<summary>
A PRAGMA statement will be executed. The action-specific arguments
are the name of the PRAGMA and the new value or a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Read">
<summary>
A table column will be read. The action-specific arguments are the
table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Select">
<summary>
A SELECT statement will be executed. The action-specific arguments
are both null values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Transaction">
<summary>
A transaction will be started, committed, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
COMMIT, or ROLLBACK) and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Update">
<summary>
An UPDATE statement will be executed. The action-specific arguments
are the table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Attach">
<summary>
A database will be attached to the connection. The action-specific
arguments are the database file name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Detach">
<summary>
A database will be detached from the connection. The action-specific
arguments are the database name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.AlterTable">
<summary>
The schema of a table will be altered. The action-specific arguments
are the database name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Reindex">
<summary>
An index will be deleted and then recreated. The action-specific
arguments are the index name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Analyze">
<summary>
A table will be analyzed to gathers statistics about it. The
action-specific arguments are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateVtable">
<summary>
A virtual table will be created. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropVtable">
<summary>
A virtual table will be dropped. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Function">
<summary>
A SQL function will be called. The action-specific arguments are a
null value and the function name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Savepoint">
<summary>
A savepoint will be created, released, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
RELEASE, or ROLLBACK) and the savepoint name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Recursive">
<summary>
A recursive query will be executed. The action-specific arguments
are two null values.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressReturnCode">
<summary>
The possible return codes for the progress callback.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Continue">
<summary>
The operation should continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Interrupt">
<summary>
The operation should be interrupted.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ok">
<summary>
The action will be allowed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Deny">
<summary>
The overall action will be disallowed and an error message will be
returned from the query preparation method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ignore">
<summary>
The specific action will be disallowed; however, the overall action
will continue. The exact effects of this return code vary depending
on the specific action, please refer to the SQLite core library
documentation for futher details.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteType">
<summary>
Class used internally to determine the datatype of a column in a resultset
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Type">
<summary>
The DbType of the column, or DbType.Object if it cannot be determined
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Affinity">
<summary>
The affinity of a column, used for expressions or when Type is DbType.Object
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor">
<summary>
Constructs a default instance of this type.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor(System.Data.SQLite.TypeAffinity,System.Data.DbType)">
<summary>
Constructs an instance of this type with the specified field values.
</summary>
<param name="affinity">
The type affinity to use for the new instance.
</param>
<param name="type">
The database type to use for the new instance.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteDataAdapter">
<summary>
SQLite implementation of DbDataAdapter.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor">
<overloads>
This class is just a shell around the DbDataAdapter. Nothing from
DbDataAdapter is overridden here, just a few constructors are defined.
</overloads>
<summary>
Default constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Constructs a data adapter using the specified select command.
</summary>
<param name="cmd">
The select command to associate with the adapter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Constructs a data adapter with the supplied select command text and
associated with the specified connection.
</summary>
<param name="commandText">
The select command text to associate with the data adapter.
</param>
<param name="connection">
The connection to associate with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String,System.Boolean)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdating(System.Data.Common.RowUpdatingEventArgs)">
<summary>
Raised by the underlying DbDataAdapter when a row is being updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdated(System.Data.Common.RowUpdatedEventArgs)">
<summary>
Raised by DbDataAdapter after a row is updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdating">
<summary>
Row updating event handler
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdated">
<summary>
Row updated event handler
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.SelectCommand">
<summary>
Gets/sets the select command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.InsertCommand">
<summary>
Gets/sets the insert command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.UpdateCommand">
<summary>
Gets/sets the update command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.DeleteCommand">
<summary>
Gets/sets the delete command for this DataAdapter
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDataReader">
<summary>
SQLite implementation of DbDataReader.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._command">
<summary>
Underlying command this reader is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._flags">
<summary>
The flags pertaining to the associated connection (via the command).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatementIndex">
<summary>
Index of the current statement in the command being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatement">
<summary>
Current statement being Read()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._readingState">
<summary>
State of the current statement being processed.
-1 = First Step() executed, so the first Read() will be ignored
0 = Actively reading
1 = Finished reading
2 = Non-row-returning statement, no records
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._rowsAffected">
<summary>
Number of records affected by the insert/update statements executed on the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldCount">
<summary>
Count of fields (columns) in the row-returning statement currently being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._stepCount">
<summary>
The number of calls to Step() that have returned true (i.e. the number of rows that
have been read in the current result set).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldIndexes">
<summary>
Maps the field (column) names to their corresponding indexes within the results.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldTypeArray">
<summary>
Datatypes of active fields (columns) in the current statement, used for type-restricting data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._commandBehavior">
<summary>
The behavior of the datareader
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._disposeCommand">
<summary>
If set, then dispose of the command object when the reader is finished
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._throwOnDisposed">
<summary>
If set, then raise an exception when the object is accessed after being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._keyInfo">
<summary>
An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._version">
<summary>
Matches the version of the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information. Matches the base schema name used by the
associated connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.#ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)">
<summary>
Internal constructor, initializes the datareader and sets up to begin executing statements
</summary>
<param name="cmd">The SQLiteCommand this data reader is for</param>
<param name="behave">The expected behavior of the data reader</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Dispose(System.Boolean)">
<summary>
Dispose of all resources used by this datareader.
</summary>
<param name="disposing"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Close">
<summary>
Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckClosed">
<summary>
Throw an error if the datareader is closed
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckValidRow">
<summary>
Throw an error if a row is not loaded
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetEnumerator">
<summary>
Enumerator support
</summary>
<returns>Returns a DbEnumerator object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.RefreshFlags">
<summary>
Forces the connection flags cached by this data reader to be refreshed
from the underlying connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyForGet">
<summary>
This method is used to make sure the result set is open and a row is currently available.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyType(System.Int32,System.Data.DbType)">
<summary>
SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table
and the affinity of returned types are all we have to go on to type-restrict data in the reader.
This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In
the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do.
</summary>
<returns>
This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
</returns>
<param name="i">The index of the column to type-check</param>
<param name="typ">The type we want to get out of the column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBoolean(System.Int32)">
<summary>
Retrieves the column as a boolean value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>bool</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetByte(System.Int32)">
<summary>
Retrieves the column as a single byte value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>byte</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of bytes (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldOffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the bytes into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of bytes written into the array</returns>
<remarks>
To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChar(System.Int32)">
<summary>
Returns the column as a single character
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>char</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of chars (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldoffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the characters into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of characters written into the array</returns>
<remarks>
To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDataTypeName(System.Int32)">
<summary>
Retrieves the name of the back-end datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDateTime(System.Int32)">
<summary>
Retrieve the column as a date/time value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDecimal(System.Int32)">
<summary>
Retrieve the column as a decimal value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>decimal</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDouble(System.Int32)">
<summary>
Returns the column as a double
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>double</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFieldType(System.Int32)">
<summary>
Returns the .NET type of a given column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFloat(System.Int32)">
<summary>
Returns a column as a float value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>float</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetGuid(System.Int32)">
<summary>
Returns the column as a Guid
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Guid</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt16(System.Int32)">
<summary>
Returns the column as a short
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int16</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt32(System.Int32)">
<summary>
Retrieves the column as an int
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int32</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt64(System.Int32)">
<summary>
Retrieves the column as a long
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int64</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetName(System.Int32)">
<summary>
Retrieves the name of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetOrdinal(System.String)">
<summary>
Retrieves the i of a column, given its name
</summary>
<param name="name">The name of the column to retrieve</param>
<returns>The int i of the column</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSchemaTable">
<summary>
Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done
to gather the necessary information so it can be represented in an ADO.NET manner.
</summary>
<returns>Returns a DataTable containing the schema information for the active SELECT statement being processed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetString(System.Int32)">
<summary>
Retrieves the column as a string
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValue(System.Int32)">
<summary>
Retrieves the column as an object corresponding to the underlying datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues(System.Object[])">
<summary>
Retreives the values of multiple columns, up to the size of the supplied array
</summary>
<param name="values">The array to fill with values from the columns in the current resultset</param>
<returns>The number of columns retrieved</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues">
<summary>
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no
current row or no current resultset, an exception may be thrown.
</summary>
<returns>
The collection containing the column name and value information for the
current row of data in the current resultset or null if this information
cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.IsDBNull(System.Int32)">
<summary>
Returns True if the specified column is null
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>True or False</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.NextResult">
<summary>
Moves to the next resultset in multiple row-returning SQL command.
</summary>
<returns>True if the command was successful and a new resultset is available, False otherwise.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetConnection(System.Data.SQLite.SQLiteDataReader)">
<summary>
This method attempts to query the database connection associated with
the data reader in use. If the underlying command or connection is
unavailable, a null value will be returned.
</summary>
<returns>
The connection object -OR- null if it is unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteType,System.String)">
<summary>
Retrieves the SQLiteType for a given column and row value.
</summary>
<param name="oldType">
The original SQLiteType structure, based only on the column.
</param>
<param name="text">
The textual value of the column for a given row.
</param>
<returns>
The SQLiteType structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteConnectionFlags,System.Int32)">
<summary>
Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
</summary>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="i">The index of the column to retrieve</param>
<returns>A SQLiteType structure</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Read">
<summary>
Reads the next row from the resultset
</summary>
<returns>True if a new row was successfully loaded and is ready for processing</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Depth">
<summary>
Not implemented. Returns 0
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.FieldCount">
<summary>
Returns the number of columns in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.StepCount">
<summary>
Returns the number of rows seen so far in the current result set.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.VisibleFieldCount">
<summary>
Returns the number of visible fields in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.HasRows">
<summary>
Returns True if the resultset has rows that can be fetched
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.IsClosed">
<summary>
Returns True if the data reader is closed
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.RecordsAffected">
<summary>
Returns the number of rows affected by the statement being executed.
The value returned may not be accurate for DDL statements. Also, it
will be -1 for any statement that does not modify the database (e.g.
SELECT). If an otherwise read-only statement modifies the database
indirectly (e.g. via a virtual table or user-defined function), the
value returned is undefined.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.String)">
<summary>
Indexer to retrieve data from a column given its name
</summary>
<param name="name">The name of the column to retrieve data for</param>
<returns>The value contained in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.Int32)">
<summary>
Indexer to retrieve data from a column given its i
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>The value contained in the column</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteException">
<summary>
SQLite exception class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Private constructor for use with serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Public constructor for generating a SQLite exception given the error
code and message.
</summary>
<param name="errorCode">
The SQLite return code to report.
</param>
<param name="message">
Message text to go along with the return code message text.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String)">
<summary>
Public constructor that uses the base class constructor for the error
message.
</summary>
<param name="message">Error message text.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor">
<summary>
Public constructor that uses the default base class constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String,System.Exception)">
<summary>
Public constructor that uses the base class constructor for the error
message and inner exception.
</summary>
<param name="message">Error message text.</param>
<param name="innerException">The original (inner) exception.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Adds extra information to the serialized object data specific to this
class type. This is only used for serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code.
</summary>
<param name="errorCode">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetStockErrorMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Returns the composite error message based on the SQLite return code
and the optional detailed error message.
</summary>
<param name="errorCode">The SQLite return code.</param>
<param name="message">Optional detailed error message.</param>
<returns>Error message text for the return code.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ResultCode">
<summary>
Gets the associated SQLite result code for this exception as a
<see cref="T:System.Data.SQLite.SQLiteErrorCode"/>. This property returns the same
underlying value as the <see cref="P:System.Data.SQLite.SQLiteException.ErrorCode"/> property.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ErrorCode">
<summary>
Gets the associated SQLite return code for this exception as an
<see cref="T:System.Int32"/>. For desktop versions of the .NET Framework,
this property overrides the property of the same name within the
<see cref="T:System.Runtime.InteropServices.ExternalException"/>
class. This property returns the same underlying value as the
<see cref="P:System.Data.SQLite.SQLiteException.ResultCode"/> property.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteErrorCode">
<summary>
SQLite error codes. Actually, this enumeration represents a return code,
which may also indicate success in one of several ways (e.g. SQLITE_OK,
SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is
something of a misnomer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Unknown">
<summary>
The error code is unknown. This error code
is only used by the managed wrapper itself.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Ok">
<summary>
Successful result
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Error">
<summary>
SQL error or missing database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Internal">
<summary>
Internal logic error in SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Perm">
<summary>
Access permission denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort">
<summary>
Callback routine requested an abort
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy">
<summary>
The database file is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked">
<summary>
A table in the database is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoMem">
<summary>
A malloc() failed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly">
<summary>
Attempt to write a readonly database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Interrupt">
<summary>
Operation terminated by sqlite3_interrupt()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr">
<summary>
Some kind of disk I/O error occurred
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt">
<summary>
The database disk image is malformed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotFound">
<summary>
Unknown opcode in sqlite3_file_control()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Full">
<summary>
Insertion failed because database is full
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen">
<summary>
Unable to open the database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Protocol">
<summary>
Database lock protocol error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Empty">
<summary>
Database is empty
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Schema">
<summary>
The database schema changed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.TooBig">
<summary>
String or BLOB exceeds size limit
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint">
<summary>
Abort due to constraint violation
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Mismatch">
<summary>
Data type mismatch
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Misuse">
<summary>
Library used incorrectly
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoLfs">
<summary>
Uses OS features not supported on host
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth">
<summary>
Authorization denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Format">
<summary>
Auxiliary database format error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Range">
<summary>
2nd parameter to sqlite3_bind out of range
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotADb">
<summary>
File opened that is not a database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice">
<summary>
Notifications from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning">
<summary>
Warnings from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Row">
<summary>
sqlite3_step() has another row ready
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Done">
<summary>
sqlite3_step() has finished executing
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NonExtendedMask">
<summary>
Used to mask off extended result codes
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Read">
<summary>
A file read operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Short_Read">
<summary>
A file read operation returned less data than requested.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Write">
<summary>
A file write operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fsync">
<summary>
A file synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Fsync">
<summary>
A directory synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Truncate">
<summary>
A file truncate operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fstat">
<summary>
A file metadata operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Unlock">
<summary>
A file unlock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_RdLock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete">
<summary>
A file delete operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Blocked">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_NoMem">
<summary>
Out-of-memory during a file operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Access">
<summary>
A file existence/status operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_CheckReservedLock">
<summary>
A check for a reserved lock failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Lock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Close">
<summary>
A file close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Close">
<summary>
A directory close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmOpen">
<summary>
A shared memory open operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmSize">
<summary>
A shared memory size operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmLock">
<summary>
A shared memory lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmMap">
<summary>
A shared memory map operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Seek">
<summary>
A file seek operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete_NoEnt">
<summary>
A file delete operation failed because it does not exist.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Mmap">
<summary>
A file memory mapping operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_GetTempPath">
<summary>
The temporary directory path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ConvPath">
<summary>
A path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked_SharedCache">
<summary>
A database table is locked in shared-cache mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Recovery">
<summary>
A database file is locked due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Snapshot">
<summary>
A database file is locked due to snapshot semantics.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_NoTempDir">
<summary>
A database file cannot be opened because no temporary directory is available.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_IsDir">
<summary>
A database file cannot be opened because its path represents a directory.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_FullPath">
<summary>
A database file cannot be opened because its full path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_ConvPath">
<summary>
A database file cannot be opened because a path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt_Vtab">
<summary>
A virtual table is malformed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Recovery">
<summary>
A database file is read-only due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_CantLock">
<summary>
A database file is read-only because a lock could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Rollback">
<summary>
A database file is read-only because it needs rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_DbMoved">
<summary>
A database file is read-only because it was moved while open.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort_Rollback">
<summary>
An operation is being aborted due to rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Check">
<summary>
A CHECK constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_CommitHook">
<summary>
A commit hook produced a unsuccessful return code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_ForeignKey">
<summary>
A FOREIGN KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Function">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_NotNull">
<summary>
A NOT NULL constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_PrimaryKey">
<summary>
A PRIMARY KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Trigger">
<summary>
The RAISE function was used by a trigger-program.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Unique">
<summary>
A UNIQUE constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Vtab">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_RowId">
<summary>
A ROWID constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Wal">
<summary>
Frames were recovered from the WAL log file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Rollback">
<summary>
Pages were recovered from the journal file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning_AutoIndex">
<summary>
An automatic index was created to process a query.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth_User">
<summary>
User authentication failed.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFactory">
<summary>
SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
</summary>
<summary>
SQLite implementation of <see cref="T:System.IServiceProvider"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.#ctor">
<summary>
Constructs a new instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Dispose">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFactory.Instance">
<summary>
Static instance member which returns an instanced <see cref="T:System.Data.SQLite.SQLiteFactory"/> class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommand">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommandBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommandBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnection">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnection"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnectionStringBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnectionStringBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateDataAdapter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteDataAdapter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateParameter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteParameter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.System#IServiceProvider#GetService(System.Type)">
<summary>
Will provide a <see cref="T:System.IServiceProvider"/> object in .NET 3.5.
</summary>
<param name="serviceType">The class or interface type to query for.</param>
<returns></returns>
</member>
<member name="E:System.Data.SQLite.SQLiteFactory.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application. This event is provided for backward compatibility only.
New code should use the <see cref="T:System.Data.SQLite.SQLiteLog"/> class instead.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunction">
<summary>
This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each
connection to the database.
</summary>
<remarks>
Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database
calls during processing.
It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class
services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement
information in member variables of user-defined function classes.
For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will
be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._base">
<summary>
The base connection this function is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._contextDataList">
<summary>
Internal array used to keep track of aggregate function context data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._flags">
<summary>
The connection flags associated with this object (this should be the
same value as the flags associated with the parent connection object).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._InvokeFunc">
<summary>
Holds a reference to the callback function for user functions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._StepFunc">
<summary>
Holds a reference to the callbakc function for stepping in an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._FinalFunc">
<summary>
Holds a reference to the callback function for finalizing an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._CompareFunc">
<summary>
Holds a reference to the callback function for collating sequences
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._context">
<summary>
Current context of the current callback. Only valid during a callback
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._registeredFunctions">
<summary>
This static dictionary contains all the registered (known) user-defined
functions declared using the proper attributes. The contained dictionary
values are always null and are not currently used.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor">
<summary>
Internal constructor, initializes the function's internal variables.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.Boolean)">
<summary>
Constructs an instance of this class using the specified data-type
conversion parameters.
</summary>
<param name="format">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="formatString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="utf16">
Non-zero to create a UTF-16 data-type conversion context; otherwise,
a UTF-8 data-type conversion context will be created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose">
<summary>
Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if
someone closes the connection while a DataReader is open.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose(System.Boolean)">
<summary>
Placeholder for a user-defined disposal routine
</summary>
<param name="disposing">True if the object is being disposed explicitly</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])">
<summary>
Scalar functions override this method to do their magic.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="args">The arguments for the command to process</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
Aggregate functions override this method to do their magic.
</summary>
<remarks>
Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible.
</remarks>
<param name="args">The arguments for the command to process</param>
<param name="stepNumber">The 1-based step number. This is incrememted each time the step method is called.</param>
<param name="contextData">A placeholder for implementers to store contextual data pertaining to the current context.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)">
<summary>
Aggregate functions override this method to finish their aggregate processing.
</summary>
<remarks>
If you implemented your aggregate function properly,
you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have
all the information you need in there to figure out what to return.
NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will
be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value
if that is the case.
</remarks>
<param name="contextData">Your own assigned contextData, provided for you so you can return your final results.</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)">
<summary>
User-defined collating sequences override this method to provide a custom string sorting algorithm.
</summary>
<param name="param1">The first string to compare.</param>
<param name="param2">The second strnig to compare.</param>
<returns>1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ConvertParams(System.Int32,System.IntPtr)">
<summary>
Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="nArgs">The number of arguments</param>
<param name="argsptr">A pointer to the array of arguments</param>
<returns>An object array of the arguments once they've been converted to .NET values</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.SetReturnValue(System.IntPtr,System.Object)">
<summary>
Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context.
</summary>
<param name="context">The context the return value applies to</param>
<param name="returnValue">The parameter to return to SQLite</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ScalarCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback16(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.StepCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method.
WARNING: Must not throw exceptions.
</summary>
<remarks>
This function takes care of doing the lookups and getting the important information put together to call the Step() function.
That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so
binary searches can be done to find the data.
</remarks>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr)">
<summary>
An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#cctor">
<summary>
Using reflection, enumerate all assemblies in the current appdomain looking for classes that
have a SQLiteFunctionAttribute attribute, and registering them accordingly.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.Type)">
<summary>
Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work
properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported.
</summary>
<param name="typ">The type of the function to register</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.String,System.Int32,System.Data.SQLite.FunctionType,System.Type,System.Delegate,System.Delegate)">
<summary>
Alternative method of registering a function. This method
does not require the specified type to be annotated with
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="name">
The name of the function to register.
</param>
<param name="argumentCount">
The number of arguments accepted by the function.
</param>
<param name="functionType">
The type of SQLite function being resitered (e.g. scalar,
aggregate, or collating sequence).
</param>
<param name="instanceType">
The <see cref="T:System.Type"/> that actually implements the function.
This will only be used if the <paramref name="callback1"/>
and <paramref name="callback2"/> parameters are null.
</param>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/>,
<see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/>,
and <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> virtual methods.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> virtual method. This
parameter is only necessary for aggregate functions.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CreateFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction@)">
<summary>
Creates a <see cref="T:System.Data.SQLite.SQLiteFunction"/> instance based on the specified
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> containing the metadata about
the function to create.
</param>
<param name="function">
The created function -OR- null if the function could not be created.
</param>
<returns>
Non-zero if the function was created; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection.
It is done this way so that all user-defined functions will access the database using the same encoding scheme
as the connection (UTF-8 or UTF-16).
</summary>
<remarks>
The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks.
</remarks>
<param name="sqlbase">The base object on which the functions are to bind.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>Returns a logical list of functions which the connection should retain until it is closed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindAllFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Boolean)">
<summary>
Called by the SQLiteBase derived classes, this method unbinds all registered (known)
functions -OR- all previously bound user-defined functions from a connection.
</summary>
<param name="sqlbase">The base object from which the functions are to be unbound.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions
currently bound to the connection.
</param>
<returns>Non-zero if all the specified user-defined functions were unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined functions from a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteFunction.SQLiteConvert">
<summary>
Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
strings and DateTime's into the current connection's encoding schema.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteInvokeDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</summary>
<param name="param0">
This is always the string literal "Invoke".
</param>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStepDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</summary>
<param name="param0">
This is always the string literal "Step".
</param>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method.
</summary>
<param name="param0">
This is always the string literal "Final".
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteCompareDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method.
</summary>
<param name="param0">
This is always the string literal "Compare".
</param>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteDelegateFunction">
<summary>
This class implements a SQLite function using a <see cref="T:System.Delegate"/>.
All the virtual methods of the <see cref="T:System.Data.SQLite.SQLiteFunction"/> class are
implemented using calls to the <see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/>,
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/>, <see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/>,
and <see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> strongly typed delegate types
or via the <see cref="M:System.Delegate.DynamicInvoke(System.Object[])"/> method.
The arguments are presented in the same order they appear in
the associated <see cref="T:System.Data.SQLite.SQLiteFunction"/> methods with one exception:
the first argument is the name of the virtual method being implemented.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.NoCallbackError">
<summary>
This error message is used by the overridden virtual methods when
a required <see cref="T:System.Delegate"/> property (e.g.
<see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1"/> or <see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2"/>) has not been
set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.ResultInt32Error">
<summary>
This error message is used by the overridden <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/>
method when the result does not have a type of <see cref="T:System.Int32"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor">
<summary>
Constructs an empty instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor(System.Delegate,System.Delegate)">
<summary>
Constructs an instance of this class using the specified
<see cref="T:System.Delegate"/> as the <see cref="T:System.Data.SQLite.SQLiteFunction"/>
implementation.
</summary>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetInvokeArgs(System.Object[],System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Invoke".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetStepArgs(System.Object[],System.Int32,System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.UpdateStepArgs(System.Object[],System.Object@,System.Boolean)">
<summary>
Updates the output arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
using an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step". Currently, only the
<paramref name="contextData"/> parameter is updated.
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetFinalArgs(System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Final".
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetCompareArgs(System.String,System.String,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Compare".
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])">
<summary>
This virtual method is the implementation for scalar functions.
See the <see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/> method for more
details.
</summary>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/> method
for more details.
</summary>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> method
for more details.
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)">
<summary>
This virtual method is part of the implementation for collating
sequences. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> method
for more details.
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionEx">
<summary>
Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
</summary>
<remarks>
User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.GetCollationSequence">
<summary>
Obtains the collating sequence in effect for the given function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="T:System.Data.SQLite.FunctionType">
<summary>
The type of user-defined function to declare
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Scalar">
<summary>
Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Aggregate">
<summary>
Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
Examples include SUM(), COUNT(), AVG(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Collation">
<summary>
Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is
sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting
in a user-defined manner.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCallback">
<summary>
An internal callback delegate declaration.
</summary>
<param name="context">Raw native context pointer for the user function.</param>
<param name="argc">Total number of arguments to the user function.</param>
<param name="argv">Raw native pointer to the array of raw native argument pointers.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalCallback">
<summary>
An internal final callback delegate declaration.
</summary>
<param name="context">Raw context pointer for the user function</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCollation">
<summary>
Internal callback delegate for implementing collating sequences
</summary>
<param name="puser">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="pv1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="pv2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second.</returns>
</member>
<member name="T:System.Data.SQLite.CollationTypeEnum">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Binary">
<summary>
The built-in BINARY collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.NoCase">
<summary>
The built-in NOCASE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Reverse">
<summary>
The built-in REVERSE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Custom">
<summary>
A custom user-defined collating sequence
</summary>
</member>
<member name="T:System.Data.SQLite.CollationEncodingEnum">
<summary>
The encoding type the collation sequence uses
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF8">
<summary>
The collation sequence is UTF8
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16LE">
<summary>
The collation sequence is UTF16 little-endian
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16BE">
<summary>
The collation sequence is UTF16 big-endian
</summary>
</member>
<member name="T:System.Data.SQLite.CollationSequence">
<summary>
A struct describing the collating sequence a function is executing in
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Name">
<summary>
The name of the collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Type">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Encoding">
<summary>
The text encoding of the collation sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence._func">
<summary>
Context of the function that requested the collating sequence
</summary>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.String,System.String)">
<summary>
Calls the base collating sequence to compare two strings
</summary>
<param name="s1">The first string to compare</param>
<param name="s2">The second string to compare</param>
<returns>-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2</returns>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.Char[],System.Char[])">
<summary>
Calls the base collating sequence to compare two character arrays
</summary>
<param name="c1">The first array to compare</param>
<param name="c2">The second array to compare</param>
<returns>-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
<summary>
A simple custom attribute to enable us to easily find user-defined functions in
the loaded assemblies and initialize them in SQLite as connections are made.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor">
<summary>
Default constructor, initializes the internal variables for the function.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor(System.String,System.Int32,System.Data.SQLite.FunctionType)">
<summary>
Constructs an instance of this class. This sets the initial
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/>, <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/>, and
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> properties to null.
</summary>
<param name="name">
The name of the function, as seen by the SQLite core library.
</param>
<param name="argumentCount">
The number of arguments that the function will accept.
</param>
<param name="functionType">
The type of function being declared. This will either be Scalar,
Aggregate, or Collation.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Name">
<summary>
The function's name as it will be used in SQLite command text.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Arguments">
<summary>
The number of arguments this function expects. -1 if the number of arguments is variable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.FuncType">
<summary>
The type of function this implementation will be.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType">
<summary>
The <see cref="T:System.Type"/> object instance that describes the class
containing the implementation for the associated function. The value of
this property will not be used if either the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/> or
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> property values are set to non-null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader">
<summary>
This class provides key info for a given SQLite statement.
<remarks>
Providing key information for a given statement is non-trivial :(
</remarks>
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.#ctor(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteDataReader,System.Data.SQLite.SQLiteStatement)">
<summary>
This function does all the nasty work at determining what keys need to be returned for
a given statement.
</summary>
<param name="cnn"></param>
<param name="reader"></param>
<param name="stmt"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Sync">
<summary>
Make sure all the subqueries are open and ready and sync'd with the current rowid
of the table they're supporting
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Reset">
<summary>
Release any readers on any subqueries
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.AppendSchemaTable(System.Data.DataTable)">
<summary>
Append all the columns we've added to the original query to the schema
</summary>
<param name="tbl"></param>
</member>
<member name="P:System.Data.SQLite.SQLiteKeyReader.Count">
<summary>
How many additional columns of keyinfo we're holding
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyInfo">
<summary>
Used to support CommandBehavior.KeyInfo
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyQuery">
<summary>
A single sub-query for a given table/database.
</summary>
</member>
<member name="T:System.Data.SQLite.LogEventArgs">
<summary>
Event data for logging event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.ErrorCode">
<summary>
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Message">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.LogEventArgs.#ctor(System.IntPtr,System.Object,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="pUserData">Should be null.</param>
<param name="errorCode">
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</param>
<param name="message">The error message, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLogEventHandler">
<summary>
Raised when a log event occurs.
</summary>
<param name="sender">The current connection</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLog">
<summary>
Manages the SQLite custom logging functionality and the associated
callback for the whole process.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog.syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._domainUnload">
<summary>
Member variable to store the AppDomain.DomainUnload event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._defaultHandler">
<summary>
The default log event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._callback">
<summary>
The log callback passed to native SQLite engine. This must live
as long as the SQLite library has a pointer to it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._sql">
<summary>
The base SQLite object to interop with.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._enabled">
<summary>
This will be non-zero if logging is currently enabled.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.Initialize">
<summary>
Initializes the SQLite logging facilities.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.DomainUnload(System.Object,System.EventArgs)">
<summary>
Handles the AppDomain being unloaded.
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The SQLite error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Int32,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The integer error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Object,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">
The error code. The type of this object value should be
System.Int32 or SQLiteErrorCode.
</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.InitializeDefaultHandler">
<summary>
Creates and initializes the default log event handler.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.AddDefaultHandler">
<summary>
Adds the default log event handler to the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.RemoveDefaultHandler">
<summary>
Removes the default log event handler from the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal proxy function that calls any registered application log
event handlers.
WARNING: This method is used more-or-less directly by native code,
do not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogEventHandler(System.Object,System.Data.SQLite.LogEventArgs)">
<summary>
Default logger. Currently, uses the Trace class (i.e. sends events
to the current trace listeners, if any).
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="E:System.Data.SQLite.SQLiteLog._handlers">
<summary>
Member variable to store the application log handler to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteLog.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteLog.Enabled">
<summary>
If this property is true, logging is enabled; otherwise, logging is
disabled. When logging is disabled, no logging events will fire.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMetaDataCollectionNames">
<summary>
MetaDataCollections specific to SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Catalogs">
<summary>
Returns a list of databases attached to the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Columns">
<summary>
Returns column information for the specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Indexes">
<summary>
Returns index information for the optionally-specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.IndexColumns">
<summary>
Returns base columns for the given index
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Tables">
<summary>
Returns the tables in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Views">
<summary>
Returns user-defined views in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ViewColumns">
<summary>
Returns underlying column information on the given view
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ForeignKeys">
<summary>
Returns foreign key information for the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Triggers">
<summary>
Returns the triggers on the database
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameter">
<summary>
SQLite implementation of DbParameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter.UnknownDbType">
<summary>
This value represents an "unknown" <see cref="P:System.Data.SQLite.SQLiteParameter.DbType"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dbType">
<summary>
The data type of the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._rowVersion">
<summary>
The version information for mapping the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._objValue">
<summary>
The value of the data in the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._sourceColumn">
<summary>
The source column for the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._parameterName">
<summary>
The column name
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dataSize">
<summary>
The data size, unused by SQLite
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.IDbCommand)">
<summary>
Constructor used when creating for use with a specific command.
</summary>
<param name="command">
The command associated with this parameter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String)">
<summary>
Constructs a named parameter given the specified parameter name
</summary>
<param name="parameterName">The parameter name</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Object)">
<summary>
Constructs a named parameter given the specified parameter name and initial value
</summary>
<param name="parameterName">The parameter name</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType)">
<summary>
Constructs a named parameter of the specified type
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String)">
<summary>
Constructs a named parameter of the specified type and source column reference
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, source column and row version
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType)">
<summary>
Constructs an unnamed parameter of the specified data type
</summary>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Object)">
<summary>
Constructs an unnamed parameter of the specified data type and sets the initial value
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String)">
<summary>
Constructs an unnamed parameter of the specified data type and source column
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified data type, source column and row version
</summary>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32)">
<summary>
Constructs a named parameter of the specified type and size
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs a named parameter of the specified type, size and source column
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="isNullable">Ignored</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="value">The initial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object)">
<summary>
Constructs a named parameter, yet another flavor
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="sourceColumnNullMapping">Whether or not this parameter is for comparing NULL's</param>
<param name="value">The intial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32)">
<summary>
Constructs an unnamed parameter of the specified type and size
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs an unnamed parameter of the specified type, size, and source column
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified type, size, source column and row version
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.ResetDbType">
<summary>
Resets the DbType of the parameter so it can be inferred from the value
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.Clone">
<summary>
Clones a parameter
</summary>
<returns>A new, unassociated SQLiteParameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.IsNullable">
<summary>
Whether or not the parameter can contain a null value
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.DbType">
<summary>
Returns the datatype of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Direction">
<summary>
Supports only input parameters
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.ParameterName">
<summary>
Returns the parameter name
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Size">
<summary>
Returns the size of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumn">
<summary>
Gets/sets the source column
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumnNullMapping">
<summary>
Used by DbCommandBuilder to determine the mapping for nullable fields
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceVersion">
<summary>
Gets and sets the row version
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Value">
<summary>
Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameterCollection">
<summary>
SQLite implementation of DbParameterCollection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._command">
<summary>
The underlying command to which this collection belongs
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._parameterList">
<summary>
The internal array of parameters in this collection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._unboundFlag">
<summary>
Determines whether or not all parameters have been bound to their statement(s)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Initializes the collection
</summary>
<param name="cmd">The command to which the collection belongs</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetEnumerator">
<summary>
Retrieves an enumerator for the collection
</summary>
<returns>An enumerator for the underlying array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<param name="sourceColumn">The source column</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Data.SQLite.SQLiteParameter)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameter">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Object)">
<summary>
Adds a parameter to the collection
</summary>
<param name="value">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddWithValue(System.String,System.Object)">
<summary>
Adds a named/unnamed parameter and its value to the parameter collection.
</summary>
<param name="parameterName">Name of the parameter, or null to indicate an unnamed parameter</param>
<param name="value">The initial value of the parameter</param>
<returns>Returns the SQLiteParameter object created during the call.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Data.SQLite.SQLiteParameter[])">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Array)">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Clear">
<summary>
Clears the array and resets the collection
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.String)">
<summary>
Determines if the named parameter exists in the collection
</summary>
<param name="parameterName">The name of the parameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.Object)">
<summary>
Determines if the parameter exists in the collection
</summary>
<param name="value">The SQLiteParameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.CopyTo(System.Array,System.Int32)">
<summary>
Not implemented
</summary>
<param name="array"></param>
<param name="index"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.String)">
<summary>
Retrieve a parameter by name from the collection
</summary>
<param name="parameterName">The name of the parameter to fetch</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.Int32)">
<summary>
Retrieves a parameter by its index in the collection
</summary>
<param name="index">The index of the parameter to retrieve</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.String)">
<summary>
Returns the index of a parameter given its name
</summary>
<param name="parameterName">The name of the parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.Object)">
<summary>
Returns the index of a parameter
</summary>
<param name="value">The parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Insert(System.Int32,System.Object)">
<summary>
Inserts a parameter into the array at the specified location
</summary>
<param name="index">The zero-based index to insert the parameter at</param>
<param name="value">The parameter to insert</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Remove(System.Object)">
<summary>
Removes a parameter from the collection
</summary>
<param name="value">The parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.String)">
<summary>
Removes a parameter from the collection given its name
</summary>
<param name="parameterName">The name of the parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.Int32)">
<summary>
Removes a parameter from the collection given its index
</summary>
<param name="index">The zero-based parameter index to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.String,System.Data.Common.DbParameter)">
<summary>
Re-assign the named parameter to a new parameter object
</summary>
<param name="parameterName">The name of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.Int32,System.Data.Common.DbParameter)">
<summary>
Re-assign a parameter at the specified index
</summary>
<param name="index">The zero-based index of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Unbind">
<summary>
Un-binds all parameters from their statements
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.MapParameters(System.Data.SQLite.SQLiteStatement)">
<summary>
This function attempts to map all parameters in the collection to all statements in a Command.
Since named parameters may span multiple statements, this function makes sure all statements are bound
to the same named parameter. Unnamed parameters are bound in sequence.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsSynchronized">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsFixedSize">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsReadOnly">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.SyncRoot">
<summary>
Returns null
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Count">
<summary>
Returns a count of parameters in the collection
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.String)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="parameterName">Name of the parameter to get/set</param>
<returns>The specified named SQLite parameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.Int32)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="index">The index of the parameter to get/set</param>
<returns>The specified SQLite parameter</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStatement">
<summary>
Represents a single SQL statement in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sql">
<summary>
The underlying SQLite object this statement is bound to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlStatement">
<summary>
The command text of this SQL statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlite_stmt">
<summary>
The actual statement pointer
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._unnamedParameters">
<summary>
An index from which unnamed parameters begin
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramNames">
<summary>
Names of the parameters as SQLite understands them to be
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramValues">
<summary>
Parameters for this statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._command">
<summary>
Command this statement belongs to (if any)
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._flags">
<summary>
The flags associated with the parent connection object.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteStatementHandle,System.String,System.Data.SQLite.SQLiteStatement)">
<summary>
Initializes the statement and attempts to get all information about parameters in the statement
</summary>
<param name="sqlbase">The base SQLite object</param>
<param name="flags">The flags associated with the parent connection object</param>
<param name="stmt">The statement</param>
<param name="strCommand">The command text for this statement</param>
<param name="previous">The previous command in a multi-statement command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.Dispose">
<summary>
Disposes and finalizes the statement
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.TryGetChanges(System.Int32@,System.Boolean@)">
<summary>
If the underlying database connection is open, fetches the number of changed rows
resulting from the most recent query; otherwise, does nothing.
</summary>
<param name="changes">
The number of changes when true is returned.
Undefined if false is returned.
</param>
<param name="readOnly">
The read-only flag when true is returned.
Undefined if false is returned.
</param>
<returns>Non-zero if the number of changed rows was fetched.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.MapParameter(System.String,System.Data.SQLite.SQLiteParameter)">
<summary>
Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to
this statement, and if so, keeps a reference to the parameter so it can be bound later.
</summary>
<param name="s">The parameter name to map</param>
<param name="p">The parameter to assign it</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameters">
<summary>
Bind all parameters, making sure the caller didn't miss any
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameter(System.Int32,System.Data.SQLite.SQLiteParameter)">
<summary>
Perform the bind operation for an individual parameter
</summary>
<param name="index">The index of the parameter to bind</param>
<param name="param">The parameter we're binding</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTransaction">
<summary>
SQLite implementation of DbTransaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteTransaction._cnn">
<summary>
The connection to which this transaction is bound
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.#ctor(System.Data.SQLite.SQLiteConnection,System.Boolean)">
<summary>
Constructs the transaction object, binding it to the supplied connection
</summary>
<param name="connection">The connection to open a transaction on</param>
<param name="deferredLock">TRUE to defer the writelock, or FALSE to lock immediately</param>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Dispose(System.Boolean)">
<summary>
Disposes the transaction. If it is currently active, any changes are rolled back.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Commit">
<summary>
Commits the current transaction.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Rollback">
<summary>
Rolls back the active transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.Connection">
<summary>
Returns the underlying connection to which this transaction applies.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.IsolationLevel">
<summary>
Gets the isolation level of the transaction. SQLite only supports Serializable transactions.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.DllFileExtension">
<summary>
The file extension used for dynamic link libraries.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.ConfigFileExtension">
<summary>
The file extension used for the XML configuration file.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.XmlConfigFileName">
<summary>
This is the name of the XML configuration file specific to the
System.Data.SQLite assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.staticSyncRoot">
<summary>
This lock is used to protect the static _SQLiteNativeModuleFileName,
_SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.processorArchitecturePlatforms">
<summary>
This dictionary stores the mappings between processor architecture
names and platform names. These mappings are now used for two
purposes. First, they are used to determine if the assembly code
base should be used instead of the location, based upon whether one
or more of the named sub-directories exist within the assembly code
base. Second, they are used to assist in loading the appropriate
SQLite interop assembly into the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.#cctor">
<summary>
For now, this method simply calls the Initialize method.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.MonoRuntimeType">
<summary>
This type is only present when running on Mono.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.isMono">
<summary>
Keeps track of whether we are running on Mono. Initially null, it is
set by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method on its first call. Later, it
is returned verbatim by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.IsMono">
<summary>
Determines whether or not this assembly is running on Mono.
</summary>
<returns>
Non-zero if this assembly is running on Mono.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.StringFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
This is a wrapper around the
<see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method.
On Mono, it has to call the method overload without the
<see cref="T:System.IFormatProvider"/> parameter, due to a bug in Mono.
</summary>
<param name="provider">
This is used for culture-specific formatting.
</param>
<param name="format">
The format string.
</param>
<param name="args">
An array the objects to format.
</param>
<returns>
The resulting string.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.Initialize">
<summary>
Attempts to initialize this class by pre-loading the native SQLite
library for the processor architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetXmlConfigFileName">
<summary>
Queries and returns the XML configuration file name for the assembly
containing the managed System.Data.SQLite components.
</summary>
<returns>
The XML configuration file name -OR- null if it cannot be determined
or does not exist.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetSettingValue(System.String,System.String)">
<summary>
Queries and returns the value of the specified setting, using the XML
configuration file and/or the environment variables for the current
process and/or the current system, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<returns>
The value of the setting -OR- the default value specified by
<paramref name="default" /> if it has not been set explicitly or
cannot be determined. By default, all references to existing
environment variables will be expanded to their corresponding values
within the value to be returned unless either the "No_Expand" or
"No_Expand_<paramref name="name" />" environment variable is set [to
anything].
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetAssemblyDirectory">
<summary>
Queries and returns the directory for the assembly currently being
executed.
</summary>
<returns>
The directory for the assembly currently being executed -OR- null if
it cannot be determined.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.PROCESSOR_ARCHITECTURE">
<summary>
The name of the environment variable containing the processor
architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.LoadLibrary(System.String)">
<summary>
This is the P/Invoke method that wraps the native Win32 LoadLibrary
function. See the MSDN documentation for full details on what it
does.
</summary>
<param name="fileName">
The name of the executable library.
</param>
<returns>
The native module handle upon success -OR- IntPtr.Zero on failure.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleFileName">
<summary>
The native module file name for the native SQLite library or null.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleHandle">
<summary>
The native module handle for the native SQLite library or the value
IntPtr.Zero.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.SearchForDirectory(System.String@,System.String@)">
<summary>
Searches for the native SQLite library in the directory containing
the assembly currently being executed as well as the base directory
for the current application domain.
</summary>
<param name="baseDirectory">
Upon success, this parameter will be modified to refer to the base
directory containing the native SQLite library.
</param>
<param name="processorArchitecture">
Upon success, this parameter will be modified to refer to the name
of the immediate directory (i.e. the offset from the base directory)
containing the native SQLite library.
</param>
<returns>
Non-zero (success) if the native SQLite library was found; otherwise,
zero (failure).
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetBaseDirectory">
<summary>
Queries and returns the base directory of the current application
domain.
</summary>
<returns>
The base directory for the current application domain -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.FixUpDllFileName(System.String)">
<summary>
Determines if the dynamic link library file name requires a suffix
and adds it if necessary.
</summary>
<param name="fileName">
The original dynamic link library file name to inspect.
</param>
<returns>
The dynamic link library file name, possibly modified to include an
extension.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetProcessorArchitecture">
<summary>
Queries and returns the processor architecture of the current
process.
</summary>
<returns>
The processor architecture of the current process -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetPlatformName(System.String)">
<summary>
Given the processor architecture, returns the name of the platform.
</summary>
<param name="processorArchitecture">
The processor architecture to be translated to a platform name.
</param>
<returns>
The platform name for the specified processor architecture -OR- null
if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.PreLoadSQLiteDll(System.String,System.String,System.String@,System.IntPtr@)">
<summary>
Attempts to load the native SQLite library based on the specified
directory and processor architecture.
</summary>
<param name="baseDirectory">
The base directory to use, null for default (the base directory of
the current application domain). This directory should contain the
processor architecture specific sub-directories.
</param>
<param name="processorArchitecture">
The requested processor architecture, null for default (the
processor architecture of the current process). This caller should
almost always specify null for this parameter.
</param>
<param name="nativeModuleFileName">
The candidate native module file name to load will be stored here,
if necessary.
</param>
<param name="nativeModuleHandle">
The native module handle as returned by LoadLibrary will be stored
here, if necessary. This value will be IntPtr.Zero if the call to
LoadLibrary fails.
</param>
<returns>
Non-zero if the native module was loaded successfully; otherwise,
zero.
</returns>
</member>
<member name="T:System.Data.SQLite.SR">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.DataTypes">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot;?&gt;
&lt;DocumentElement&gt;
&lt;DataTypes&gt;
&lt;TypeName&gt;smallint&lt;/TypeName&gt;
&lt;ProviderDbType&gt;10&lt;/ProviderDbType&gt;
&lt;ColumnSize&gt;5&lt;/ColumnSize&gt;
&lt;DataType&gt;System.Int16&lt;/DataType&gt;
&lt;CreateFormat&gt;smallint&lt;/CreateFormat&gt;
&lt;IsAutoIncrementable&gt;false&lt;/IsAutoIncrementable&gt;
&lt;IsCaseSensitive&gt;false&lt;/IsCaseSensitive&gt;
&lt;IsFixedLength&gt;true&lt;/IsFixedLength&gt;
&lt;IsFixedPrecisionScale&gt;true&lt;/IsFixedPrecisionScale&gt;
&lt;IsLong&gt;false&lt;/IsLong&gt;
&lt;IsNullable&gt;true&lt;/ [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Keywords">
<summary>
Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.MetaDataCollections">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;DocumentElement&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;MetaDataCollections&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;DataSourceInformation&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataC [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteContext">
<summary>
This class represents a context from the SQLite core library that can
be passed to the sqlite3_result_*() and associated functions.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeHandle">
<summary>
This interface represents a native handle provided by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteNativeHandle.NativeHandle">
<summary>
The native handle value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteContext.pContext">
<summary>
The native context handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
context handle.
</summary>
<param name="pContext">
The native context handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetNull">
<summary>
Sets the context result to NULL.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetDouble(System.Double)">
<summary>
Sets the context result to the specified <see cref="T:System.Double"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Double"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt(System.Int32)">
<summary>
Sets the context result to the specified <see cref="T:System.Int32"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int32"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt64(System.Int64)">
<summary>
Sets the context result to the specified <see cref="T:System.Int64"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int64"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetString(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value.
</summary>
<param name="value">
The <see cref="T:System.String"/> value to use. This value will be
converted to the UTF-8 encoding prior to being used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetError(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value containing an error message.
</summary>
<param name="value">
The <see cref="T:System.String"/> value containing the error message text.
This value will be converted to the UTF-8 encoding prior to being
used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorCode(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorTooBig">
<summary>
Sets the context result to contain the error code SQLITE_TOOBIG.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorNoMemory">
<summary>
Sets the context result to contain the error code SQLITE_NOMEM.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetBlob(System.Byte[])">
<summary>
Sets the context result to the specified <see cref="T:System.Byte"/> array
value.
</summary>
<param name="value">
The <see cref="T:System.Byte"/> array value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetZeroBlob(System.Int32)">
<summary>
Sets the context result to a BLOB of zeros of the specified size.
</summary>
<param name="value">
The number of zero bytes to use for the BLOB context result.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetValue(System.Data.SQLite.SQLiteValue)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteValue"/>.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteValue"/> to use.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteContext.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteValue">
<summary>
This class represents a value from the SQLite core library that can be
passed to the sqlite3_value_*() and associated functions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteValue.pValue">
<summary>
The native value handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
value handle.
</summary>
<param name="pValue">
The native value handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.PreventNativeAccess">
<summary>
Invalidates the native value handle, thereby preventing further
access to it from this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.ArrayFromSizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native pointers to native sqlite3_value
structures into a managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/>
object instances.
</summary>
<param name="argc">
The number of elements in the logical array of native sqlite3_value
structures.
</param>
<param name="argv">
The native pointer to the logical array of native sqlite3_value
structures to convert.
</param>
<returns>
The managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances or
null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetTypeAffinity">
<summary>
Gets and returns the type affinity associated with this value.
</summary>
<returns>
The type affinity associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBytes">
<summary>
Gets and returns the number of bytes associated with this value, if
it refers to a UTF-8 encoded string.
</summary>
<returns>
The number of bytes associated with this value. The returned value
may be zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt">
<summary>
Gets and returns the <see cref="T:System.Int32"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Int32"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt64">
<summary>
Gets and returns the <see cref="T:System.Int64"/> associated with
this value.
</summary>
<returns>
The <see cref="T:System.Int64"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetDouble">
<summary>
Gets and returns the <see cref="T:System.Double"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Double"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetString">
<summary>
Gets and returns the <see cref="T:System.String"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.String"/> associated with this value. The value is
converted from the UTF-8 encoding prior to being returned.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBlob">
<summary>
Gets and returns the <see cref="T:System.Byte"/> array associated with this
value.
</summary>
<returns>
The <see cref="T:System.Byte"/> array associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.Persist">
<summary>
Uses the native value handle to obtain and store the managed value
for this object instance, thus saving it for later use. The type
of the managed value is determined by the type affinity of the
native value. If the type affinity is not recognized by this
method, no work is done and false is returned.
</summary>
<returns>
Non-zero if the native value was persisted successfully.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Persisted">
<summary>
Returns non-zero if the native SQLite value has been successfully
persisted as a managed value within this object instance (i.e. the
<see cref="P:System.Data.SQLite.SQLiteValue.Value"/> property may then be read successfully).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Value">
<summary>
If the managed value for this object instance is available (i.e. it
has been previously persisted via the <see cref="M:System.Data.SQLite.SQLiteValue.Persist"/>) method,
that value is returned; otherwise, an exception is thrown. The
returned value may be null.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintOp">
<summary>
These are the allowed values for the operators that are part of a
constraint term in the WHERE clause of a query that uses a virtual
table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.EqualTo">
<summary>
This value represents the equality operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThan">
<summary>
This value represents the greater than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThanOrEqualTo">
<summary>
This value represents the less than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThan">
<summary>
This value represents the less than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThanOrEqualTo">
<summary>
This value represents the greater than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.Match">
<summary>
This value represents the MATCH operator.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraint">
<summary>
This class represents the native sqlite3_index_constraint structure
from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint structure.
</summary>
<param name="constraint">
The native sqlite3_index_constraint structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Int32,System.Data.SQLite.SQLiteIndexConstraintOp,System.Byte,System.Int32)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column on left-hand side of constraint.
</param>
<param name="op">
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</param>
<param name="usable">
True if this constraint is usable.
</param>
<param name="iTermOffset">
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iColumn">
<summary>
Column on left-hand side of constraint.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.op">
<summary>
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.usable">
<summary>
True if this constraint is usable.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iTermOffset">
<summary>
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOrderBy">
<summary>
This class represents the native sqlite3_index_orderby structure from
the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_orderby)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_orderby structure.
</summary>
<param name="orderBy">
The native sqlite3_index_orderby structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column number.
</param>
<param name="desc">
True for DESC. False for ASC.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.iColumn">
<summary>
Column number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.desc">
<summary>
True for DESC. False for ASC.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintUsage">
<summary>
This class represents the native sqlite3_index_constraint_usage
structure from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor">
<summary>
Constructs a default instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint_usage)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint_usage structure.
</summary>
<param name="constraintUsage">
The native sqlite3_index_constraint_usage structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="argvIndex">
If greater than 0, constraint is part of argv to xFilter.
</param>
<param name="omit">
Do not code a test for this constraint.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.argvIndex">
<summary>
If greater than 0, constraint is part of argv to xFilter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.omit">
<summary>
Do not code a test for this constraint.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexInputs">
<summary>
This class represents the various inputs provided by the SQLite core
library to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexInputs.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.Constraints">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.OrderBys">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOutputs">
<summary>
This class represents the various outputs provided to the SQLite core
library by the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.#ctor(System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> instances
to pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.CanUseEstimatedRows">
<summary>
Determines if the native estimatedRows field can be used, based on
the available version of the SQLite core library.
</summary>
<returns>
Non-zero if the <see cref="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows"/> property is supported
by the SQLite core library.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.ConstraintUsages">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> object
instances, each containing information to be supplied to the SQLite
core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexString">
<summary>
String used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.NeedToFreeIndexString">
<summary>
Non-zero if the index string must be freed by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.OrderByConsumed">
<summary>
True if output is already ordered.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedCost">
<summary>
Estimated cost of using this index. Using a null value here
indicates that a default estimated cost value should be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows">
<summary>
Estimated number of rows returned. Using a null value here
indicates that a default estimated rows value should be used.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndex">
<summary>
This class represents the various inputs and outputs used with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> (and
<see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/>) instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.FromIntPtr(System.IntPtr,System.Data.SQLite.SQLiteIndex@)">
<summary>
Converts a native pointer to a native sqlite3_index_info structure
into a new <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</summary>
<param name="pIndex">
The native pointer to the native sqlite3_index_info structure to
convert.
</param>
<param name="index">
Upon success, this parameter will be modified to contain the newly
created <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.ToIntPtr(System.Data.SQLite.SQLiteIndex,System.IntPtr)">
<summary>
Populates the outputs of a pre-allocated native sqlite3_index_info
structure using an existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object
instance.
</summary>
<param name="index">
The existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing
the output data to use.
</param>
<param name="pIndex">
The native pointer to the pre-allocated native sqlite3_index_info
structure.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Inputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexInputs"/> object instance containing
the inputs to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Outputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexOutputs"/> object instance containing
the outputs from the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTable">
<summary>
This class represents a managed virtual table implementation. It is
not sealed and should be used as the base class for any user-defined
virtual table classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.ModuleNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the module implementing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.DatabaseNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the database containing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.TableNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.#ctor(System.String[])">
<summary>
Constructs an instance of this class.
</summary>
<param name="arguments">
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.BestIndex(System.Data.SQLite.SQLiteIndex)">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method in order to
perform index selection based on the constraints provided by the
SQLite core library.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Rename(System.String)">
<summary>
Attempts to record the renaming of the virtual table associated
with this object instance.
</summary>
<param name="name">
The new name for the virtual table.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTable.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Arguments">
<summary>
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.ModuleName">
<summary>
The name of the module implementing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.DatabaseName">
<summary>
The name of the database containing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.TableName">
<summary>
The name of the virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Index">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to the most recent index
selection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursor">
<summary>
This class represents a managed virtual table cursor implementation.
It is not sealed and should be used as the base class for any
user-defined virtual table cursor classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.InvalidRowIndex">
<summary>
This value represents an invalid integer row sequence number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.rowIndex">
<summary>
The field holds the integer row sequence number for the current row
pointed to by this cursor object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor">
<summary>
Constructs an instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.TryPersistValues(System.Data.SQLite.SQLiteValue[])">
<summary>
Attempts to persist the specified <see cref="T:System.Data.SQLite.SQLiteValue"/> object
instances in order to make them available after the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method returns.
</summary>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances to be
persisted.
</param>
<returns>
The number of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances that were
successfully persisted.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method in order to
perform filtering of the result rows and/or to record the filtering
criteria provided by the SQLite core library.
</summary>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.GetRowIndex">
<summary>
Determines the integer row sequence number for the current row.
</summary>
<returns>
The integer row sequence number for the current row -OR- zero if
it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.NextRowIndex">
<summary>
Adjusts the integer row sequence number so that it refers to the
next row.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Table">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexString">
<summary>
String used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Values">
<summary>
The values used to filter the rows returned via this cursor object
instance. This value will be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeModule">
<summary>
This interface represents a virtual table implementation written in
native code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
This method is called to create a new instance of a virtual table
in response to a CREATE VIRTUAL TABLE statement. The db parameter
is a pointer to the SQLite database connection that is executing
the CREATE VIRTUAL TABLE statement. The pAux argument is the copy
of the client data pointer that was the fourth argument to the
sqlite3_create_module() or sqlite3_create_module_v2() call that
registered the virtual table module. The argv parameter is an
array of argc pointers to null terminated strings. The first
string, argv[0], is the name of the module being invoked. The
module name is the name provided as the second argument to
sqlite3_create_module() and as the argument to the USING clause of
the CREATE VIRTUAL TABLE statement that is running. The second,
argv[1], is the name of the database in which the new virtual table
is being created. The database name is "main" for the primary
database, or "temp" for TEMP database, or the name given at the
end of the ATTACH statement for attached databases. The third
element of the array, argv[2], is the name of the new virtual
table, as specified following the TABLE keyword in the CREATE
VIRTUAL TABLE statement. If present, the fourth and subsequent
strings in the argv[] array report the arguments to the module name
in the CREATE VIRTUAL TABLE statement.
</para>
<para>
The job of this method is to construct the new virtual table object
(an sqlite3_vtab object) and return a pointer to it in *ppVTab.
</para>
<para>
As part of the task of creating a new sqlite3_vtab structure, this
method must invoke sqlite3_declare_vtab() to tell the SQLite core
about the columns and datatypes in the virtual table. The
sqlite3_declare_vtab() API has the following prototype:
</para>
<para>
<code>
int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
</code>
</para>
<para>
The first argument to sqlite3_declare_vtab() must be the same
database connection pointer as the first parameter to this method.
The second argument to sqlite3_declare_vtab() must a
zero-terminated UTF-8 string that contains a well-formed CREATE
TABLE statement that defines the columns in the virtual table and
their data types. The name of the table in this CREATE TABLE
statement is ignored, as are all constraints. Only the column names
and datatypes matter. The CREATE TABLE statement string need not to
be held in persistent memory. The string can be deallocated and/or
reused as soon as the sqlite3_declare_vtab() routine returns.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
The xConnect method is very similar to xCreate. It has the same
parameters and constructs a new sqlite3_vtab structure just like
xCreate. And it must also call sqlite3_declare_vtab() like xCreate.
</para>
<para>
The difference is that xConnect is called to establish a new
connection to an existing virtual table whereas xCreate is called
to create a new virtual table from scratch.
</para>
<para>
The xCreate and xConnect methods are only different when the
virtual table has some kind of backing store that must be
initialized the first time the virtual table is created. The
xCreate method creates and initializes the backing store. The
xConnect method just connects to an existing backing store.
</para>
<para>
As an example, consider a virtual table implementation that
provides read-only access to existing comma-separated-value (CSV)
files on disk. There is no backing store that needs to be created
or initialized for such a virtual table (since the CSV files
already exist on disk) so the xCreate and xConnect methods will be
identical for that module.
</para>
<para>
Another example is a virtual table that implements a full-text
index. The xCreate method must create and initialize data
structures to hold the dictionary and posting lists for that index.
The xConnect method, on the other hand, only has to locate and use
an existing dictionary and posting lists that were created by a
prior xCreate call.
</para>
<para>
The xConnect method must return SQLITE_OK if it is successful in
creating the new virtual table, or SQLITE_ERROR if it is not
successful. If not successful, the sqlite3_vtab structure must not
be allocated. An error message may optionally be returned in *pzErr
if unsuccessful. Space to hold the error message string must be
allocated using an SQLite memory allocation function like
sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
attempt to free the space using sqlite3_free() after the error has
been reported up to the application.
</para>
<para>
The xConnect method is required for every virtual table
implementation, though the xCreate and xConnect pointers of the
sqlite3_module object may point to the same function the virtual
table does not need to initialize backing store.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
<para>
SQLite uses the xBestIndex method of a virtual table module to
determine the best way to access the virtual table. The xBestIndex
method has a prototype like this:
</para>
<code>
int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
</code>
<para>
The SQLite core communicates with the xBestIndex method by filling
in certain fields of the sqlite3_index_info structure and passing a
pointer to that structure into xBestIndex as the second parameter.
The xBestIndex method fills out other fields of this structure
which forms the reply. The sqlite3_index_info structure looks like
this:
</para>
<code>
struct sqlite3_index_info {
/* Inputs */
const int nConstraint; /* Number of entries in aConstraint */
const struct sqlite3_index_constraint {
int iColumn; /* Column on left-hand side of
* constraint */
unsigned char op; /* Constraint operator */
unsigned char usable; /* True if this constraint is usable */
int iTermOffset; /* Used internally - xBestIndex should
* ignore */
} *const aConstraint; /* Table of WHERE clause constraints */
const int nOrderBy; /* Number of terms in the ORDER BY
* clause */
const struct sqlite3_index_orderby {
int iColumn; /* Column number */
unsigned char desc; /* True for DESC. False for ASC. */
} *const aOrderBy; /* The ORDER BY clause */
/* Outputs */
struct sqlite3_index_constraint_usage {
int argvIndex; /* if greater than zero, constraint is
* part of argv to xFilter */
unsigned char omit; /* Do not code a test for this
* constraint */
} *const aConstraintUsage;
int idxNum; /* Number used to identify the index */
char *idxStr; /* String, possibly obtained from
* sqlite3_malloc() */
int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if
* true */
int orderByConsumed; /* True if output is already ordered */
double estimatedCost; /* Estimated cost of using this index */
};
</code>
<para>
In addition, there are some defined constants:
</para>
<code>
#define SQLITE_INDEX_CONSTRAINT_EQ 2
#define SQLITE_INDEX_CONSTRAINT_GT 4
#define SQLITE_INDEX_CONSTRAINT_LE 8
#define SQLITE_INDEX_CONSTRAINT_LT 16
#define SQLITE_INDEX_CONSTRAINT_GE 32
#define SQLITE_INDEX_CONSTRAINT_MATCH 64
</code>
<para>
The SQLite core calls the xBestIndex method when it is compiling a
query that involves a virtual table. In other words, SQLite calls
this method when it is running sqlite3_prepare() or the equivalent.
By calling this method, the SQLite core is saying to the virtual
table that it needs to access some subset of the rows in the
virtual table and it wants to know the most efficient way to do
that access. The xBestIndex method replies with information that
the SQLite core can then use to conduct an efficient search of the
virtual table.
</para>
<para>
While compiling a single SQL query, the SQLite core might call
xBestIndex multiple times with different settings in
sqlite3_index_info. The SQLite core will then select the
combination that appears to give the best performance.
</para>
<para>
Before calling this method, the SQLite core initializes an instance
of the sqlite3_index_info structure with information about the
query that it is currently trying to process. This information
derives mainly from the WHERE clause and ORDER BY or GROUP BY
clauses of the query, but also from any ON or USING clauses if the
query is a join. The information that the SQLite core provides to
the xBestIndex method is held in the part of the structure that is
marked as "Inputs". The "Outputs" section is initialized to zero.
</para>
<para>
The information in the sqlite3_index_info structure is ephemeral
and may be overwritten or deallocated as soon as the xBestIndex
method returns. If the xBestIndex method needs to remember any part
of the sqlite3_index_info structure, it should make a copy. Care
must be take to store the copy in a place where it will be
deallocated, such as in the idxStr field with needToFreeIdxStr set
to 1.
</para>
<para>
Note that xBestIndex will always be called before xFilter, since
the idxNum and idxStr outputs from xBestIndex are required inputs
to xFilter. However, there is no guarantee that xFilter will be
called following a successful xBestIndex.
</para>
<para>
The xBestIndex method is required for every virtual table
implementation.
</para>
<para>
2.3.1 Inputs
</para>
<para>
The main thing that the SQLite core is trying to communicate to the
virtual table is the constraints that are available to limit the
number of rows that need to be searched. The aConstraint[] array
contains one entry for each constraint. There will be exactly
nConstraint entries in that array.
</para>
<para>
Each constraint will correspond to a term in the WHERE clause or in
a USING or ON clause that is of the form
</para>
<code>
column OP EXPR
</code>
<para>
Where "column" is a column in the virtual table, OP is an operator
like "=" or "&lt;", and EXPR is an arbitrary expression. So, for
example, if the WHERE clause contained a term like this:
</para>
<code>
a = 5
</code>
<para>
Then one of the constraints would be on the "a" column with
operator "=" and an expression of "5". Constraints need not have a
literal representation of the WHERE clause. The query optimizer
might make transformations to the WHERE clause in order to extract
as many constraints as it can. So, for example, if the WHERE clause
contained something like this:
</para>
<code>
x BETWEEN 10 AND 100 AND 999&gt;y
</code>
<para>
The query optimizer might translate this into three separate
constraints:
</para>
<code>
x &gt;= 10
x &lt;= 100
y &lt; 999
</code>
<para>
For each constraint, the aConstraint[].iColumn field indicates
which column appears on the left-hand side of the constraint. The
first column of the virtual table is column 0. The rowid of the
virtual table is column -1. The aConstraint[].op field indicates
which operator is used. The SQLITE_INDEX_CONSTRAINT_* constants map
integer constants into operator values. Columns occur in the order
they were defined by the call to sqlite3_declare_vtab() in the
xCreate or xConnect method. Hidden columns are counted when
determining the column index.
</para>
<para>
The aConstraint[] array contains information about all constraints
that apply to the virtual table. But some of the constraints might
not be usable because of the way tables are ordered in a join. The
xBestIndex method must therefore only consider constraints that
have an aConstraint[].usable flag which is true.
</para>
<para>
In addition to WHERE clause constraints, the SQLite core also tells
the xBestIndex method about the ORDER BY clause. (In an aggregate
query, the SQLite core might put in GROUP BY clause information in
place of the ORDER BY clause information, but this fact should not
make any difference to the xBestIndex method.) If all terms of the
ORDER BY clause are columns in the virtual table, then nOrderBy
will be the number of terms in the ORDER BY clause and the
aOrderBy[] array will identify the column for each term in the
order by clause and whether or not that column is ASC or DESC.
</para>
<para>
2.3.2 Outputs
</para>
<para>
Given all of the information above, the job of the xBestIndex
method it to figure out the best way to search the virtual table.
</para>
<para>
The xBestIndex method fills the idxNum and idxStr fields with
information that communicates an indexing strategy to the xFilter
method. The information in idxNum and idxStr is arbitrary as far as
the SQLite core is concerned. The SQLite core just copies the
information through to the xFilter method. Any desired meaning can
be assigned to idxNum and idxStr as long as xBestIndex and xFilter
agree on what that meaning is.
</para>
<para>
The idxStr value may be a string obtained from an SQLite memory
allocation function such as sqlite3_mprintf(). If this is the case,
then the needToFreeIdxStr flag must be set to true so that the
SQLite core will know to call sqlite3_free() on that string when it
has finished with it, and thus avoid a memory leak.
</para>
<para>
If the virtual table will output rows in the order specified by the
ORDER BY clause, then the orderByConsumed flag may be set to true.
If the output is not automatically in the correct order then
orderByConsumed must be left in its default false setting. This
will indicate to the SQLite core that it will need to do a separate
sorting pass over the data after it comes out of the virtual table.
</para>
<para>
The estimatedCost field should be set to the estimated number of
disk access operations required to execute this query against the
virtual table. The SQLite core will often call xBestIndex multiple
times with different constraints, obtain multiple cost estimates,
then choose the query plan that gives the lowest estimate.
</para>
<para>
The aConstraintUsage[] array contains one element for each of the
nConstraint constraints in the inputs section of the
sqlite3_index_info structure. The aConstraintUsage[] array is used
by xBestIndex to tell the core how it is using the constraints.
</para>
<para>
The xBestIndex method may set aConstraintUsage[].argvIndex entries
to values greater than one. Exactly one entry should be set to 1,
another to 2, another to 3, and so forth up to as many or as few as
the xBestIndex method wants. The EXPR of the corresponding
constraints will then be passed in as the argv[] parameters to
xFilter.
</para>
<para>
For example, if the aConstraint[3].argvIndex is set to 1, then when
xFilter is called, the argv[0] passed to xFilter will have the EXPR
value of the aConstraint[3] constraint.
</para>
<para>
By default, the SQLite core double checks all constraints on each
row of the virtual table that it receives. If such a check is
redundant, the xBestFilter method can suppress that double-check by
setting aConstraintUsage[].omit.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pIndex">
The native pointer to the sqlite3_index_info structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table. Only the
sqlite3_vtab object is destroyed. The virtual table is not
destroyed and any backing store associated with the virtual table
persists. This method undoes the work of xConnect.
</para>
<para>
This method is a destructor for a connection to the virtual table.
Contrast this method with xDestroy. The xDestroy is a destructor
for the entire virtual table.
</para>
<para>
The xDisconnect method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table, just like the
xDisconnect method, and it also destroys the underlying table
implementation. This method undoes the work of xCreate.
</para>
<para>
The xDisconnect method is called whenever a database connection
that uses a virtual table is closed. The xDestroy method is only
called when a DROP TABLE statement is executed against the virtual
table.
</para>
<para>
The xDestroy method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
<para>
The xOpen method creates a new cursor used for accessing (read
and/or writing) a virtual table. A successful invocation of this
method will allocate the memory for the sqlite3_vtab_cursor (or a
subclass), initialize the new object, and make *ppCursor point to
the new object. The successful call then returns SQLITE_OK.
</para>
<para>
For every successful call to this method, the SQLite core will
later invoke the xClose method to destroy the allocated cursor.
</para>
<para>
The xOpen method need not initialize the pVtab field of the
sqlite3_vtab_cursor structure. The SQLite core will take care of
that chore automatically.
</para>
<para>
A virtual table implementation must be able to support an arbitrary
number of simultaneously open cursors.
</para>
<para>
When initially opened, the cursor is in an undefined state. The
SQLite core will invoke the xFilter method on the cursor prior to
any attempt to position or read from the cursor.
</para>
<para>
The xOpen method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)">
<summary>
<para>
The xClose method closes a cursor previously opened by xOpen. The
SQLite core will always call xClose once for each cursor opened
using xOpen.
</para>
<para>
This method must release all resources allocated by the
corresponding xOpen call. The routine will not be called again even
if it returns an error. The SQLite core will not use the
sqlite3_vtab_cursor again after it has been closed.
</para>
<para>
The xClose method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
<para>
This method begins a search of a virtual table. The first argument
is a cursor opened by xOpen. The next two argument define a
particular search index previously chosen by xBestIndex. The
specific meanings of idxNum and idxStr are unimportant as long as
xFilter and xBestIndex agree on what that meaning is.
</para>
<para>
The xBestIndex function may have requested the values of certain
expressions using the aConstraintUsage[].argvIndex values of the
sqlite3_index_info structure. Those values are passed to xFilter
using the argc and argv parameters.
</para>
<para>
If the virtual table contains one or more rows that match the
search criteria, then the cursor must be left point at the first
row. Subsequent calls to xEof must return false (zero). If there
are no rows match, then the cursor must be left in a state that
will cause the xEof to return true (non-zero). The SQLite engine
will use the xColumn and xRowid methods to access that row content.
The xNext method will be used to advance to the next row.
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xFilter method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="idxNum">
Number used to help identify the selected index.
</param>
<param name="idxStr">
The native pointer to the UTF-8 encoded string containing the
string used to help identify the selected index.
</param>
<param name="argc">
The number of native pointers to sqlite3_value structures specified
in <paramref name="argv" />.
</param>
<param name="argv">
An array of native pointers to sqlite3_value structures containing
filtering criteria for the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)">
<summary>
<para>
The xNext method advances a virtual table cursor to the next row of
a result set initiated by xFilter. If the cursor is already
pointing at the last row when this routine is called, then the
cursor no longer points to valid data and a subsequent call to the
xEof method must return true (non-zero). If the cursor is
successfully advanced to another row of content, then subsequent
calls to xEof must return false (zero).
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xNext method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)">
<summary>
<para>
The xEof method must return false (zero) if the specified cursor
currently points to a valid row of data, or true (non-zero)
otherwise. This method is called by the SQL engine immediately
after each xFilter and xNext invocation.
</para>
<para>
The xEof method is required for every virtual table implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
<para>
The SQLite core invokes this method in order to find the value for
the N-th column of the current row. N is zero-based so the first
column is numbered 0. The xColumn method may return its result back
to SQLite using one of the following interface:
</para>
<code>
sqlite3_result_blob()
sqlite3_result_double()
sqlite3_result_int()
sqlite3_result_int64()
sqlite3_result_null()
sqlite3_result_text()
sqlite3_result_text16()
sqlite3_result_text16le()
sqlite3_result_text16be()
sqlite3_result_zeroblob()
</code>
<para>
If the xColumn method implementation calls none of the functions
above, then the value of the column defaults to an SQL NULL.
</para>
<para>
To raise an error, the xColumn method should use one of the
result_text() methods to set the error message text, then return an
appropriate error code. The xColumn method must return SQLITE_OK on
success.
</para>
<para>
The xColumn method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="pContext">
The native pointer to the sqlite3_context structure to be used
for returning the specified column value to the SQLite core
library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
<para>
A successful invocation of this method will cause *pRowid to be
filled with the rowid of row that the virtual table cursor pCur is
currently pointing at. This method returns SQLITE_OK on success. It
returns an appropriate error code on failure.
</para>
<para>
The xRowid method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
<para>
All changes to a virtual table are made using the xUpdate method.
This one method can be used to insert, delete, or update.
</para>
<para>
The argc parameter specifies the number of entries in the argv
array. The value of argc will be 1 for a pure delete operation or
N+2 for an insert or replace or update where N is the number of
columns in the table. In the previous sentence, N includes any
hidden columns.
</para>
<para>
Every argv entry will have a non-NULL value in C but may contain
the SQL value NULL. In other words, it is always true that
argv[i]!=0 for i between 0 and argc-1. However, it might be the
case that sqlite3_value_type(argv[i])==SQLITE_NULL.
</para>
<para>
The argv[0] parameter is the rowid of a row in the virtual table
to be deleted. If argv[0] is an SQL NULL, then no deletion occurs.
</para>
<para>
The argv[1] parameter is the rowid of a new row to be inserted into
the virtual table. If argv[1] is an SQL NULL, then the
implementation must choose a rowid for the newly inserted row.
Subsequent argv[] entries contain values of the columns of the
virtual table, in the order that the columns were declared. The
number of columns will match the table declaration that the
xConnect or xCreate method made using the sqlite3_declare_vtab()
call. All hidden columns are included.
</para>
<para>
When doing an insert without a rowid (argc>1, argv[1] is an SQL
NULL), the implementation must set *pRowid to the rowid of the
newly inserted row; this will become the value returned by the
sqlite3_last_insert_rowid() function. Setting this value in all the
other cases is a harmless no-op; the SQLite engine ignores the
*pRowid return value if argc==1 or argv[1] is not an SQL NULL.
</para>
<para>
Each call to xUpdate will fall into one of cases shown below. Note
that references to argv[i] mean the SQL value held within the
argv[i] object, not the argv[i] object itself.
</para>
<code>
argc = 1
</code>
<para>
The single row with rowid equal to argv[0] is deleted. No
insert occurs.
</para>
<code>
argc > 1
argv[0] = NULL
</code>
<para>
A new row is inserted with a rowid argv[1] and column
values in argv[2] and following. If argv[1] is an SQL NULL,
the a new unique rowid is generated automatically.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] = argv[1]
</code>
<para>
The row with rowid argv[0] is updated with new values in
argv[2] and following parameters.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] ? argv[1]
</code>
<para>
The row with rowid argv[0] is updated with rowid argv[1]
and new values in argv[2] and following parameters. This
will occur when an SQL statement updates a rowid, as in
the statement:
</para>
<code>
UPDATE table SET rowid=rowid+1 WHERE ...;
</code>
<para>
The xUpdate method must return SQLITE_OK if and only if it is
successful. If a failure occurs, the xUpdate must return an
appropriate error code. On a failure, the pVTab->zErrMsg element
may optionally be replaced with error message text stored in memory
allocated from SQLite using functions such as sqlite3_mprintf() or
sqlite3_malloc().
</para>
<para>
If the xUpdate method violates some constraint of the virtual table
(including, but not limited to, attempting to store a value of the
wrong datatype, attempting to store a value that is too large or
too small, or attempting to change a read-only value) then the
xUpdate must fail with an appropriate error code.
</para>
<para>
There might be one or more sqlite3_vtab_cursor objects open and in
use on the virtual table instance and perhaps even on the row of
the virtual table when the xUpdate method is invoked. The
implementation of xUpdate must be prepared for attempts to delete
or modify rows of the table out from other existing cursors. If the
virtual table cannot accommodate such changes, the xUpdate method
must return an error code.
</para>
<para>
The xUpdate method is optional. If the xUpdate pointer in the
sqlite3_module for a virtual table is a NULL pointer, then the
virtual table is read-only.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="argc">
The number of new or modified column values contained in
<paramref name="argv" />.
</param>
<param name="argv">
The array of native pointers to sqlite3_value structures containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
<para>
This method begins a transaction on a virtual table. This is method
is optional. The xBegin pointer of sqlite3_module may be NULL.
</para>
<para>
This method is always followed by one call to either the xCommit or
xRollback method. Virtual table transactions do not nest, so the
xBegin method will not be invoked more than once on a single
virtual table without an intervening call to either xCommit or
xRollback. Multiple calls to other methods can and likely will
occur in between the xBegin and the corresponding xCommit or
xRollback.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)">
<summary>
<para>
This method signals the start of a two-phase commit on a virtual
table. This is method is optional. The xSync pointer of
sqlite3_module may be NULL.
</para>
<para>
This method is only invoked after call to the xBegin method and
prior to an xCommit or xRollback. In order to implement two-phase
commit, the xSync method on all virtual tables is invoked prior to
invoking the xCommit method on any virtual table. If any of the
xSync methods fail, the entire transaction is rolled back.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to commit. This is
method is optional. The xCommit pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin and
xSync.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to rollback. This is
method is optional. The xRollback pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="nArg">
The number of arguments to the function being sought.
</param>
<param name="zName">
The name of the function being sought.
</param>
<param name="callback">
Upon success, this parameter must be modified to contain the
delegate responsible for implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="callback" />.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="zNew">
The native pointer to the UTF-8 encoded string containing the new
name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="T:System.Data.SQLite.ISQLiteManagedModule">
<summary>
This interface represents a virtual table implementation written in
managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMemory">
<summary>
This class contains static methods that are used to allocate,
manipulate, and free native memory provided by the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)">
<summary>
Allocates at least the specified number of bytes of native memory
via the SQLite core library sqlite3_malloc() function and returns
the resulting native pointer.
</summary>
<param name="size">
The number of bytes to allocate.
</param>
<returns>
The native pointer that points to a block of memory of at least the
specified size -OR- <see cref="F:System.IntPtr.Zero"/> if the memory could
not be allocated.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Size(System.IntPtr)">
<summary>
Gets and returns the actual size of the specified memory block that
was previously obtained from the <see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
<returns>
The actual size, in bytes, of the memory block specified via the
native pointer.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Free(System.IntPtr)">
<summary>
Frees a memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteString">
<summary>
This class contains static methods that are used to deal with native
UTF-8 string pointers to be used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.ThirtyBits">
<summary>
This is the maximum possible length for the native UTF-8 encoded
strings used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.Utf8Encoding">
<summary>
This is the <see cref="T:System.Text.Encoding"/> object instance used to handle
conversions from/to UTF-8.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetUtf8BytesFromString(System.String)">
<summary>
Converts the specified managed string into the UTF-8 encoding and
returns the array of bytes containing its representation in that
encoding.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The array of bytes containing the representation of the managed
string in the UTF-8 encoding or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetStringFromUtf8Bytes(System.Byte[])">
<summary>
Converts the specified array of bytes representing a string in the
UTF-8 encoding and returns a managed string.
</summary>
<param name="bytes">
The array of bytes to convert.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.ProbeForUtf8ByteLength(System.IntPtr,System.Int32)">
<summary>
Probes a native pointer to a string in the UTF-8 encoding for its
terminating NUL character, within the specified length limit.
</summary>
<param name="pValue">
The native NUL-terminated string pointer.
</param>
<param name="limit">
The maximum length of the native string, in bytes.
</param>
<returns>
The length of the native string, in bytes -OR- zero if the length
could not be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr)">
<summary>
Converts the specified native NUL-terminated UTF-8 string pointer
into a managed string.
</summary>
<param name="pValue">
The native NUL-terminated UTF-8 string pointer.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr,System.Int32)">
<summary>
Converts the specified native UTF-8 string pointer of the specified
length into a managed string.
</summary>
<param name="pValue">
The native UTF-8 string pointer.
</param>
<param name="length">
The length of the native string, in bytes.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrFromString(System.String)">
<summary>
Converts the specified managed string into a native NUL-terminated
UTF-8 string pointer using memory obtained from the SQLite core
library.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The native NUL-terminated UTF-8 string pointer or
<see cref="F:System.IntPtr.Zero"/> upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringArrayFromUtf8SizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native NUL-terminated UTF-8 string
pointers into an array of managed strings.
</summary>
<param name="argc">
The number of elements in the logical array of native
NUL-terminated UTF-8 string pointers.
</param>
<param name="argv">
The native pointer to the logical array of native NUL-terminated
UTF-8 string pointers to convert.
</param>
<returns>
The array of managed strings or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrArrayFromStringArray(System.String[])">
<summary>
Converts an array of managed strings into an array of native
NUL-terminated UTF-8 string pointers.
</summary>
<param name="values">
The array of managed strings to convert.
</param>
<returns>
The array of native NUL-terminated UTF-8 string pointers or null
upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBytes">
<summary>
This class contains static methods that are used to deal with native
pointers to memory blocks that logically contain arrays of bytes to be
used with the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.FromIntPtr(System.IntPtr,System.Int32)">
<summary>
Converts a native pointer to a logical array of bytes of the
specified length into a managed byte array.
</summary>
<param name="pValue">
The native pointer to the logical array of bytes to convert.
</param>
<param name="length">
The length, in bytes, of the logical array of bytes to convert.
</param>
<returns>
The managed byte array or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.ToIntPtr(System.Byte[])">
<summary>
Converts a managed byte array into a native pointer to a logical
array of bytes.
</summary>
<param name="value">
The managed byte array to convert.
</param>
<returns>
The native pointer to a logical byte array or null upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteMarshal">
<summary>
This class contains static methods that are used to perform several
low-level data marshalling tasks between native and managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.IntPtrForOffset(System.IntPtr,System.Int32)">
<summary>
Returns a new <see cref="T:System.IntPtr"/> object instance based on the
specified <see cref="T:System.IntPtr"/> object instance and an integer
offset.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location that the new
<see cref="T:System.IntPtr"/> object instance should point to.
</param>
<returns>
The new <see cref="T:System.IntPtr"/> object instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.RoundUp(System.Int32,System.Int32)">
<summary>
Rounds up an integer size to the next multiple of the alignment.
</summary>
<param name="size">
The size, in bytes, to be rounded up.
</param>
<param name="alignment">
The required alignment for the return value.
</param>
<returns>
The size, in bytes, rounded up to the next multiple of the
alignment. This value may end up being the same as the original
size.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.NextOffsetOf(System.Int32,System.Int32,System.Int32)">
<summary>
Determines the offset, in bytes, of the next structure member.
</summary>
<param name="offset">
The offset, in bytes, of the current structure member.
</param>
<param name="size">
The size, in bytes, of the current structure member.
</param>
<param name="alignment">
The alignment, in bytes, of the next structure member.
</param>
<returns>
The offset, in bytes, of the next structure member.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadInt32(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Int32"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.Int32"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadDouble(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Double"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> to be read is located.
</param>
<returns>
The <see cref="T:System.Double"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadIntPtr(System.IntPtr,System.Int32)">
<summary>
Reads an <see cref="T:System.IntPtr"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.IntPtr"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt32(System.IntPtr,System.Int32,System.Int32)">
<summary>
Writes an <see cref="T:System.Int32"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int32"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt64(System.IntPtr,System.Int32,System.Int64)">
<summary>
Writes an <see cref="T:System.Int64"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int64"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int64"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteDouble(System.IntPtr,System.Int32,System.Double)">
<summary>
Writes a <see cref="T:System.Double"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Double"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteIntPtr(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Writes a <see cref="T:System.IntPtr"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.IntPtr"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.GetHashCode(System.Object,System.Boolean)">
<summary>
Generates a hash code value for the object.
</summary>
<param name="value">
The object instance used to calculate the hash code.
</param>
<param name="identity">
Non-zero if different object instances with the same value should
generate different hash codes, where applicable. This parameter
has no effect on the .NET Compact Framework.
</param>
<returns>
The hash code value -OR- zero if the object is null.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteModule">
<summary>
This class represents a managed virtual table module implementation.
It is not sealed and must be used as the base class for any
user-defined virtual table module classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.DefaultModuleVersion">
<summary>
The default version of the native sqlite3_module structure in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.nativeModule">
<summary>
This field is used to store the native sqlite3_module structure
associated with this object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.destroyModule">
<summary>
This field is used to store the destructor delegate to be passed to
the SQLite core library via the sqlite3_create_disposable_module()
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.disposableModule">
<summary>
This field is used to store a pointer to the native sqlite3_module
structure returned by the sqlite3_create_disposable_module
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.tables">
<summary>
This field is used to store the virtual table instances associated
with this module. The native pointer to the sqlite3_vtab derived
structure is used to key into this collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.cursors">
<summary>
This field is used to store the virtual table cursor instances
associated with this module. The native pointer to the
sqlite3_vtab_cursor derived structure is used to key into this
collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.functions">
<summary>
This field is used to store the virtual table function instances
associated with this module. The case-insensitive function name
and the number of arguments (with -1 meaning "any") are used to
construct the string that is used to key into this collection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateDisposableModule(System.IntPtr)">
<summary>
Calls the native SQLite core library in order to create a new
disposable module containing the implementation of a virtual table.
</summary>
<param name="pDb">
The native database connection pointer to use.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroyModule(System.IntPtr)">
<summary>
This method is called by the SQLite core library when the native
module associated with this object instance is being destroyed due
to its parent connection being closed. It may also be called by
the "vtshim" module if/when the sqlite3_dispose_module() function
is called.
</summary>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule">
<summary>
Creates and returns the native sqlite_module structure using the
configured (or default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation.
</summary>
<returns>
The native sqlite_module structure using the configured (or
default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule(System.Data.SQLite.ISQLiteNativeModule)">
<summary>
Creates and returns the native sqlite_module structure using the
specified <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
use.
</param>
<returns>
The native sqlite_module structure using the specified
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CopyNativeModule(System.Data.SQLite.UnsafeNativeMethods.sqlite3_module)">
<summary>
Creates a copy of the specified
<see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object instance,
using default implementations for the contained delegates when
necessary.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance to copy.
</param>
<returns>
The new <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
Calls one of the virtual table initialization methods.
</summary>
<param name="create">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method will be called.
</param>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DestroyOrDisconnect(System.Boolean,System.IntPtr)">
<summary>
Calls one of the virtual table finalization methods.
</summary>
<param name="destroy">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/>
method; otherwise, the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method will be
called.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTable,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
used to get the native pointer to the sqlite3_vtab derived
structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTableCursor,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetNativeModuleImpl">
<summary>
Gets and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation to be used when creating the native sqlite3_module
structure. Derived classes may override this method to supply an
alternate implementation for the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
be used when populating the native sqlite3_module structure. If
the returned value is null, the private methods provided by the
<see cref="T:System.Data.SQLite.SQLiteModule"/> class and relating to the
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface will be used to
create the necessary delegates.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateNativeModuleImpl">
<summary>
Creates and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation corresponding to the current
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation
corresponding to the current <see cref="T:System.Data.SQLite.SQLiteModule"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateTable">
<summary>
Allocates a native sqlite3_vtab derived structure and returns a
native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.ZeroTable(System.IntPtr)">
<summary>
Zeros out the fields of a native sqlite3_vtab derived structure.
</summary>
<param name="pVtab">
The native pointer to the native sqlite3_vtab derived structure to
zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeTable(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab structure using the provided native
pointer to it.
</summary>
<param name="pVtab">
A native pointer to a native sqlite3_vtab derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateCursor">
<summary>
Allocates a native sqlite3_vtab_cursor derived structure and
returns a native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab_cursor derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeCursor(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab_cursor structure using the provided
native pointer to it.
</summary>
<param name="pCursor">
A native pointer to a native sqlite3_vtab_cursor derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.Data.SQLite.SQLiteModule,System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromIntPtr(System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object
instance based on the native pointer to the sqlite3_vtab derived
structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance or null if
the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableToIntPtr(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab derived
structure and creates an association between it and the specified
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance to be used
when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorFromIntPtr(System.IntPtr,System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/>
object instance based on the native pointer to the
sqlite3_vtab_cursor derived structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance or null
if the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorToIntPtr(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab_cursor
derived structure and creates an association between it and the
specified <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance to be
used when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab_cursor derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetFunctionKey(System.Int32,System.String,System.Data.SQLite.SQLiteFunction)">
<summary>
Deterimines the key that should be used to identify and store the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance for the virtual table
(i.e. to be returned via the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method).
</summary>
<param name="argumentCount">
The number of arguments to the virtual table function.
</param>
<param name="name">
The name of the virtual table function.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance associated with
this virtual table function.
</param>
<returns>
The string that should be used to identify and store the virtual
table function instance. This method cannot return null. If null
is returned from this method, the behavior is undefined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareTable(System.Data.SQLite.SQLiteConnection,System.String,System.String@)">
<summary>
Attempts to declare the schema for the virtual table using the
specified database connection.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table. This parameter may not
be null.
</param>
<param name="sql">
The string containing the CREATE TABLE statement that completely
describes the schema for the virtual table. This parameter may not
be null.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareFunction(System.Data.SQLite.SQLiteConnection,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual
table function in response to a call into the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table
methods.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon
failure, it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteVirtualTableCursor,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Double})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedCost">
The estimated cost value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Int64})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedRows">
The estimated rows value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrorsNoThrow">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptionsNoThrow">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method,
and the <see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrors">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptions">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method, and the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModule.SQLiteNativeModule">
<summary>
This class implements the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface by forwarding those method calls to the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance it contains. If the
contained <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is null, all
the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> methods simply generate an
error.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogErrors">
<summary>
This is the value that is always used for the "logErrors"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogExceptions">
<summary>
This is the value that is always used for the "logExceptions"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableErrorMessage">
<summary>
This is the error message text used when the contained
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is not available
for any reason.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.module">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.#ctor(System.Data.SQLite.SQLiteModule)">
<summary>
Constructs an instance of this class.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableTableError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableCursorError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived
structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleCommon">
<summary>
This class contains some virtual methods that may be useful for other
virtual table classes. It specifically does NOT implement any of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleNoop">
<summary>
This class implements a virtual table module that does nothing by
providing "empty" implementations for all of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods. The result
codes returned by these "empty" method implementations may be
controlled on a per-method basis by using and/or overriding the
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)"/>, and
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)"/> methods from within derived classes.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleNoop.resultCodes">
<summary>
This field is used to store the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
values to return, on a per-method basis, for all methods that are
part of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode">
<summary>
Determines the default <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to be
returned by methods of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface that lack an overridden implementation in all classes
derived from the <see cref="T:System.Data.SQLite.SQLiteModuleNoop"/> class.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by all <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods unless
a more specific result code has been set for that interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)">
<summary>
Determines the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation. If no
specific <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value is available (or set)
for the specified method, the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value
returned by the <see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/> method will be
returned instead.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="argumentCount">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="name">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="function">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.declareSql">
<summary>
The CREATE TABLE statement used to declare the schema for the
virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetSqlForDeclareTable">
<summary>
Determines the SQL statement used to declare the virtual table.
This method should be overridden in derived classes if they require
a custom virtual table schema.
</summary>
<returns>
The SQL statement used to declare the virtual table -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CursorTypeMismatchError(System.Data.SQLite.SQLiteVirtualTableCursor,System.Type)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor is of the wrong type.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<param name="type">
The <see cref="T:System.Type"/> that the virtual table cursor should be.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetStringFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the string to return as the column value for the object
instance value.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a string representation for.
</param>
<returns>
The string representation of the specified object instance or null
upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.MakeRowId(System.Int32,System.Int32)">
<summary>
Constructs an <see cref="T:System.Int64"/> unique row identifier from two
<see cref="T:System.Int32"/> values. The first <see cref="T:System.Int32"/> value
must contain the row sequence number for the current row and the
second value must contain the hash code of the key column value
for the current row.
</summary>
<param name="rowIndex">
The integer row sequence number for the current row.
</param>
<param name="hashCode">
The hash code of the key column value for the current row.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetRowIdFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the unique row identifier for the current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a unique row identifier for.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.enumerator">
<summary>
The <see cref="T:System.Collections.IEnumerator"/> instance provided when this cursor
was created.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.endOfEnumerator">
<summary>
This value will be non-zero if false has been returned from the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.IEnumerator)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.IEnumerator"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.MoveNext">
<summary>
Advances to the next row of the virtual table cursor using the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
<returns>
Non-zero if the current row is valid; zero otherwise. If zero is
returned, no further rows are available.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Reset">
<summary>
Resets the virtual table cursor position, also invalidating the
current row, using the <see cref="M:System.Collections.IEnumerator.Reset"/> method of
the <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckClosed">
<summary>
Throws an <see cref="T:System.InvalidOperationException"/> if the virtual
table cursor has been closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.IEnumerator.Current"/> property of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.EndOfEnumerator">
<summary>
Returns non-zero if the end of the virtual table cursor has been
seen (i.e. no more rows are available, including the current one).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.IsOpen">
<summary>
Returns non-zero if the virtual table cursor is open.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleEnumerable">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.IEnumerable"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.IEnumerable"/> object instance. The following short
example shows it being used to treat an array of strings as a table
data source:
<code>
public static class Sample
{
public static void Main()
{
using (SQLiteConnection connection = new SQLiteConnection(
"Data Source=:memory:;"))
{
connection.Open();
connection.CreateModule(new SQLiteModuleEnumerable(
"sampleModule", new string[] { "one", "two", "three" }));
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText =
"CREATE VIRTUAL TABLE t1 USING sampleModule;";
command.ExecuteNonQuery();
}
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT * FROM t1;";
using (SQLiteDataReader dataReader = command.ExecuteReader())
{
while (dataReader.Read())
Console.WriteLine(dataReader[0].ToString());
}
}
connection.Close();
}
}
}
</code>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.enumerable">
<summary>
The <see cref="T:System.Collections.IEnumerable"/> instance containing the backing data
for the virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CursorEndOfEnumeratorError(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor has no current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.enumerator">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance provided when this
cursor was created.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.Generic.IEnumerator{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.System#Collections#Generic#IEnumerator{T}#Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property of the
<see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.enumerable">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance containing the backing
data for the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.#ctor(System.String,System.Collections.Generic.IEnumerable{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Windows/Npgsql.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/System.Data.SQLite.DLL
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/System.Data.SQLite.Linq.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/System.Data.SQLite.Linq.xml
0,0 → 1,2180
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite.Linq</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.Linq.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.SQL_CONSTRAINTCOLUMNS">
<summary>
Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTCOLUMNS AS
SELECT CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM TEMP.SCHEMAINDEXCOLUMNS
UNION
SELECT CONSTRAINT_CATALOG, NULL, CONSTRAINT_NAME, TABLE_CATALOG, NULL, TABLE_NAME, FKEY_FROM_COLUMN
FROM TEMP.SCHEMAFOREIGNKEYS;.
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.Properties.Resources.SQL_CONSTRAINTS">
<summary>
Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTS AS
SELECT INDEX_CATALOG AS CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, INDEX_NAME AS CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, &apos;PRIMARY KEY&apos; AS CONSTRAINT_TYPE, 0 AS IS_DEFERRABLE, 0 AS INITIALLY_DEFERRED, NULL AS CHECK_CLAUSE
FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 1
UNION
SELECT INDEX_CATALOG, NULL, INDEX_NAME, TABLE_CATALOG, NULL, TABLE_NAME, &apos;UNIQUE&apos;, 0, 0, NULL
FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 0 AND [UNIQUE] = 1
UNION
[rest of string was truncated]&quot;;.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.DmlSqlGenerator">
<summary>
Class generating SQL for a DML command tree.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.IsIntegerPrimaryKey(System.Data.Metadata.Edm.EntitySetBase,System.Data.Metadata.Edm.ReadOnlyMetadataCollection{System.Data.Metadata.Edm.EdmMember}@,System.Data.Metadata.Edm.EdmMember@)">
<summary>
This method attempts to determine if the specified table has an integer
primary key (i.e. "rowid"). If so, it sets the
<paramref name="primaryKeyMember"/> parameter to the right
<see cref="T:System.Data.Metadata.Edm.EdmMember"/>; otherwise, the
<paramref name="primaryKeyMember"/> parameter is set to null.
</summary>
<param name="table">The table to check.</param>
<param name="keyMembers">
The collection of key members. An attempt is always made to set this
parameter to a valid value.
</param>
<param name="primaryKeyMember">
The <see cref="T:System.Data.Metadata.Edm.EdmMember"/> that represents the integer primary key
-OR- null if no such <see cref="T:System.Data.Metadata.Edm.EdmMember"/> exists.
</param>
<returns>
Non-zero if the specified table has an integer primary key.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.DoAllKeyMembersHaveValues(System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator,System.Data.Metadata.Edm.ReadOnlyMetadataCollection{System.Data.Metadata.Edm.EdmMember},System.Data.Metadata.Edm.EdmMember@)">
<summary>
This method attempts to determine if all the specified key members have
values available.
</summary>
<param name="translator">
The <see cref="T:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator"/> to use.
</param>
<param name="keyMembers">
The collection of key members to check.
</param>
<param name="missingKeyMember">
The first missing key member that is found. This is only set to a valid
value if the method is returning false.
</param>
<returns>
Non-zero if all key members have values; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.GenerateReturningSql(System.Text.StringBuilder,System.Data.Common.CommandTrees.DbModificationCommandTree,System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator,System.Data.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
Generates SQL fragment returning server-generated values.
Requires: translator knows about member values so that we can figure out
how to construct the key predicate.
<code>
Sample SQL:
select IdentityValue
from dbo.MyTable
where @@ROWCOUNT > 0 and IdentityValue = scope_identity()
or
select TimestamptValue
from dbo.MyTable
where @@ROWCOUNT > 0 and Id = 1
Note that we filter on rowcount to ensure no rows are returned if no rows were modified.
</code>
</summary>
<param name="commandText">Builder containing command text</param>
<param name="tree">Modification command tree</param>
<param name="translator">Translator used to produce DML SQL statement
for the tree</param>
<param name="returning">Returning expression. If null, the method returns
immediately without producing a SELECT statement.</param>
<param name="wasInsert">
Non-zero if this method is being called as part of processing an INSERT;
otherwise (e.g. UPDATE), zero.
</param>
</member>
<member name="T:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator">
<summary>
Lightweight expression translator for DML expression trees, which have constrained
scope and support.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator.#ctor(System.Text.StringBuilder,System.Data.Common.CommandTrees.DbModificationCommandTree,System.Boolean,System.String)">
<summary>
Initialize a new expression translator populating the given string builder
with command text. Command text builder and command tree must not be null.
</summary>
<param name="commandText">Command text with which to populate commands</param>
<param name="commandTree">Command tree generating SQL</param>
<param name="preserveMemberValues">Indicates whether the translator should preserve
member values while compiling t-SQL (only needed for server generation)</param>
<param name="kind"></param>
</member>
<member name="M:System.Data.SQLite.Linq.DmlSqlGenerator.ExpressionTranslator.RegisterMemberValue(System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression)">
<summary>
Call this method to register a property value pair so the translator "remembers"
the values for members of the row being modified. These values can then be used
to form a predicate for server-generation (based on the key of the row)
</summary>
<param name="propertyExpression">DbExpression containing the column reference (property expression).</param>
<param name="value">DbExpression containing the value of the column.</param>
</member>
<member name="T:System.Data.SQLite.Linq.ISqlFragment">
<summary>
Represents the sql fragment for any node in the query tree.
</summary>
<remarks>
The nodes in a query tree produce various kinds of sql
<list type="bullet">
<item>A select statement.</item>
<item>A reference to an extent. (symbol)</item>
<item>A raw string.</item>
</list>
We have this interface to allow for a common return type for the methods
in the expression visitor <see cref="T:System.Data.Common.CommandTrees.DbExpressionVisitor`1"/>
At the end of translation, the sql fragments are converted into real strings.
</remarks>
</member>
<member name="M:System.Data.SQLite.Linq.ISqlFragment.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write the string represented by this fragment into the stream.
</summary>
<param name="writer">The stream that collects the strings.</param>
<param name="sqlGenerator">Context information used for renaming.
The global lists are used to generated new names without collisions.</param>
</member>
<member name="T:System.Data.SQLite.Linq.JoinSymbol">
<summary>
A Join symbol is a special kind of Symbol.
It has to carry additional information
<list type="bullet">
<item>ColumnList for the list of columns in the select clause if this
symbol represents a sql select statement. This is set by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>. </item>
<item>ExtentList is the list of extents in the select clause.</item>
<item>FlattenedExtentList - if the Join has multiple extents flattened at the
top level, we need this information to ensure that extent aliases are renamed
correctly in <see cref="M:System.Data.SQLite.Linq.SqlSelectStatement.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)"/></item>
<item>NameToExtent has all the extents in ExtentList as a dictionary.
This is used by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/> to flatten
record accesses.</item>
<item>IsNestedJoin - is used to determine whether a JoinSymbol is an
ordinary join symbol, or one that has a corresponding SqlSelectStatement.</item>
</list>
All the lists are set exactly once, and then used for lookups/enumerated.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.Symbol">
<summary>
<see cref="T:System.Data.SQLite.Linq.SymbolTable"/>
This class represents an extent/nested select statement,
or a column.
The important fields are Name, Type and NewName.
NewName starts off the same as Name, and is then modified as necessary.
The rest are used by special symbols.
e.g. NeedsRenaming is used by columns to indicate that a new name must
be picked for the column in the second phase of translation.
IsUnnest is used by symbols for a collection expression used as a from clause.
This allows <see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol,System.Boolean)"/> to add the column list
after the alias.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.Symbol.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write this symbol out as a string for sql. This is just
the new name of the symbol (which could be the same as the old name).
We rename columns here if necessary.
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="T:System.Data.SQLite.Linq.MetadataHelpers">
<summary>
A set of static helpers for type metadata
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.NullableFacetName">
<summary>
Name of the Nullable Facet
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetEdmType``1(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Cast the EdmType of the given type usage to the given TEdmType
</summary>
<typeparam name="TEdmType"></typeparam>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetElementTypeUsage(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Gets the TypeUsage of the elment if the given type is a collection type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetProperties(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Retrieves the properties of in the EdmType underlying the input type usage,
if that EdmType is a structured type (EntityType, RowType).
</summary>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetProperties(System.Data.Metadata.Edm.EdmType)">
<summary>
Retrieves the properties of the given EdmType, if it is
a structured type (EntityType, RowType).
</summary>
<param name="edmType"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsCollectionType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a collection type
</summary>
<param name="typeUsage"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsCollectionType(System.Data.Metadata.Edm.EdmType)">
<summary>
Is the given type a collection type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsPrimitiveType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a primitive type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsPrimitiveType(System.Data.Metadata.Edm.EdmType)">
<summary>
Is the given type a primitive type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsRowType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Is the given type usage over a row type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.IsRowType(System.Data.Metadata.Edm.EdmType)">
<summary>
Is the given type a row type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.TryGetPrimitiveTypeKind(System.Data.Metadata.Edm.TypeUsage,System.Data.Metadata.Edm.PrimitiveTypeKind@)">
<summary>
Gets the type of the given type usage if it is a primitive type
</summary>
<param name="type"></param>
<param name="typeKind"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.TryGetValueForMetadataProperty``1(System.Data.Metadata.Edm.MetadataItem,System.String)">
<summary>
Gets the value for the metadata property with the given name
</summary>
<typeparam name="T"></typeparam>
<param name="item"></param>
<param name="propertyName"></param>
<returns></returns>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.MaxLengthFacetName">
<summary>
Name of the MaxLength Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.UnicodeFacetName">
<summary>
Name of the Unicode Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.FixedLengthFacetName">
<summary>
Name of the FixedLength Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.PreserveSecondsFacetName">
<summary>
Name of the PreserveSeconds Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.PrecisionFacetName">
<summary>
Name of the Precision Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.ScaleFacetName">
<summary>
Name of the Scale Facet
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.MetadataHelpers.DefaultValueFacetName">
<summary>
Name of the DefaultValue Facet
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.GetFacetValueOrDefault``1(System.Data.Metadata.Edm.TypeUsage,System.String,``0)">
<summary>
Get the value specified on the given type usage for the given facet name.
If the faces does not have a value specifid or that value is null returns
the default value for that facet.
</summary>
<typeparam name="T"></typeparam>
<param name="type"></param>
<param name="facetName"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.MetadataHelpers.TryGetTypeFacetDescriptionByName(System.Data.Metadata.Edm.EdmType,System.String,System.Data.Metadata.Edm.FacetDescription@)">
<summary>
Given a facet name and an EdmType, tries to get that facet's description.
</summary>
<param name="edmType"></param>
<param name="facetName"></param>
<param name="facetDescription"></param>
<returns></returns>
</member>
<member name="T:System.Data.SQLite.Linq.SkipClause">
<summary>
SkipClause represents the a SKIP expression in a SqlSelectStatement.
It has a count property, which indicates how many rows should be skipped.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SkipClause.#ctor(System.Data.SQLite.Linq.ISqlFragment)">
<summary>
Creates a SkipClause with the given skipCount.
</summary>
<param name="skipCount"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SkipClause.#ctor(System.Int32)">
<summary>
Creates a SkipClause with the given skipCount.
</summary>
<param name="skipCount"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SkipClause.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write out the SKIP part of sql select statement
It basically writes OFFSET (X).
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.SkipClause.SkipCount">
<summary>
How many rows should be skipped.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlBuilder">
<summary>
This class is like StringBuilder. While traversing the tree for the first time,
we do not know all the strings that need to be appended e.g. things that need to be
renamed, nested select statements etc. So, we use a builder that can collect
all kinds of sql fragments.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlBuilder.Append(System.Object)">
<summary>
Add an object to the list - we do not verify that it is a proper sql fragment
since this is an internal method.
</summary>
<param name="s"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlBuilder.AppendLine">
<summary>
This is to pretty print the SQL. The writer <see cref="M:System.Data.SQLite.Linq.SqlWriter.Write(System.String)"/>
needs to know about new lines so that it can add the right amount of
indentation at the beginning of lines.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlBuilder.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
We delegate the writing of the fragment to the appropriate type.
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.SqlBuilder.IsEmpty">
<summary>
Whether the builder is empty. This is used by the <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/>
to determine whether a sql statement can be reused.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlGenerator">
<summary>
Translates the command object into a SQL string that can be executed on
SQLite.
</summary>
<remarks>
The translation is implemented as a visitor <see cref="T:System.Data.Common.CommandTrees.DbExpressionVisitor`1"/>
over the query tree. It makes a single pass over the tree, collecting the sql
fragments for the various nodes in the tree <see cref="T:System.Data.SQLite.Linq.ISqlFragment"/>.
The major operations are
<list type="bullet">
<item>Select statement minimization. Multiple nodes in the query tree
that can be part of a single SQL select statement are merged. e.g. a
Filter node that is the input of a Project node can typically share the
same SQL statement.</item>
<item>Alpha-renaming. As a result of the statement minimization above, there
could be name collisions when using correlated subqueries
<example>
<code>
Filter(
b = Project( c.x
c = Extent(foo)
)
exists (
Filter(
c = Extent(foo)
b.x = c.x
)
)
)
</code>
The first Filter, Project and Extent will share the same SQL select statement.
The alias for the Project i.e. b, will be replaced with c.
If the alias c for the Filter within the exists clause is not renamed,
we will get <c>c.x = c.x</c>, which is incorrect.
Instead, the alias c within the second filter should be renamed to c1, to give
<c>c.x = c1.x</c> i.e. b is renamed to c, and c is renamed to c1.
</example>
</item>
<item>Join flattening. In the query tree, a list of join nodes is typically
represented as a tree of Join nodes, each with 2 children. e.g.
<example>
<code>
a = Join(InnerJoin
b = Join(CrossJoin
c = Extent(foo)
d = Extent(foo)
)
e = Extent(foo)
on b.c.x = e.x
)
</code>
If translated directly, this will be translated to
<code>
FROM ( SELECT c.*, d.*
FROM foo as c
CROSS JOIN foo as d) as b
INNER JOIN foo as e on b.x' = e.x
</code>
It would be better to translate this as
<code>
FROM foo as c
CROSS JOIN foo as d
INNER JOIN foo as e on c.x = e.x
</code>
This allows the optimizer to choose an appropriate join ordering for evaluation.
</example>
</item>
<item>Select * and column renaming. In the example above, we noticed that
in some cases we add <c>SELECT * FROM ...</c> to complete the SQL
statement. i.e. there is no explicit PROJECT list.
In this case, we enumerate all the columns available in the FROM clause
This is particularly problematic in the case of Join trees, since the columns
from the extents joined might have the same name - this is illegal. To solve
this problem, we will have to rename columns if they are part of a SELECT *
for a JOIN node - we do not need renaming in any other situation.
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>.
</item>
</list>
<para>
Renaming issues.
When rows or columns are renamed, we produce names that are unique globally
with respect to the query. The names are derived from the original names,
with an integer as a suffix. e.g. CustomerId will be renamed to CustomerId1,
CustomerId2 etc.
Since the names generated are globally unique, they will not conflict when the
columns of a JOIN SELECT statement are joined with another JOIN.
</para>
<para>
Record flattening.
SQL server does not have the concept of records. However, a join statement
produces records. We have to flatten the record accesses into a simple
<c>alias.column</c> form. <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/>
</para>
<para>
Building the SQL.
There are 2 phases
<list type="numbered">
<item>Traverse the tree, producing a sql builder <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></item>
<item>Write the SqlBuilder into a string, renaming the aliases and columns
as needed.</item>
</list>
In the first phase, we traverse the tree. We cannot generate the SQL string
right away, since
<list type="bullet">
<item>The WHERE clause has to be visited before the from clause.</item>
<item>extent aliases and column aliases need to be renamed. To minimize
renaming collisions, all the names used must be known, before any renaming
choice is made.</item>
</list>
To defer the renaming choices, we use symbols <see cref="T:System.Data.SQLite.Linq.Symbol"/>. These
are renamed in the second phase.
Since visitor methods cannot transfer information to child nodes through
parameters, we use some global stacks,
<list type="bullet">
<item>A stack for the current SQL select statement. This is needed by
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)"/> to create a
list of free variables used by a select statement. This is needed for
alias renaming.
</item>
<item>A stack for the join context. When visiting a <see cref="T:System.Data.Common.CommandTrees.DbScanExpression"/>,
we need to know whether we are inside a join or not. If we are inside
a join, we do not create a new SELECT statement.</item>
</list>
</para>
<para>
Global state.
To enable renaming, we maintain
<list type="bullet">
<item>The set of all extent aliases used.</item>
<item>The set of all column aliases used.</item>
</list>
Finally, we have a symbol table to lookup variable references. All references
to the same extent have the same symbol.
</para>
<para>
Sql select statement sharing.
Each of the relational operator nodes
<list type="bullet">
<item>Project</item>
<item>Filter</item>
<item>GroupBy</item>
<item>Sort/OrderBy</item>
</list>
can add its non-input (e.g. project, predicate, sort order etc.) to
the SQL statement for the input, or create a new SQL statement.
If it chooses to reuse the input's SQL statement, we play the following
symbol table trick to accomplish renaming. The symbol table entry for
the alias of the current node points to the symbol for the input in
the input's SQL statement.
<example>
<code>
Project(b.x
b = Filter(
c = Extent(foo)
c.x = 5)
)
</code>
The Extent node creates a new SqlSelectStatement. This is added to the
symbol table by the Filter as {c, Symbol(c)}. Thus, <c>c.x</c> is resolved to
<c>Symbol(c).x</c>.
Looking at the project node, we add {b, Symbol(c)} to the symbol table if the
SQL statement is reused, and {b, Symbol(b)}, if there is no reuse.
Thus, <c>b.x</c> is resolved to <c>Symbol(c).x</c> if there is reuse, and to
<c>Symbol(b).x</c> if there is no reuse.
</example>
</para>
</remarks>
</member>
<member name="F:System.Data.SQLite.Linq.SqlGenerator.selectStatementStack">
<summary>
Every relational node has to pass its SELECT statement to its children
This allows them (DbVariableReferenceExpression eventually) to update the list of
outer extents (free variables) used by this select statement.
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.SqlGenerator.isParentAJoinStack">
<summary>
Nested joins and extents need to know whether they should create
a new Select statement, or reuse the parent's. This flag
indicates whether the parent is a join or not.
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.SqlGenerator.isVarRefSingle">
<summary>
VariableReferenceExpressions are allowed only as children of DbPropertyExpression
or MethodExpression. The cheapest way to ensure this is to set the following
property in DbVariableReferenceExpression and reset it in the allowed parent expressions.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeBuiltInFunctionHandlers">
<summary>
All special built-in functions and their handlers
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeCanonicalFunctionHandlers">
<summary>
All special non-aggregate canonical functions and their handlers
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeDatepartKeywords">
<summary>
Valid datepart values
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.InitializeFunctionNameToOperatorDictionary">
<summary>
Initializes the mapping from functions to T-SQL operators
for all functions that translate to T-SQL operators
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.#ctor(System.Data.SQLite.Linq.SQLiteProviderManifest)">
<summary>
Basic constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GenerateSql(System.Data.SQLite.Linq.SQLiteProviderManifest,System.Data.Common.CommandTrees.DbCommandTree,System.Collections.Generic.List{System.Data.Common.DbParameter}@,System.Data.CommandType@)">
<summary>
General purpose static function that can be called from System.Data assembly
</summary>
<param name="manifest"></param>
<param name="tree">command tree</param>
<param name="parameters">Parameters to add to the command tree corresponding
to constants in the command tree. Used only in ModificationCommandTrees.</param>
<param name="commandType"></param>
<returns>The string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GenerateSql(System.Data.Common.CommandTrees.DbQueryCommandTree)">
<summary>
Translate a command tree to a SQL string.
The input tree could be translated to either a SQL SELECT statement
or a SELECT expression. This choice is made based on the return type
of the expression
CollectionType => select statement
non collection type => select expression
</summary>
<param name="tree"></param>
<returns>The string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GenerateFunctionSql(System.Data.Common.CommandTrees.DbFunctionCommandTree,System.Data.CommandType@)">
<summary>
Translate a function command tree to a SQL string.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.WriteSql(System.Data.SQLite.Linq.ISqlFragment)">
<summary>
Convert the SQL fragments to a string.
We have to setup the Stream for writing.
</summary>
<param name="sqlStatement"></param>
<returns>A string representing the SQL to be executed.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbAndExpression)">
<summary>
Translate(left) AND Translate(right)
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbApplyExpression)">
<summary>
An apply is just like a join, so it shares the common join processing
in <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbArithmeticExpression)">
<summary>
For binary expressions, we delegate to <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitBinaryExpression(System.String,System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression)"/>.
We handle the other expressions directly.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbCaseExpression)">
<summary>
If the ELSE clause is null, we do not write it out.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbCastExpression)">
<summary>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbComparisonExpression)">
<summary>
The parser generates Not(Equals(...)) for &lt;&gt;.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbConstantExpression)">
<summary>
Constants will be send to the store as part of the generated TSQL, not as parameters
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>. Strings are wrapped in single
quotes and escaped. Numbers are written literally.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbDerefExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbDerefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbDistinctExpression)">
<summary>
The DISTINCT has to be added to the beginning of SqlSelectStatement.Select,
but it might be too late for that. So, we use a flag on SqlSelectStatement
instead, and add the "DISTINCT" in the second phase.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbElementExpression)">
<summary>
An element expression returns a scalar - so it is translated to
( Select ... )
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbExceptExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)"/>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Only concrete expression types will be visited.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbScanExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>If we are in a Join context, returns a <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>
with the extent name, otherwise, a new <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>
with the From field set.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GetTargetTSql(System.Data.Metadata.Edm.EntitySetBase)">
<summary>
Gets escaped TSql identifier describing this entity set.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)">
<summary>
The bodies of <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>, <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbGroupByExpression)"/>,
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/>, <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbSortExpression)"/> are similar.
Each does the following.
<list type="number">
<item> Visit the input expression</item>
<item> Determine if the input's SQL statement can be reused, or a new
one must be created.</item>
<item>Create a new symbol table scope</item>
<item>Push the Sql statement onto a stack, so that children can
update the free variable list.</item>
<item>Visit the non-input expression.</item>
<item>Cleanup</item>
</list>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Lambda functions are not supported.
The functions supported are:
<list type="number">
<item>Canonical Functions - We recognize these by their dataspace, it is DataSpace.CSpace</item>
<item>Store Functions - We recognize these by the BuiltInAttribute and not being Canonical</item>
<item>User-defined Functions - All the rest except for Lambda functions</item>
</list>
We handle Canonical and Store functions the same way: If they are in the list of functions
that need special handling, we invoke the appropriate handler, otherwise we translate them to
FunctionName(arg1, arg2, ..., argn).
We translate user-defined functions to NamespaceName.FunctionName(arg1, arg2, ..., argn).
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbEntityRefExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbEntityRefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbRefKeyExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbRefKeyExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbGroupByExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/> for general details.
We modify both the GroupBy and the Select fields of the SqlSelectStatement.
GroupBy gets just the keys without aliases,
and Select gets the keys and the aggregates with aliases.
Whenever there exists at least one aggregate with an argument that is not is not a simple
<see cref="T:System.Data.Common.CommandTrees.DbPropertyExpression"/> over <see cref="T:System.Data.Common.CommandTrees.DbVariableReferenceExpression"/>,
we create a nested query in which we alias the arguments to the aggregates.
That is due to the following two limitations of Sql Server:
<list type="number">
<item>If an expression being aggregated contains an outer reference, then that outer
reference must be the only column referenced in the expression </item>
<item>Sql Server cannot perform an aggregate function on an expression containing
an aggregate or a subquery. </item>
</list>
The default translation, without inner query is:
SELECT
kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
aggf1(aexpr1) AS agg1, .. aggfn(aexprn) AS aggn
FROM input AS a
GROUP BY kexp1, kexp2, .. kexpn
When we inject an innner query, the equivalent translation is:
SELECT
key1 AS key1, key2 AS key2, .. keyn AS keys,
aggf1(agg1) AS agg1, aggfn(aggn) AS aggn
FROM (
SELECT
kexp1 AS key1, kexp2 AS key2,... kexpn AS keyn,
aexpr1 AS agg1, .. aexprn AS aggn
FROM input AS a
) as a
GROUP BY key1, key2, keyn
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIntersectExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)"/>
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsEmptyExpression)">
<summary>
Not(IsEmpty) has to be handled specially, so we delegate to
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsEmptyExpression(System.Data.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)"/>.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.
<code>[NOT] EXISTS( ... )</code>
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsNullExpression)">
<summary>
Not(IsNull) is handled specially, so we delegate to
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsNullExpression(System.Data.Common.CommandTrees.DbIsNullExpression,System.Boolean)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>
<code>IS [NOT] NULL</code>
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsOfExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbIsOfExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbCrossJoinExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbJoinExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbLikeExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbLimitExpression)">
<summary>
Translates to TOP expression.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
DbNewInstanceExpression is allowed as a child of DbProjectExpression only.
If anyone else is the parent, we throw.
We also perform special casing for collections - where we could convert
them into Unions
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitNewInstanceExpression(System.Data.Common.CommandTrees.DbNewInstanceExpression)"/> for the actual implementation.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNotExpression)">
<summary>
The Not expression may cause the translation of its child to change.
These children are
<list type="bullet">
<item><see cref="T:System.Data.Common.CommandTrees.DbNotExpression"/>NOT(Not(x)) becomes x</item>
<item><see cref="T:System.Data.Common.CommandTrees.DbIsEmptyExpression"/>NOT EXISTS becomes EXISTS</item>
<item><see cref="T:System.Data.Common.CommandTrees.DbIsNullExpression"/>IS NULL becomes IS NOT NULL</item>
<item><see cref="T:System.Data.Common.CommandTrees.DbComparisonExpression"/>= becomes&lt;&gt; </item>
</list>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNullExpression)">
<summary>
</summary>
<param name="e"></param>
<returns><see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbOfTypeExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbOfTypeExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbOrExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
<seealso cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbAndExpression)"/>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbParameterReferenceExpression)">
<summary>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/> for the general ideas.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
<seealso cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)">
<summary>
This method handles record flattening, which works as follows.
consider an expression <c>Prop(y, Prop(x, Prop(d, Prop(c, Prop(b, Var(a)))))</c>
where a,b,c are joins, d is an extent and x and y are fields.
b has been flattened into a, and has its own SELECT statement.
c has been flattened into b.
d has been flattened into c.
We visit the instance, so we reach Var(a) first. This gives us a (join)symbol.
Symbol(a).b gives us a join symbol, with a SELECT statement i.e. Symbol(b).
From this point on , we need to remember Symbol(b) as the source alias,
and then try to find the column. So, we use a SymbolPair.
We have reached the end when the symbol no longer points to a join symbol.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.JoinSymbol"/> if we have not reached the first
Join node that has a SELECT statement.
A <see cref="T:System.Data.SQLite.Linq.SymbolPair"/> if we have seen the JoinNode, and it has
a SELECT statement.
A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/> with {Input}.propertyName otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbQuantifierExpression)">
<summary>
Any(input, x) => Exists(Filter(input,x))
All(input, x) => Not Exists(Filter(input, not(x))
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbRefExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbRefExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbRelationshipNavigationExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbRelationshipNavigationExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbSkipExpression)">
<summary>
For Sql9 it translates to:
SELECT Y.x1, Y.x2, ..., Y.xn
FROM (
SELECT X.x1, X.x2, ..., X.xn, row_number() OVER (ORDER BY sk1, sk2, ...) AS [row_number]
FROM input as X
) as Y
WHERE Y.[row_number] &gt; count
ORDER BY sk1, sk2, ...
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbSortExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
<seealso cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbTreatExpression)">
<summary>
<see cref="T:System.Data.Common.CommandTrees.DbTreatExpression"/> is illegal at this stage
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)">
<summary>
This code is shared by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbExceptExpression)"/>
and <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIntersectExpression)"/>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitSetOpExpression(System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,System.String)"/>
Since the left and right expression may not be Sql select statements,
we must wrap them up to look like SQL select statements.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)">
<summary>
This method determines whether an extent from an outer scope(free variable)
is used in the CurrentSelectStatement.
An extent in an outer scope, if its symbol is not in the FromExtents
of the CurrentSelectStatement.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.Symbol"/>.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitAggregate(System.Data.Common.CommandTrees.DbAggregate,System.Object)">
<summary>
Aggregates are not visited by the normal visitor walk.
</summary>
<param name="aggregate">The aggreate to be translated</param>
<param name="aggregateArgument">The translated aggregate argument</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitInputExpression(System.Data.Common.CommandTrees.DbExpression,System.String,System.Data.Metadata.Edm.TypeUsage,System.Data.SQLite.Linq.Symbol@)">
<summary>
This is called by the relational nodes. It does the following
<list>
<item>If the input is not a SqlSelectStatement, it assumes that the input
is a collection expression, and creates a new SqlSelectStatement </item>
</list>
</summary>
<param name="inputExpression"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="fromSymbol"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/> and the main fromSymbol
for this select statement.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsEmptyExpression(System.Data.Common.CommandTrees.DbIsEmptyExpression,System.Boolean)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsEmptyExpression)"/>
</summary>
<param name="e"></param>
<param name="negate">Was the parent a DbNotExpression?</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitCollectionConstructor(System.Data.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
Translate a NewInstance(Element(X)) expression into
"select top(1) * from X"
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitIsNullExpression(System.Data.Common.CommandTrees.DbIsNullExpression,System.Boolean)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsNullExpression)"/>
</summary>
<param name="e"></param>
<param name="negate">Was the parent a DbNotExpression?</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)">
<summary>
This handles the processing of join expressions.
The extents on a left spine are flattened, while joins
not on the left spine give rise to new nested sub queries.
Joins work differently from the rest of the visiting, in that
the parent (i.e. the join node) creates the SqlSelectStatement
for the children to use.
The "parameter" IsInJoinContext indicates whether a child extent should
add its stuff to the existing SqlSelectStatement, or create a new SqlSelectStatement
By passing true, we ask the children to add themselves to the parent join,
by passing false, we ask the children to create new Select statements for
themselves.
This method is called from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbApplyExpression)"/> and
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbJoinExpression)"/>.
</summary>
<param name="inputs"></param>
<param name="joinKind"></param>
<param name="joinString"></param>
<param name="joinCondition"></param>
<returns> A <see cref="T:System.Data.SQLite.Linq.SqlSelectStatement"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.ProcessJoinInputResult(System.Data.SQLite.Linq.ISqlFragment,System.Data.SQLite.Linq.SqlSelectStatement,System.Data.Common.CommandTrees.DbExpressionBinding,System.Int32)">
<summary>
This is called from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitJoinExpression(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbExpressionBinding},System.Data.Common.CommandTrees.DbExpressionKind,System.String,System.Data.Common.CommandTrees.DbExpression)"/>.
This is responsible for maintaining the symbol table after visiting
a child of a join expression.
The child's sql statement may need to be completed.
The child's result could be one of
<list type="number">
<item>The same as the parent's - this is treated specially.</item>
<item>A sql select statement, which may need to be completed</item>
<item>An extent - just copy it to the from clause</item>
<item>Anything else (from a collection-valued expression) -
unnest and copy it.</item>
</list>
If the input was a Join, we need to create a new join symbol,
otherwise, we create a normal symbol.
We then call AddFromSymbol to add the AS clause, and update the symbol table.
If the child's result was the same as the parent's, we have to clean up
the list of symbols in the FromExtents list, since this contains symbols from
the children of both the parent and the child.
The happens when the child visited is a Join, and is the leftmost child of
the parent.
</summary>
<param name="fromExtentFragment"></param>
<param name="result"></param>
<param name="input"></param>
<param name="fromSymbolStart"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitNewInstanceExpression(System.Data.Common.CommandTrees.DbNewInstanceExpression)">
<summary>
We assume that this is only called as a child of a Project.
This replaces <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbNewInstanceExpression)"/>, since
we do not allow DbNewInstanceExpression as a child of any node other than
DbProjectExpression.
We write out the translation of each of the columns in the record.
</summary>
<param name="e"></param>
<returns>A <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsSpecialBuiltInFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Determines whether the given function is a built-in function that requires special handling
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsSpecialCanonicalFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Determines whether the given function is a canonical function that requires special handling
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleFunctionDefault(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Default handling for functions
Translates them to FunctionName(arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleFunctionDefaultGivenName(System.Data.Common.CommandTrees.DbFunctionExpression,System.String)">
<summary>
Default handling for functions with a given name.
Translates them to functionName(arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<param name="functionName"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleFunctionArgumentsDefault(System.Data.Common.CommandTrees.DbFunctionExpression,System.Data.SQLite.Linq.SqlBuilder)">
<summary>
Default handling on function arguments
Appends the list of arguments to the given result
If the function is niladic it does not append anything,
otherwise it appends (arg1, arg2, ..., argn)
</summary>
<param name="e"></param>
<param name="result"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialBuiltInFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for special built in functions
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialCanonicalFunction(System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for special canonical functions
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunction(System.Collections.Generic.Dictionary{System.String,System.Data.SQLite.Linq.SqlGenerator.FunctionHandler},System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Dispatches the special function processing to the appropriate handler
</summary>
<param name="handlers"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Common.CommandTrees.DbFunctionExpression,System.Boolean)">
<summary>
Handles functions that are translated into TSQL operators.
The given function should have one or two arguments.
Functions with one arguemnt are translated into
op arg
Functions with two arguments are translated into
arg0 op arg1
Also, the arguments can be optionaly enclosed in parethesis
</summary>
<param name="e"></param>
<param name="parenthesiseArguments">Whether the arguments should be enclosed in parethesis</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleConcatFunction(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionBitwise(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.HandleSpecialFunctionToOperator(System.Data.Common.CommandTrees.DbFunctionExpression,System.Boolean)"></see>
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleDatepartDateFunction(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handles special case in which datepart 'type' parameter is present. all the functions
handles here have *only* the 1st parameter as datepart. datepart value is passed along
the QP as string and has to be expanded as TSQL keyword.
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionDateAdd(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
DateAdd(datetime, secondsToAdd) -> DATEADD ( seconds , number, date)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionDateSubtract(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
DateSubtract(datetime1, datetime2) -> DATEDIFF ( seconds , startdate , enddate )
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionDatepart(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Handler for canonical functions for extracting date parts.
For example:
Year(date) -> DATEPART( year, date)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionIndexOf(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename IndexOf -> CHARINDEX
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionNewGuid(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename NewGuid -> NEWID
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionLength(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Length(arg) -> LEN(arg + '.') - LEN('.')
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionRound(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Round(numericExpression) -> Round(numericExpression, 0);
Round(numericExpression, N) -> Round(numericExpression, N);
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionTrim(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
TRIM(string) -> LTRIM(RTRIM(string))
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionLeft(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
LEFT(string, length) -> SUBSTR(string, 1, length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionRight(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
RIGHT(string, length) -> SUBSTR(string, -(length), length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionSubstring(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
SUBSTRING(string, start) -> SUBSTR(string, start)
SUBSTRING(string, start, length) -> SUBSTR(string, start, length)
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionToLower(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename ToLower -> LOWER
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCanonicalFunctionToUpper(System.Data.SQLite.Linq.SqlGenerator,System.Data.Common.CommandTrees.DbFunctionExpression)">
<summary>
Function rename ToUpper -> UPPER
</summary>
<param name="sqlgen"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddColumns(System.Data.SQLite.Linq.SqlSelectStatement,System.Data.SQLite.Linq.Symbol,System.Collections.Generic.List{System.Data.SQLite.Linq.Symbol},System.Collections.Generic.Dictionary{System.String,System.Data.SQLite.Linq.Symbol},System.String@)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>
Add the column names from the referenced extent/join to the
select statement.
If the symbol is a JoinSymbol, we recursively visit all the extents,
halting at real extents and JoinSymbols that have an associated SqlSelectStatement.
The column names for a real extent can be derived from its type.
The column names for a Join Select statement can be got from the
list of columns that was created when the Join's select statement
was created.
We do the following for each column.
<list type="number">
<item>Add the SQL string for each column to the SELECT clause</item>
<item>Add the column to the list of columns - so that it can
become part of the "type" of a JoinSymbol</item>
<item>Check if the column name collides with a previous column added
to the same select statement. Flag both the columns for renaming if true.</item>
<item>Add the column to a name lookup dictionary for collision detection.</item>
</list>
</summary>
<param name="selectStatement">The select statement that started off as SELECT *</param>
<param name="symbol">The symbol containing the type information for
the columns to be added.</param>
<param name="columnList">Columns that have been added to the Select statement.
This is created in <see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)"/>.</param>
<param name="columnDictionary">A dictionary of the columns above.</param>
<param name="separator">Comma or nothing, depending on whether the SELECT
clause is empty.</param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddDefaultColumns(System.Data.SQLite.Linq.SqlSelectStatement)">
<summary>
Expands Select * to "select the_list_of_columns"
If the columns are taken from an extent, they are written as
{original_column_name AS Symbol(original_column)} to allow renaming.
If the columns are taken from a Join, they are written as just
{original_column_name}, since there cannot be a name collision.
We concatenate the columns from each of the inputs to the select statement.
Since the inputs may be joins that are flattened, we need to recurse.
The inputs are inferred from the symbols in FromExtents.
</summary>
<param name="selectStatement"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol,System.Boolean)"/>
</summary>
<param name="selectStatement"></param>
<param name="inputVarName"></param>
<param name="fromSymbol"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddFromSymbol(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.SQLite.Linq.Symbol,System.Boolean)">
<summary>
This method is called after the input to a relational node is visited.
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/> and <see cref="M:System.Data.SQLite.Linq.SqlGenerator.ProcessJoinInputResult(System.Data.SQLite.Linq.ISqlFragment,System.Data.SQLite.Linq.SqlSelectStatement,System.Data.Common.CommandTrees.DbExpressionBinding,System.Int32)"/>
There are 2 scenarios
<list type="number">
<item>The fromSymbol is new i.e. the select statement has just been
created, or a join extent has been added.</item>
<item>The fromSymbol is old i.e. we are reusing a select statement.</item>
</list>
If we are not reusing the select statement, we have to complete the
FROM clause with the alias
<code>
-- if the input was an extent
FROM = [SchemaName].[TableName]
-- if the input was a Project
FROM = (SELECT ... FROM ... WHERE ...)
</code>
These become
<code>
-- if the input was an extent
FROM = [SchemaName].[TableName] AS alias
-- if the input was a Project
FROM = (SELECT ... FROM ... WHERE ...) AS alias
</code>
and look like valid FROM clauses.
Finally, we have to add the alias to the global list of aliases used,
and also to the current symbol table.
</summary>
<param name="selectStatement"></param>
<param name="inputVarName">The alias to be used.</param>
<param name="fromSymbol"></param>
<param name="addToSymbolTable"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.AddSortKeys(System.Data.SQLite.Linq.SqlBuilder,System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbSortClause})">
<summary>
Translates a list of SortClauses.
Used in the translation of OrderBy
</summary>
<param name="orderByClause">The SqlBuilder to which the sort keys should be appended</param>
<param name="sortKeys"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.Metadata.Edm.TypeUsage,System.Data.SQLite.Linq.Symbol@)">
<summary>
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.Metadata.Edm.TypeUsage,System.Boolean,System.Data.SQLite.Linq.Symbol@)"/>
</summary>
<param name="oldStatement"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="fromSymbol"></param>
<returns>A new select statement, with the old one as the from clause.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.CreateNewSelectStatement(System.Data.SQLite.Linq.SqlSelectStatement,System.String,System.Data.Metadata.Edm.TypeUsage,System.Boolean,System.Data.SQLite.Linq.Symbol@)">
<summary>
This is called after a relational node's input has been visited, and the
input's sql statement cannot be reused. <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbProjectExpression)"/>
When the input's sql statement cannot be reused, we create a new sql
statement, with the old one as the from clause of the new statement.
The old statement must be completed i.e. if it has an empty select list,
the list of columns must be projected out.
If the old statement being completed has a join symbol as its from extent,
the new statement must have a clone of the join symbol as its extent.
We cannot reuse the old symbol, but the new select statement must behave
as though it is working over the "join" record.
</summary>
<param name="oldStatement"></param>
<param name="inputVarName"></param>
<param name="inputVarType"></param>
<param name="finalizeOldStatement"></param>
<param name="fromSymbol"></param>
<returns>A new select statement, with the old one as the from clause.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.NeedSingleQuotes(System.Data.SQLite.SQLiteDateFormats)">
<summary>
Determines if values of the specified <see cref="T:System.Data.SQLite.SQLiteDateFormats"/>
require wrapping in single quotes.
</summary>
<param name="format">
The <see cref="T:System.Data.SQLite.SQLiteDateFormats"/> format.
</param>
<returns>
Non-zero if single quotes are required for a value in the specified
<see cref="T:System.Data.SQLite.SQLiteDateFormats"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.EscapeSingleQuote(System.String,System.Boolean)">
<summary>
Before we embed a string literal in a SQL string, we should
convert all ' to '', and enclose the whole string in single quotes.
</summary>
<param name="s"></param>
<param name="isUnicode"></param>
<returns>The escaped sql string.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.GetSqlPrimitiveType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Returns the sql primitive/native type name.
It will include size, precision or scale depending on type information present in the
type facets
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.HandleCountExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Handles the expression represending DbLimitExpression.Limit and DbSkipExpression.Count.
If it is a constant expression, it simply does to string thus avoiding casting it to the specific value
(which would be done if <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbConstantExpression)"/> is called)
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsApplyExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a particular expression is an Apply operation.
This is only the case when the DbExpressionKind is CrossApply or OuterApply.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsJoinExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a particular expression is a Join operation.
This is true for DbCrossJoinExpression and DbJoinExpression, the
latter of which may have one of several different ExpressionKinds.
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsComplexExpression(System.Data.Common.CommandTrees.DbExpression)">
<summary>
This is used to determine if a calling expression needs to place
round brackets around the translation of the expression e.
Constants, parameters and properties do not require brackets,
everything else does.
</summary>
<param name="e"></param>
<returns>true, if the expression needs brackets </returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsCompatible(System.Data.SQLite.Linq.SqlSelectStatement,System.Data.Common.CommandTrees.DbExpressionKind)">
<summary>
Determine if the owner expression can add its unique sql to the input's
SqlSelectStatement
</summary>
<param name="result">The SqlSelectStatement of the input to the relational node.</param>
<param name="expressionKind">The kind of the expression node(not the input's)</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.QuoteIdentifier(System.String)">
<summary>
We use the normal box quotes for SQL server. We do not deal with ANSI quotes
i.e. double quotes.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Simply calls <see cref="M:System.Data.SQLite.Linq.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Common.CommandTrees.DbExpression,System.Boolean)"/>
with addDefaultColumns set to true
</summary>
<param name="e"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitExpressionEnsureSqlStatement(System.Data.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
This is called from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.GenerateSql(System.Data.Common.CommandTrees.DbQueryCommandTree)"/> and nodes which require a
select statement as an argument e.g. <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbIsEmptyExpression)"/>,
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbUnionAllExpression)"/>.
SqlGenerator needs its child to have a proper alias if the child is
just an extent or a join.
The normal relational nodes result in complete valid SQL statements.
For the rest, we need to treat them as there was a dummy
<code>
-- originally {expression}
-- change that to
SELECT *
FROM {expression} as c
</code>
DbLimitExpression needs to start the statement but not add the default columns
</summary>
<param name="e"></param>
<param name="addDefaultColumns"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.VisitFilterExpression(System.Data.Common.CommandTrees.DbExpressionBinding,System.Data.Common.CommandTrees.DbExpression,System.Boolean)">
<summary>
This method is called by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbFilterExpression)"/> and
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbQuantifierExpression)"/>
</summary>
<param name="input"></param>
<param name="predicate"></param>
<param name="negatePredicate">This is passed from <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbQuantifierExpression)"/>
in the All(...) case.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.WrapNonQueryExtent(System.Data.SQLite.Linq.SqlSelectStatement,System.Data.SQLite.Linq.ISqlFragment,System.Data.Common.CommandTrees.DbExpressionKind)">
<summary>
If the sql fragment for an input expression is not a SqlSelect statement
or other acceptable form (e.g. an extent as a SqlBuilder), we need
to wrap it in a form acceptable in a FROM clause. These are
primarily the
<list type="bullet">
<item>The set operation expressions - union all, intersect, except</item>
<item>TVFs, which are conceptually similar to tables</item>
</list>
</summary>
<param name="result"></param>
<param name="sqlFragment"></param>
<param name="expressionKind"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsBuiltinFunction(System.Data.Metadata.Edm.EdmFunction)">
<summary>
Is this a builtin function (ie) does it have the builtinAttribute specified?
</summary>
<param name="function"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.WriteFunctionName(System.Data.SQLite.Linq.SqlBuilder,System.Data.Metadata.Edm.EdmFunction)">
<summary>
</summary>
<param name="function"></param>
<param name="result"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.ToBlobLiteral(System.Byte[],System.Data.SQLite.Linq.SqlBuilder)">
<summary>
Appends the literal BLOB string representation of the specified
byte array to the <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/>.
</summary>
<param name="bytes">
The byte array to be formatted as a literal BLOB string.
</param>
<param name="builder">
The <see cref="T:System.Data.SQLite.Linq.SqlBuilder"/> object to use. If null, an exception
will be thrown.
</param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.NeedsInnerQuery(System.Collections.Generic.IList{System.Data.Common.CommandTrees.DbAggregate})">
<summary>
Helper method for the Group By visitor
Returns true if at least one of the aggregates in the given list
has an argument that is not a <see cref="T:System.Data.Common.CommandTrees.DbPropertyExpression"/>
over <see cref="T:System.Data.Common.CommandTrees.DbVariableReferenceExpression"/>
</summary>
<param name="aggregates"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlGenerator.IsPropertyOverVarRef(System.Data.Common.CommandTrees.DbExpression)">
<summary>
Determines whether the given expression is a <see cref="T:System.Data.Common.CommandTrees.DbPropertyExpression"/>
over <see cref="T:System.Data.Common.CommandTrees.DbVariableReferenceExpression"/>
</summary>
<param name="expression"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.Linq.SqlGenerator.CurrentSelectStatement">
<summary>
The top of the stack
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.SqlGenerator.IsParentAJoin">
<summary>
The top of the stack
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlSelectStatement">
<summary>
A SqlSelectStatement represents a canonical SQL SELECT statement.
It has fields for the 5 main clauses
<list type="number">
<item>SELECT</item>
<item>FROM</item>
<item>WHERE</item>
<item>GROUP BY</item>
<item>ORDER BY</item>
</list>
We do not have HAVING, since it does not correspond to anything in the DbCommandTree.
Each of the fields is a SqlBuilder, so we can keep appending SQL strings
or other fragments to build up the clause.
We have a IsDistinct property to indicate that we want distict columns.
This is given out of band, since the input expression to the select clause
may already have some columns projected out, and we use append-only SqlBuilders.
The DISTINCT is inserted when we finally write the object into a string.
Also, we have a Top property, which is non-null if the number of results should
be limited to certain number. It is given out of band for the same reasons as DISTINCT.
The FromExtents contains the list of inputs in use for the select statement.
There is usually just one element in this - Select statements for joins may
temporarily have more than one.
If the select statement is created by a Join node, we maintain a list of
all the extents that have been flattened in the join in AllJoinExtents
<example>
in J(j1= J(a,b), c)
FromExtents has 2 nodes JoinSymbol(name=j1, ...) and Symbol(name=c)
AllJoinExtents has 3 nodes Symbol(name=a), Symbol(name=b), Symbol(name=c)
</example>
If any expression in the non-FROM clause refers to an extent in a higher scope,
we add that extent to the OuterExtents list. This list denotes the list
of extent aliases that may collide with the aliases used in this select statement.
It is set by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)"/>.
An extent is an outer extent if it is not one of the FromExtents.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlSelectStatement.HaveOrderByLimitOrOffset">
<summary>
Checks if the statement has an ORDER BY, LIMIT, or OFFSET clause.
</summary>
<returns>
Non-zero if there is an ORDER BY, LIMIT, or OFFSET clause;
otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SqlSelectStatement.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write out a SQL select statement as a string.
We have to
<list type="number">
<item>Check whether the aliases extents we use in this statement have
to be renamed.
We first create a list of all the aliases used by the outer extents.
For each of the FromExtents( or AllJoinExtents if it is non-null),
rename it if it collides with the previous list.
</item>
<item>Write each of the clauses (if it exists) as a string</item>
</list>
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.SqlSelectStatement.IsDistinct">
<summary>
Do we need to add a DISTINCT at the beginning of the SELECT
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SqlWriter">
<summary>
This extends StringWriter primarily to add the ability to add an indent
to each line that is written out.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SqlWriter.#ctor(System.Text.StringBuilder)">
<summary>
</summary>
<param name="b"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlWriter.Write(System.String)">
<summary>
Reset atBeginningofLine if we detect the newline string.
<see cref="M:System.Data.SQLite.Linq.SqlBuilder.AppendLine"/>
Add as many tabs as the value of indent if we are at the
beginning of a line.
</summary>
<param name="value"></param>
</member>
<member name="M:System.Data.SQLite.Linq.SqlWriter.WriteLine">
<summary>
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.SqlWriter.Indent">
<summary>
The number of tabs to be added at the beginning of each new line.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SymbolPair">
<summary>
The SymbolPair exists to solve the record flattening problem.
<see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/>
Consider a property expression D(v, "j3.j2.j1.a.x")
where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns.
This has to be translated eventually into {j'}.{x'}
The source field represents the outermost SqlStatement representing a join
expression (say j2) - this is always a Join symbol.
The column field keeps moving from one join symbol to the next, until it
stops at a non-join symbol.
This is returned by <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbPropertyExpression)"/>,
but never makes it into a SqlBuilder.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SymbolTable">
<summary>
The symbol table is quite primitive - it is a stack with a new entry for
each scope. Lookups search from the top of the stack to the bottom, until
an entry is found.
The symbols are of the following kinds
<list type="bullet">
<item><see cref="T:System.Data.SQLite.Linq.Symbol"/> represents tables (extents/nested selects/unnests)</item>
<item><see cref="T:System.Data.SQLite.Linq.JoinSymbol"/> represents Join nodes</item>
<item><see cref="T:System.Data.SQLite.Linq.Symbol"/> columns.</item>
</list>
Symbols represent names <see cref="M:System.Data.SQLite.Linq.SqlGenerator.Visit(System.Data.Common.CommandTrees.DbVariableReferenceExpression)"/> to be resolved,
or things to be renamed.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.TopClause">
<summary>
TopClause represents the a TOP expression in a SqlSelectStatement.
It has a count property, which indicates how many TOP rows should be selected and a
boolen WithTies property.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.TopClause.#ctor(System.Data.SQLite.Linq.ISqlFragment,System.Boolean)">
<summary>
Creates a TopClause with the given topCount and withTies.
</summary>
<param name="topCount"></param>
<param name="withTies"></param>
</member>
<member name="M:System.Data.SQLite.Linq.TopClause.#ctor(System.Int32,System.Boolean)">
<summary>
Creates a TopClause with the given topCount and withTies.
</summary>
<param name="topCount"></param>
<param name="withTies"></param>
</member>
<member name="M:System.Data.SQLite.Linq.TopClause.WriteSql(System.Data.SQLite.Linq.SqlWriter,System.Data.SQLite.Linq.SqlGenerator)">
<summary>
Write out the TOP part of sql select statement
It basically writes LIMIT (X).
</summary>
<param name="writer"></param>
<param name="sqlGenerator"></param>
</member>
<member name="P:System.Data.SQLite.Linq.TopClause.WithTies">
<summary>
Do we need to add a WITH_TIES to the top statement
</summary>
</member>
<member name="P:System.Data.SQLite.Linq.TopClause.TopCount">
<summary>
How many top rows should be selected.
</summary>
</member>
<member name="T:System.Data.SQLite.Linq.SQLiteProviderFactory">
<summary>
SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.Linq.SQLiteProviderFactory.Instance">
<summary>
Static instance member which returns an instanced
<see cref="T:System.Data.SQLite.Linq.SQLiteProviderFactory"/> class.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.#ctor">
<summary>
Constructs a new instance.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateCommand">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateCommandBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommandBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateConnection">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnection"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateConnectionStringBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnectionStringBuilder"/>
object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateDataAdapter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteDataAdapter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.CreateParameter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteParameter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderFactory.GetService(System.Type)">
<summary>
Gets the service object of the specified type.
</summary>
<param name="serviceType">
An object that specifies the type of service object to get.
</param>
<returns>
A service object of type serviceType -OR- a null reference if
there is no service object of type serviceType.
</returns>
</member>
<member name="T:System.Data.SQLite.Linq.SQLiteProviderManifest">
<summary>
The Provider Manifest for SQL Server
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.#ctor(System.String)">
<summary>
Constructs the provider manifest.
</summary>
<remarks>
Previously, the manifest token was interpreted as a <see cref="T:System.Data.SQLite.SQLiteDateFormats"/>,
because the <see cref="T:System.DateTime"/> functions are vastly different depending on the
connection was opened. However, the manifest token may specify a connection string
instead. WARNING: Only the "DateTimeFormat", "DateTimeKind", "DateTimeFormatString",
and "BinaryGUID" connection parameters are extracted from it. All other connection
parameters, if any are present, are silently ignored.
</remarks>
<param name="manifestToken">
A token used to infer the capabilities of the store.
</param>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetProviderManifestToken(System.String)">
<summary>
Determines and returns the effective provider manifest token to use,
based on the specified provider manifest token and the environment,
if applicable.
</summary>
<param name="manifestToken">
The original provider manifest token passed to the constructor for this
class.
</param>
<returns>
The effective provider manifest token.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.ParseProviderManifestToken(System.String)">
<summary>
Attempts to parse a provider manifest token. It must contain either a
legacy string that specifies the <see cref="T:System.Data.SQLite.SQLiteDateFormats"/> value
-OR- string that uses the standard connection string syntax; otherwise,
the results are undefined.
</summary>
<param name="manifestToken">
The manifest token to parse.
</param>
<returns>
The dictionary containing the connection string parameters.
</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.SetFromOptions(System.Collections.Generic.SortedList{System.String,System.String})">
<summary>
Attempts to set the provider manifest options from the specified
connection string parameters. An exception may be thrown if one
or more of the connection string parameter values do not conform
to the expected type.
</summary>
<param name="opts">
The dictionary containing the connection string parameters.
</param>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetDbInformation(System.String)">
<summary>
Returns manifest information for the provider
</summary>
<param name="informationType">The name of the information to be retrieved.</param>
<returns>An XmlReader at the begining of the information requested.</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetEdmType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
This method takes a type and a set of facets and returns the best mapped equivalent type
in EDM.
</summary>
<param name="storeType">A TypeUsage encapsulating a store type and a set of facets</param>
<returns>A TypeUsage encapsulating an EDM type and a set of facets</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderManifest.GetStoreType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
This method takes a type and a set of facets and returns the best mapped equivalent type
</summary>
<param name="edmType">A TypeUsage encapsulating an EDM type and a set of facets</param>
<returns>A TypeUsage encapsulating a store type and a set of facets</returns>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.CreateSqlParameter(System.Data.SQLite.Linq.SQLiteProviderManifest,System.String,System.Data.Metadata.Edm.TypeUsage,System.Data.Metadata.Edm.ParameterMode,System.Object)">
<summary>
Creates a SQLiteParameter given a name, type, and direction
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetSqlDbType(System.Data.Metadata.Edm.TypeUsage,System.Boolean,System.Nullable{System.Int32}@)">
<summary>
Determines DbType for the given primitive type. Extracts facet
information as well.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetParameterSize(System.Data.Metadata.Edm.TypeUsage,System.Boolean)">
<summary>
Determines preferred value for SqlParameter.Size. Returns null
where there is no preference.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetStringDbType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Chooses the appropriate DbType for the given string type.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.GetBinaryDbType(System.Data.Metadata.Edm.TypeUsage)">
<summary>
Chooses the appropriate DbType for the given binary type.
</summary>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.System#Data#SQLite#ISQLiteSchemaExtensions#BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
<summary>
Creates temporary tables on the connection so schema information can be queried
</summary>
<remarks>
There's a lot of work involved in getting schema information out of SQLite, but LINQ expects to
be able to query on schema tables. Therefore we need to "fake" it by generating temporary tables
filled with the schema of the current connection. We get away with making this information static
because schema information seems to always be queried on a new connection object, so the schema is
always fresh.
</remarks>
<param name="cnn">The connection upon which to build the schema tables.</param>
</member>
<member name="M:System.Data.SQLite.Linq.SQLiteProviderServices.DataTableToTable(System.Data.SQLite.SQLiteConnection,System.Data.DataTable,System.String)">
<summary>
Turn a datatable into a table in the temporary database for the connection
</summary>
<param name="cnn">The connection to make the temporary table in</param>
<param name="table">The table to write out</param>
<param name="dest">The temporary table name to write to</param>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Windows/System.Data.SQLite.XML
0,0 → 1,14948
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.AssemblySourceIdAttribute">
<summary>
Defines a source code identifier custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceIdAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code identifier value.
</summary>
<param name="value">
The source code identifier value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceIdAttribute.SourceId">
<summary>
Gets the source code identifier value.
</summary>
</member>
<member name="T:System.Data.SQLite.AssemblySourceTimeStampAttribute">
<summary>
Defines a source code time-stamp custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceTimeStampAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code time-stamp value.
</summary>
<param name="value">
The source code time-stamp value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceTimeStampAttribute.SourceTimeStamp">
<summary>
Gets the source code time-stamp value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteLogCallback">
<summary>
This is the method signature for the SQLite core library logging callback
function for use with sqlite3_log() and the SQLITE_CONFIG_LOG.
WARNING: This delegate is used more-or-less directly by native code, do
not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="T:System.Data.SQLite.SQLite3">
<summary>
This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteBase">
<summary>
This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement
a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConvert">
<summary>
This base class provides datatype conversion services for the SQLite provider.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultDbType">
<summary>
The fallback default database type when one cannot be obtained from an
existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FullFormat">
<summary>
The format string for DateTime values when using the InvariantCulture or CurrentCulture formats.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultTypeName">
<summary>
The fallback default database type name when one cannot be obtained from
an existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.UnixEpoch">
<summary>
The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.OleAutomationEpochAsJulianDay">
<summary>
The value of the OLE Automation epoch represented as a Julian day. This
field cannot be removed as the test suite relies upon it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MinimumJd">
<summary>
This is the minimum Julian Day value supported by this library
(148731163200000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MaximumJd">
<summary>
This is the maximum Julian Day value supported by this library
(464269060799000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormats">
<summary>
An array of ISO-8601 DateTime formats that we support parsing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatUtc">
<summary>
The internal default format for UTC DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatLocal">
<summary>
The internal default format for local DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._utf8">
<summary>
An UTF-8 Encoding instance, so we can convert strings to and from UTF-8
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormat">
<summary>
The default DateTime format for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeKind">
<summary>
The default DateTimeKind for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatString">
<summary>
The default DateTime format string for this instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Initializes the conversion class
</summary>
<param name="fmt">The default date/time format to use for this instance</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="fmtString">The DateTime format string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.String)">
<summary>
Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character.
</summary>
<param name="sourceText">The string to convert to UTF-8</param>
<returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.DateTime)">
<summary>
Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
</summary>
<remarks>
This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the
string result.
</remarks>
<param name="dateTimeValue">The DateTime to convert.</param>
<returns>The UTF-8 encoded string, including a 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.UTF8ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.isValidJd(System.Int64)">
<summary>
Checks if the specified <see cref="T:System.Int64"/> is within the
supported range for a Julian Day value.
</summary>
<param name="jd">
The Julian Day value to check.
</param>
<returns>
Non-zero if the specified Julian Day value is in the supported
range; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DoubleToJd(System.Double)">
<summary>
Converts a Julian Day value from a <see cref="T:System.Double"/> to an
<see cref="T:System.Int64"/>.
</summary>
<param name="julianDay">
The Julian Day <see cref="T:System.Double"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Int64"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.JdToDouble(System.Int64)">
<summary>
Converts a Julian Day value from an <see cref="T:System.Int64"/> to a
<see cref="T:System.Double"/>.
</summary>
<param name="jd">
The Julian Day <see cref="T:System.Int64"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Double"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeYMD(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeYMD" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day is out of the supported range. If this value is null,
an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the year, month, and
day values that are closest to the specified Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeHMS(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeHMS" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day value is out of the supported range. If this value is
null, an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the hour, minute, and
second, and millisecond values that are closest to the specified
Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeJD(System.DateTime)">
<summary>
Converts a <see cref="T:System.DateTime"/> to a Julian Day value.
This method was translated from the "computeJD" function in
the "date.c" file belonging to the SQLite core library.
Since the range of Julian Day values supported by this method
includes all possible (valid) values of a <see cref="T:System.DateTime"/>
value, it should be extremely difficult for this method to
raise an exception or return an undefined result.
</summary>
<param name="dateTime">
The <see cref="T:System.DateTime"/> value to convert. This value
will be within the range of <see cref="F:System.DateTime.MinValue"/>
(00:00:00.0000000, January 1, 0001) to
<see cref="F:System.DateTime.MaxValue"/> (23:59:59.9999999, December
31, 9999).
</param>
<returns>
The nearest Julian Day value corresponding to the specified
<see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the specified DateTimeFormat,
DateTimeKind and DateTimeFormatString.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double,System.DateTimeKind)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<param name="kind">The DateTimeKind to use.</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int32,System.DateTimeKind)">
<summary>
Converts the specified number of seconds from the Unix epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="seconds">
The number of whole seconds since the Unix epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int64,System.DateTimeKind)">
<summary>
Converts the specified number of ticks since the epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="ticks">
The number of whole ticks since the epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToJulianDay(System.DateTime)">
<summary>
Converts a DateTime struct to a JulianDay double
</summary>
<param name="value">The DateTime to convert</param>
<returns>The JulianDay value the Datetime represents</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUnixEpoch(System.DateTime)">
<summary>
Converts a DateTime struct to the whole number of seconds since the
Unix epoch.
</summary>
<param name="value">The DateTime to convert</param>
<returns>The whole number of seconds since the Unix epoch</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDateTimeKindFormat(System.DateTimeKind,System.String)">
<summary>
Returns the DateTime format string to use for the specified DateTimeKind.
If <paramref name="formatString" /> is not null, it will be returned verbatim.
</summary>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>
The DateTime format string to use for the specified DateTimeKind.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.IntPtr,System.Int32)">
<summary>
Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime.
</summary>
<remarks>
This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls
ToDateTime() on the string to return a DateTime.
</remarks>
<param name="ptr">A pointer to the UTF-8 encoded string</param>
<param name="len">The length in bytes of the string</param>
<returns>The parsed DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.Split(System.String,System.Char)">
<summary>
Smart method of splitting a string. Skips quoted elements, removes the quotes.
</summary>
<remarks>
This split function works somewhat like the String.Split() function in that it breaks apart a string into
pieces and returns the pieces as an array. The primary differences are:
<list type="bullet">
<item><description>Only one character can be provided as a separator character</description></item>
<item><description>Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed.</description></item>
</list>
Thus, if splitting the following string looking for a comma:<br/>
One,Two, "Three, Four", Five<br/>
<br/>
The resulting array would contain<br/>
[0] One<br/>
[1] Two<br/>
[2] Three, Four<br/>
[3] Five<br/>
<br/>
Note that the leading and trailing spaces were removed from each item during the split.
</remarks>
<param name="source">Source string to split apart</param>
<param name="separator">Separator character</param>
<returns>A string array of the split up elements</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.NewSplit(System.String,System.Char,System.Boolean,System.String@)">
<summary>
Splits the specified string into multiple strings based on a separator
and returns the result as an array of strings.
</summary>
<param name="value">
The string to split into pieces based on the separator character. If
this string is null, null will always be returned. If this string is
empty, an array of zero strings will always be returned.
</param>
<param name="separator">
The character used to divide the original string into sub-strings.
This character cannot be a backslash or a double-quote; otherwise, no
work will be performed and null will be returned.
</param>
<param name="keepQuote">
If this parameter is non-zero, all double-quote characters will be
retained in the returned list of strings; otherwise, they will be
dropped.
</param>
<param name="error">
Upon failure, this parameter will be modified to contain an appropriate
error message.
</param>
<returns>
The new array of strings or null if the input string is null -OR- the
separator character is a backslash or a double-quote -OR- the string
contains an unbalanced backslash or double-quote character.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToStringWithProvider(System.Object,System.IFormatProvider)">
<summary>
Queries and returns the string representation for an object, using the
specified (or current) format provider.
</summary>
<param name="obj">
The object instance to return the string representation for.
</param>
<param name="provider">
The format provider to use -OR- null if the current format provider for
the thread should be used instead.
</param>
<returns>
The string representation for the object instance -OR- null if the
object instance is also null.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object,System.IFormatProvider,System.Boolean)">
<summary>
Attempts to convert an arbitrary object to the Boolean data type.
Null object values are converted to false. Throws an exception
upon failure.
</summary>
<param name="obj">
The object value to convert.
</param>
<param name="provider">
The format provider to use.
</param>
<param name="viaFramework">
If non-zero, a string value will be converted using the
<see cref="M:System.Convert.ToBoolean(System.Object,System.IFormatProvider)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)"/>
method will be used.
</param>
<returns>
The converted boolean value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object)">
<summary>
Convert a value to true or false.
</summary>
<param name="source">A string or number representing true or false</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)">
<summary>
Convert a string to true or false.
</summary>
<param name="source">A string representing true or false</param>
<returns></returns>
<remarks>
"yes", "no", "y", "n", "0", "1", "on", "off" as well as Boolean.FalseString and Boolean.TrueString will all be
converted to a proper boolean value.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SQLiteTypeToType(System.Data.SQLite.SQLiteType)">
<summary>
Converts a SQLiteType to a .NET Type object
</summary>
<param name="t">The SQLiteType to convert</param>
<returns>Returns a .NET Type object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToDbType(System.Type)">
<summary>
For a given intrinsic type, return a DbType
</summary>
<param name="typ">The native type to convert</param>
<returns>The corresponding (closest match) DbType</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToColumnSize(System.Data.DbType)">
<summary>
Returns the ColumnSize for the given DbType
</summary>
<param name="typ">The DbType to get the size of</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultTypeName(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default database type name to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default database type name to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultTypeNameWarning(System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags,System.String)">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database type name.
</summary>
<param name="dbType">
The database value type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="typeName">
The textual name of the database type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultDbTypeWarning(System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Nullable{System.Data.DbType})">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database value type.
</summary>
<param name="typeName">
The textual name of the database type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="dbType">
The database value type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToTypeName(System.Data.SQLite.SQLiteConnection,System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given database value type, return the "closest-match" textual database type name.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="dbType">The database value type.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The type name or an empty string if it cannot be determined.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToType(System.Data.DbType)">
<summary>
Convert a DbType to a Type
</summary>
<param name="typ">The DbType to convert from</param>
<returns>The closest-match .NET type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToAffinity(System.Type)">
<summary>
For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types.
</summary>
<param name="typ">The type to evaluate</param>
<returns>The SQLite type affinity for that type.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetSQLiteDbTypeMap">
<summary>
Builds and returns a map containing the database column types
recognized by this provider.
</summary>
<returns>
A map containing the database column types recognized by this
provider.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.IsStringDbType(System.Data.DbType)">
<summary>
Determines if a database type is considered to be a string.
</summary>
<param name="type">
The database type to check.
</param>
<returns>
Non-zero if the database type is considered to be a string, zero
otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SettingValueToString(System.Object)">
<summary>
Determines and returns the runtime configuration setting string that
should be used in place of the specified object value.
</summary>
<param name="value">
The object value to convert to a string.
</param>
<returns>
Either the string to use in place of the object value -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultDbType(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default <see cref="T:System.Data.DbType"/> value to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default <see cref="T:System.Data.DbType"/> value to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeNull(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DBNull"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DBNull"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeInt64(System.String)">
<summary>
Determines if the specified textual value appears to be an
<see cref="T:System.Int64"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like an <see cref="T:System.Int64"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDouble(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.Double"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.Double"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDateTime(System.Data.SQLite.SQLiteConvert,System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="convert">
The <see cref="T:System.Data.SQLite.SQLiteConvert"/> object instance configured with
the chosen <see cref="T:System.DateTime"/> format.
</param>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DateTime"/> in the
configured format, zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeNameToDbType(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given textual database type name, return the "closest-match" database type.
This method is called during query result processing; therefore, its performance
is critical.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="typeName">The textual name of the database type to match.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The .NET DBType the text evaluates to.</returns>
</member>
<member name="F:System.Data.SQLite.SQLiteBase.COR_E_EXCEPTION">
<summary>
The error code used for logging exceptions caught in user-provided
code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different config options.
We depend on auto initialization to recover.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if a database connection is open.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteOpenFlagsEnum,System.Int32,System.Boolean)">
<summary>
Opens a database.
</summary>
<remarks>
Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
to bind all attributed user-defined functions and collating sequences to the new connection.
</remarks>
<param name="strFilename">The filename of the database to open. SQLite automatically creates it if it doesn't exist.</param>
<param name="vfsName">The name of the VFS to use -OR- null to use the default VFS.</param>
<param name="connectionFlags">The flags associated with the parent connection object</param>
<param name="openFlags">The open flags to use when creating the connection</param>
<param name="maxPoolSize">The maximum size of the pool for the given filename</param>
<param name="usePool">If true, the connection can be pulled from the connection pool</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Close(System.Boolean)">
<summary>
Closes the currently-open database.
</summary>
<remarks>
After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
memory associated with the user-defined functions and collating sequences tied to the closed connection.
</remarks>
<param name="canThrow">Non-zero if the operation is allowed to throw exceptions, zero otherwise.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetTimeout(System.Int32)">
<summary>
Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command.
</summary>
<param name="nTimeoutMS">The number of milliseconds to wait before returning SQLITE_BUSY</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError">
<summary>
Returns the text of the last error issued by SQLite
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError(System.String)">
<summary>
Returns the text of the last error issued by SQLite -OR- the specified default error text if
none is available from the SQLite core library.
</summary>
<param name="defValue">
The error text to return in the event that one is not available from the SQLite core library.
</param>
<returns>
The error text.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ClearPool">
<summary>
When pooling is enabled, force this connection to be disposed rather than returned to the pool
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CountPool">
<summary>
When pooling is enabled, returns the number of pool entries matching the current file name.
</summary>
<returns>The number of pool entries matching the current file name.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Prepare(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteStatement,System.UInt32,System.String@)">
<summary>
Prepares a SQL statement for execution.
</summary>
<param name="cnn">The source connection preparing the command. Can be null for any caller except LINQ</param>
<param name="strSql">The SQL command text to prepare</param>
<param name="previous">The previous statement in a multi-statement command, or null if no previous statement exists</param>
<param name="timeoutMS">The timeout to wait before aborting the prepare</param>
<param name="strRemain">The remainder of the statement that was not processed. Each call to prepare parses the
SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned
here for a subsequent call to Prepare() until all the text has been processed.</param>
<returns>Returns an initialized SQLiteStatement.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Step(System.Data.SQLite.SQLiteStatement)">
<summary>
Steps through a prepared statement.
</summary>
<param name="stmt">The SQLiteStatement to step through</param>
<returns>True if a row was returned, False if not.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Reset(System.Data.SQLite.SQLiteStatement)">
<summary>
Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA,
transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
</summary>
<param name="stmt">The statement to reset</param>
<returns>Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined function from the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetExtendedResultCodes(System.Boolean)">
<summary>
Enables or disabled extened result codes returned by SQLite
</summary>
<param name="bOnOff">true to enable extended result codes, false to disable.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ResultCode">
<summary>
Returns the numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ExtendedResultCode">
<summary>
Returns the extended numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Extended result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Add a log message via the SQLite sqlite3_log interface.
</summary>
<param name="iErrCode">Error code to be logged with the message.</param>
<param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log()
interface, this should be pre-formatted. Consider using the
String.Format() function.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsInitialized">
<summary>
Checks if the SQLite core library has been initialized in the current process.
</summary>
<returns>
Non-zero if the SQLite core library has been initialized in the current process,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FallbackGetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the internal static lookup table.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Version">
<summary>
Returns a string representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.VersionNumber">
<summary>
Returns an integer representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Changes">
<summary>
Returns the number of changes the last executing insert/update caused.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection
value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
This is not really a per-connection value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._sql">
<summary>
The opaque pointer returned to us by the sqlite provider
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._functions">
<summary>
The user-defined functions registered on this connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._modules">
<summary>
The modules created using this connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db "/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModules">
<summary>
This method attempts to dispose of all the <see cref="T:System.Data.SQLite.SQLiteModule"/> derived
object instances currently associated with the native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetCancelCount">
<summary>
Returns the number of times the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method has been
called.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ShouldThrowForCancel">
<summary>
This method determines whether or not a <see cref="T:System.Data.SQLite.SQLiteException"/>
with a return code of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Interrupt"/> should
be thrown after making a call into the SQLite core library.
</summary>
<returns>
Non-zero if a <see cref="T:System.Data.SQLite.SQLiteException"/> to be thrown. This method
will only return non-zero if the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method was called
one or more times during a call into the SQLite core library (e.g. when
the sqlite3_prepare*() or sqlite3_step() APIs are used).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ResetCancelCount">
<summary>
Resets the value of the <see cref="F:System.Data.SQLite.SQLite3._cancelCount"/> field.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound and removed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticShutdown(System.Boolean)">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both. This parameter has no
effect on non-Windows operating systems.
</param>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if the associated native connection handle is open.
</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_errstr">
<summary>
Has the sqlite3_errstr() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the sqlite3_errstr() function, falling back to the internal lookup
table if necessary.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_stmt_readonly">
<summary>
Has the sqlite3_stmt_readonly() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.forceLogPrepare">
<summary>
This field is used to keep track of whether or not the
"SQLite_ForceLogPrepare" environment variable has been queried. If so,
it will only be non-zero if the environment variable was present.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ForceLogPrepare">
<summary>
Determines if all calls to prepare a SQL query will be logged,
regardless of the flags for the associated connection.
</summary>
<returns>
Non-zero to log all calls to prepare a SQL query.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLite3.ResultCode">
Gets the last SQLite error code
</member>
<member name="M:System.Data.SQLite.SQLite3.ExtendedResultCode">
Gets the last SQLite extended error code
</member>
<member name="M:System.Data.SQLite.SQLite3.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticLogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLogCallback(System.Data.SQLite.SQLiteLogCallback)">
<summary>
Allows the setting of a logging callback invoked by SQLite when a
log event occurs. Only one callback may be set. If NULL is passed,
the logging callback is unregistered.
</summary>
<param name="func">The callback function to invoke.</param>
<returns>Returns a result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy, negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticIsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetValue(System.Data.SQLite.SQLiteStatement,System.Data.SQLite.SQLiteConnectionFlags,System.Int32,System.Data.SQLite.SQLiteType)">
<summary>
Helper function to retrieve a column of data from an active statement.
</summary>
<param name="stmt">The statement being step()'d through</param>
<param name="flags">The flags associated with the connection.</param>
<param name="index">The column index to retrieve</param>
<param name="typ">The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.</param>
<returns>Returns the data in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLite3.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned
by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLite3.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLite3_UTF16">
<summary>
Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db"/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.ToString(System.IntPtr,System.Int32)">
<summary>
Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
</summary>
<param name="b">A pointer to a UTF-16 string</param>
<param name="nbytelen">The length (IN BYTES) of the string</param>
<returns>A .NET string</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBackup">
<summary>
Represents a single SQL backup in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sql">
<summary>
The underlying SQLite object this backup is bound to.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sqlite_backup">
<summary>
The actual backup handle.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._destDb">
<summary>
The destination database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zDestName">
<summary>
The destination database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sourceDb">
<summary>
The source database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zSourceName">
<summary>
The source database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._stepResult">
<summary>
The last result from the StepBackup method of the SQLite3 class.
This is used to determine if the call to the FinishBackup method of
the SQLite3 class should throw an exception when it receives a non-Ok
return code from the core SQLite library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteBackupHandle,System.IntPtr,System.Byte[],System.IntPtr,System.Byte[])">
<summary>
Initializes the backup.
</summary>
<param name="sqlbase">The base SQLite object.</param>
<param name="backup">The backup handle.</param>
<param name="destDb">The destination database for the backup.</param>
<param name="zDestName">The destination database name for the backup.</param>
<param name="sourceDb">The source database for the backup.</param>
<param name="zSourceName">The source database name for the backup.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.Dispose">
<summary>
Disposes and finalizes the backup.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteSchemaExtensions">
<summary>
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteSchemaExtensions.BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
<summary>
Creates temporary tables on the connection so schema information can be queried.
</summary>
<param name="connection">
The connection upon which to build the schema tables.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionFlags">
<summary>
The extra behavioral flags that can be applied to a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.None">
<summary>
No extra flags.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPrepare">
<summary>
Enable logging of all SQL statements to be prepared.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPreBind">
<summary>
Enable logging of all bound parameter types and raw values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBind">
<summary>
Enable logging of all bound parameter strongly typed values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogCallbackException">
<summary>
Enable logging of all exceptions caught from user-provided
managed code called from native code via delegates.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBackup">
<summary>
Enable logging of backup API errors.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoExtensionFunctions">
<summary>
Skip adding the extension functions provided by the native
interop assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindUInt32AsInt64">
<summary>
When binding parameter values with the <see cref="T:System.UInt32"/>
type, use the interop method that accepts an <see cref="T:System.Int64"/>
value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAllAsText">
<summary>
When binding parameter values, always bind them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.GetAllAsText">
<summary>
When returning column values, always return them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLoadExtension">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
loading extensions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoCreateModule">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
creating virtual table modules.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoBindFunctions">
<summary>
Skip binding any functions provided by other managed assemblies when
opening the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLogModule">
<summary>
Skip setting the logging related properties of the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance that was passed to
the <see cref="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleError">
<summary>
Enable logging of all virtual table module errors seen by the
<see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleException">
<summary>
Enable logging of certain virtual table module exceptions that cannot
be easily discovered via other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.TraceWarning">
<summary>
Enable tracing of potentially important [non-fatal] error conditions
that cannot be easily reported through other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool">
<summary>
Disable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool">
<summary>
Enable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes">
<summary>
Enable using per-connection mappings between type names and
<see cref="T:System.Data.DbType"/> values. Also see the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings"/>,
<see cref="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings"/>, and
<see cref="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)"/> methods. These
per-connection mappings, when present, override the corresponding
global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoGlobalTypes">
<summary>
Disable using global mappings between type names and
<see cref="T:System.Data.DbType"/> values. This may be useful in some very narrow
cases; however, if there are no per-connection type mappings, the
fallback defaults will be used for both type names and their
associated <see cref="T:System.Data.DbType"/> values. Therefore, use of this flag
is not recommended.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StickyHasRows">
<summary>
When the <see cref="P:System.Data.SQLite.SQLiteDataReader.HasRows"/> property is used, it
should return non-zero if there were ever any rows in the associated
result sets.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StrictEnlistment">
<summary>
Enable "strict" transaction enlistment semantics. Setting this flag
will cause an exception to be thrown if an attempt is made to enlist
in a transaction with an unavailable or unsupported isolation level.
In the future, more extensive checks may be enabled by this flag as
well.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.MapIsolationLevels">
<summary>
Enable mapping of unsupported transaction isolation levels to the
closest supported transaction isolation level.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectTextAffinity">
<summary>
When returning column values, attempt to detect the affinity of
textual values by checking if they fully conform to those of the
<see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectStringType">
<summary>
When returning column values, attempt to detect the type of
string values by checking if they fully conform to those of
the <see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConvertSettings">
<summary>
Skip querying runtime configuration settings for use by the
<see cref="T:System.Data.SQLite.SQLiteConvert"/> class, including the default
<see cref="T:System.Data.DbType"/> value and default database type name.
<b>NOTE: If the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/>
and/or <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName"/>
properties are not set explicitly nor set via their connection
string properties and repeated calls to determine these runtime
configuration settings are seen to be a problem, this flag
should be set.</b>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindDateTimeWithKind">
<summary>
When binding parameter values with the <see cref="T:System.DateTime"/>
type, take their <see cref="T:System.DateTimeKind"/> into account as
well as that of the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.RollbackOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Commit"/> event, the transaction
should be rolled back. If this is not specified, the transaction
will continue the commit process instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DenyOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Authorize"/> event, the action should
should be denied. If this is not specified, the action will be
allowed instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.InterruptOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event, the operation
should be interrupted. If this is not specified, the operation
will simply continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UnbindFunctionsOnClose">
<summary>
Attempt to unbind all functions provided by other managed assemblies
when closing the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings
or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogAll">
<summary>
Enable all logging.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.Default">
<summary>
The default extra flags for new connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DefaultAndLogAll">
<summary>
The default extra flags for new connections with all logging enabled.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommand">
<summary>
SQLite implementation of DbCommand.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand.DefaultConnectionString">
<summary>
The default connection string to be used when creating a temporary
connection to execute a command via the static
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])"/>
methods.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandText">
<summary>
The command text this command is based on
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._cnn">
<summary>
The connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._version">
<summary>
The version of the connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._activeReader">
<summary>
Indicates whether or not a DataReader is active on the command.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandTimeout">
<summary>
The timeout for the command, kludged because SQLite doesn't support per-command timeout values
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._designTimeVisible">
<summary>
Designer support
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._updateRowSource">
<summary>
Used by DbDataAdapter to determine updating behavior
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._parameterCollection">
<summary>
The collection of parameters for the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._statementList">
<summary>
The SQL command text, broken into individual SQL statements as they are executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._remainingText">
<summary>
Unprocessed SQL text that has not been executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._transaction">
<summary>
Transaction associated with this command
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor">
<overloads>
Constructs a new SQLiteCommand
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String)">
<summary>
Initializes the command with the given command text
</summary>
<param name="commandText">The SQL command text</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command with the given SQL command text and attach the command to the specified
connection.
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command and associates it with the specified connection.
</summary>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteTransaction)">
<summary>
Initializes a command with the given SQL, connection and transaction
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
<param name="transaction">The transaction the command should be associated with</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Dispose(System.Boolean)">
<summary>
Disposes of the command and clears all member variables
</summary>
<param name="disposing">Whether or not the class is being explicitly or implicitly disposed</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.GetFlags(System.Data.SQLite.SQLiteCommand)">
<summary>
This method attempts to query the flags associated with the database
connection in use. If the database connection is disposed, the default
flags will be returned.
</summary>
<param name="command">
The command containing the databse connection to query the flags from.
</param>
<returns>
The connection flags value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearCommands">
<summary>
Clears and destroys all statements currently prepared
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.BuildNextCommand">
<summary>
Builds an array of prepared statements for each complete SQL statement in the command text
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Cancel">
<summary>
Not implemented
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateDbParameter">
<summary>
Forwards to the local CreateParameter() function
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateParameter">
<summary>
Create a new parameter
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.InitializeForReader">
<summary>
This function ensures there are no active readers, that we have a valid connection,
that the connection is open, that all statements are prepared and all parameters are assigned
in preparation for allocating a data reader.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(System.Data.CommandBehavior)">
<summary>
Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
</summary>
<param name="behavior">The behavior the data reader should adopt</param>
<returns>Returns a SQLiteDataReader object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type, closes the connection, and returns the results. If the
connection string is null, a temporary in-memory database connection will
be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type and command behavior, closes the connection unless a data
reader is created, and returns the results. If the connection string is
null, a temporary in-memory database connection will be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="commandBehavior">
The command behavior flags for the command.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)">
<summary>
Overrides the default behavior to return a SQLiteDataReader specialization class
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader">
<summary>
Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
</summary>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearDataReader">
<summary>
Called by the SQLiteDataReader when the data reader is closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Prepare">
<summary>
Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Clone">
<summary>
Clones a command, including all its parameters
</summary>
<returns>A new SQLiteCommand with the same commandtext, connection and parameters</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandText">
<summary>
The SQL command text associated with the command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandTimeout">
<summary>
The amount of time to wait for the connection to become available before erroring out
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandType">
<summary>
The type of the command. SQLite only supports CommandType.Text
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Connection">
<summary>
The connection associated with this command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Parameters">
<summary>
Returns the SQLiteParameterCollection for the given command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbParameterCollection">
<summary>
Forwards to the local Parameters property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Transaction">
<summary>
The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the
command's underlying connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbTransaction">
<summary>
Forwards to the local Transaction property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.UpdatedRowSource">
<summary>
Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DesignTimeVisible">
<summary>
Determines if the command is visible at design time. Defaults to True.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommandBuilder">
<summary>
SQLite implementation of DbCommandBuilder.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor(System.Data.SQLite.SQLiteDataAdapter)">
<summary>
Initializes the command builder and associates it with the specified data adapter.
</summary>
<param name="adp"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.ApplyParameterInfo(System.Data.Common.DbParameter,System.Data.DataRow,System.Data.StatementType,System.Boolean)">
<summary>
Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema
</summary>
<param name="parameter">The parameter to use in applying custom behaviors to a row</param>
<param name="row">The row to apply the parameter to</param>
<param name="statementType">The type of statement</param>
<param name="whereClause">Whether the application of the parameter is part of a WHERE clause</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.String)">
<summary>
Returns a valid named parameter
</summary>
<param name="parameterName">The name of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.Int32)">
<summary>
Returns a named parameter for the given ordinal
</summary>
<param name="parameterOrdinal">The i of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterPlaceholder(System.Int32)">
<summary>
Returns a placeholder character for the specified parameter i.
</summary>
<param name="parameterOrdinal">The index of the parameter to provide a placeholder for</param>
<returns>Returns a named parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.SetRowUpdatingHandler(System.Data.Common.DbDataAdapter)">
<summary>
Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL
statements that may not have previously been generated.
</summary>
<param name="adapter">A data adapter to receive events on.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.QuoteIdentifier(System.String)">
<summary>
Places brackets around an identifier
</summary>
<param name="unquotedIdentifier">The identifier to quote</param>
<returns>The bracketed identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.UnquoteIdentifier(System.String)">
<summary>
Removes brackets around an identifier
</summary>
<param name="quotedIdentifier">The quoted (bracketed) identifier</param>
<returns>The undecorated identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetSchemaTable(System.Data.Common.DbCommand)">
<summary>
Override helper, which can help the base command builder choose the right keys for the given query
</summary>
<param name="sourceCommand"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.DataAdapter">
<summary>
Gets/sets the DataAdapter for this CommandBuilder
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogLocation">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuotePrefix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuoteSuffix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.SchemaSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="T:System.Data.SQLite.ConnectionEventArgs">
<summary>
Event data for connection event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventType">
<summary>
The type of event being raised.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventArgs">
<summary>
The <see cref="T:System.Data.StateChangeEventArgs"/> associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Transaction">
<summary>
The transaction associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Command">
<summary>
The command associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.DataReader">
<summary>
The data reader associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.CriticalHandle">
<summary>
The critical handle associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Text">
<summary>
Command or message text associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.ConnectionEventArgs.#ctor(System.Data.SQLite.SQLiteConnectionEventType,System.Data.StateChangeEventArgs,System.Data.IDbTransaction,System.Data.IDbCommand,System.Data.IDataReader,System.Runtime.InteropServices.CriticalHandle,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="eventType">The type of event being raised.</param>
<param name="eventArgs">The base <see cref="F:System.Data.SQLite.ConnectionEventArgs.EventArgs"/> associated
with this event, if any.</param>
<param name="transaction">The transaction associated with this event, if any.</param>
<param name="command">The command associated with this event, if any.</param>
<param name="dataReader">The data reader associated with this event, if any.</param>
<param name="criticalHandle">The critical handle associated with this event, if any.</param>
<param name="text">The command or message text, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventHandler">
<summary>
Raised when an event pertaining to a connection occurs.
</summary>
<param name="sender">The connection involved.</param>
<param name="e">Extra information about the event.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnection">
<summary>
SQLite implentation of DbConnection.
</summary>
<remarks>
The <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> property can contain the following parameter(s), delimited with a semi-colon:
<list type="table">
<listheader>
<term>Parameter</term>
<term>Values</term>
<term>Required</term>
<term>Default</term>
</listheader>
<item>
<description>Data Source</description>
<description>
This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).
Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a
UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db"
would become "\\\\Network\Share\test.db").
</description>
<description>Y</description>
<description></description>
</item>
<item>
<description>Uri</description>
<description>
If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading
"file://" or "file:" prefix will be stripped off and the resulting file name will be used to open
the database.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>FullUri</description>
<description>
If specified, this must be a URI in a format recognized by the SQLite core library (starting with
SQLite 3.7.7). It will be passed verbatim to the SQLite core library.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>Version</description>
<description>3</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>UseUTF16Encoding</description>
<description>
<b>True</b> - The UTF-16 encoding should be used.
<br/>
<b>False</b> - The UTF-8 encoding should be used.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>DefaultDbType</description>
<description>
This is the default <see cref="T:System.Data.DbType"/> to use when one cannot be determined based on the
column metadata and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DefaultTypeName</description>
<description>
This is the default type name to use when one cannot be determined based on the column metadata
and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>NoDefaultFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>NoSharedFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>VfsName</description>
<description>
The name of the VFS to use when opening the database connection.
If this is not specified, the default VFS will be used.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>ZipVfsVersion</description>
<description>
If non-null, this is the "version" of ZipVFS to use. This requires
the System.Data.SQLite interop assembly -AND- primary managed assembly
to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing. The valid values are "v2" and "v3". Using
anyother value will cause an exception to be thrown. Please see the
ZipVFS documentation for more information on how to use this parameter.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DateTimeFormat</description>
<description>
<b>Ticks</b> - Use the value of DateTime.Ticks.<br/>
<b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/>
<b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/>
<b>UnixEpoch</b> - The whole number of seconds since the Unix epoch (January 1, 1970).<br/>
<b>InvariantCulture</b> - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.<br/>
<b>CurrentCulture</b> - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.</description>
<description>N</description>
<description>ISO8601</description>
</item>
<item>
<description>DateTimeKind</description>
<description>
<b>Unspecified</b> - Not specified as either UTC or local time.
<br/>
<b>Utc</b> - The time represented is UTC.
<br/>
<b>Local</b> - The time represented is local time.
</description>
<description>N</description>
<description>Unspecified</description>
</item>
<item>
<description>DateTimeFormatString</description>
<description>
The exact DateTime format string to use for all formatting and parsing of all DateTime
values for this connection.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>BaseSchemaName</description>
<description>
Some base data classes in the framework (e.g. those that build SQL queries dynamically)
assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used
as a placeholder and removed prior to preparing any SQL statements that may contain it.
</description>
<description>N</description>
<description>sqlite_default_schema</description>
</item>
<item>
<description>BinaryGUID</description>
<description>
<b>True</b> - Store GUID columns in binary form
<br/>
<b>False</b> - Store GUID columns as text
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>Cache Size</description>
<description>
If the argument N is positive then the suggested cache size is set to N.
If the argument N is negative, then the number of cache pages is adjusted
to use approximately abs(N*1024) bytes of memory. Backwards compatibility
note: The behavior of cache_size with a negative N was different in SQLite
versions prior to 3.7.10. In version 3.7.9 and earlier, the number of
pages in the cache was set to the absolute value of N.
</description>
<description>N</description>
<description>2000</description>
</item>
<item>
<description>Synchronous</description>
<description>
<b>Normal</b> - Normal file flushing behavior
<br/>
<b>Full</b> - Full flushing after all writes
<br/>
<b>Off</b> - Underlying OS flushes I/O's
</description>
<description>N</description>
<description>Full</description>
</item>
<item>
<description>Page Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>1024</description>
</item>
<item>
<description>Password</description>
<description>
{password} - Using this parameter requires that the CryptoAPI based codec
be enabled at compile-time for both the native interop assembly and the
core managed assemblies; otherwise, using this parameter may result in an
exception being thrown when attempting to open the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>HexPassword</description>
<description>
{hexPassword} - Must contain a sequence of zero or more hexadecimal encoded
byte values without a leading "0x" prefix. Using this parameter requires
that the CryptoAPI based codec be enabled at compile-time for both the native
interop assembly and the core managed assemblies; otherwise, using this
parameter may result in an exception being thrown when attempting to open
the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>Enlist</description>
<description>
<b>Y</b> - Automatically enlist in distributed transactions
<br/>
<b>N</b> - No automatic enlistment
</description>
<description>N</description>
<description>Y</description>
</item>
<item>
<description>Pooling</description>
<description>
<b>True</b> - Use connection pooling.<br/>
<b>False</b> - Do not use connection pooling.<br/><br/>
<b>WARNING:</b> When using the default connection pool implementation,
setting this property to True should be avoided by applications that make
use of COM (either directly or indirectly) due to possible deadlocks that
can occur during the finalization of some COM objects.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>FailIfMissing</description>
<description>
<b>True</b> - Don't create the database if it does not exist, throw an error instead
<br/>
<b>False</b> - Automatically create the database if it does not exist
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Page Count</description>
<description>{size in pages} - Limits the maximum number of pages (limits the size) of the database</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Legacy Format</description>
<description>
<b>True</b> - Use the more compatible legacy 3.x database format
<br/>
<b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Default Timeout</description>
<description>{time in seconds}<br/>The default command timeout</description>
<description>N</description>
<description>30</description>
</item>
<item>
<description>BusyTimeout</description>
<description>{time in milliseconds}<br/>Sets the busy timeout for the core library.</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Journal Mode</description>
<description>
<b>Delete</b> - Delete the journal file after a commit.
<br/>
<b>Persist</b> - Zero out and leave the journal file on disk after a
commit.
<br/>
<b>Off</b> - Disable the rollback journal entirely. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Truncate</b> - Truncate the journal file to zero-length instead of
deleting it.
<br/>
<b>Memory</b> - Store the journal in volatile RAM. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Wal</b> - Use a write-ahead log instead of a rollback journal.
</description>
<description>N</description>
<description>Delete</description>
</item>
<item>
<description>Read Only</description>
<description>
<b>True</b> - Open the database for read only access
<br/>
<b>False</b> - Open the database for normal read/write access
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Pool Size</description>
<description>The maximum number of connections for the given connection string that can be in the connection pool</description>
<description>N</description>
<description>100</description>
</item>
<item>
<description>Default IsolationLevel</description>
<description>The default transaciton isolation level</description>
<description>N</description>
<description>Serializable</description>
</item>
<item>
<description>Foreign Keys</description>
<description>Enable foreign key constraints</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Flags</description>
<description>Extra behavioral flags for the connection. See the <see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for possible values.</description>
<description>N</description>
<description>Default</description>
</item>
<item>
<description>SetDefaults</description>
<description>
<b>True</b> - Apply the default connection settings to the opened database.<br/>
<b>False</b> - Skip applying the default connection settings to the opened database.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>ToFullPath</description>
<description>
<b>True</b> - Attempt to expand the data source file name to a fully qualified path before opening.
<br/>
<b>False</b> - Skip attempting to expand the data source file name to a fully qualified path before opening.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>PrepareRetries</description>
<description>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>ProgressOps</description>
<description>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as well.
</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Recursive Triggers</description>
<description>
<b>True</b> - Enable the recursive trigger capability.
<b>False</b> - Disable the recursive trigger capability.
</description>
<description>N</description>
<description>False</description>
</item>
</list>
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.BadDbType">
<summary>
The "invalid value" for the <see cref="T:System.Data.DbType"/> enumeration used
by the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/> property. This constant is shared
by this class and the SQLiteConnectionStringBuilder class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.DefaultBaseSchemaName">
<summary>
The default "stub" (i.e. placeholder) base schema name to use when
returning column schema information. Used as the initial value of
the BaseSchemaName property. This should start with "sqlite_*"
because those names are reserved for use by SQLite (i.e. they cannot
be confused with the names of user objects).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._assembly">
<summary>
The managed assembly containing this type.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
<summary>
State of the current connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionString">
<summary>
The connection string
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._transactionLevel">
<summary>
Nesting level of the transactions open on the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._noDispose">
<summary>
If this flag is non-zero, the <see cref="M:System.Data.SQLite.SQLiteConnection.Dispose"/> method will have
no effect; however, the <see cref="M:System.Data.SQLite.SQLiteConnection.Close"/> method will continue to
behave as normal.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._disposing">
<summary>
If set, then the connection is currently being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultIsolation">
<summary>
The default isolation level for new transactions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._enlistment">
<summary>
Whether or not the connection is enlisted in a distrubuted transaction
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._typeNames">
<summary>
The per-connection mappings between type names and <see cref="T:System.Data.DbType"/>
values. These mappings override the corresponding global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sql">
<summary>
The base SQLite object to interop with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._dataSource">
<summary>
The database filename minus path and extension
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._password">
<summary>
Temporary password storage, emptied after the database has been opened
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._flags">
<summary>
The extra behavioral flags for this connection, if any. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._cachedSettings">
<summary>
The cached values for all settings that have been fetched on behalf
of this connection. This cache may be cleared by calling the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultDbType">
<summary>
The default databse type for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTypeName">
<summary>
The default databse type name for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._vfsName">
<summary>
The name of the VFS to be used when opening the database connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTimeout">
<summary>
Default command timeout
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._busyTimeout">
<summary>
The default busy timeout to use with the SQLite core library. This is
only used when opening a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._prepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._progressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when opening the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._parseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor">
<overloads>
Constructs a new SQLiteConnection object
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">The connection string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.IntPtr,System.String,System.Boolean)">
<summary>
Initializes the connection with a pre-existing native connection handle.
This constructor overload is intended to be used only by the private
<see cref="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="db">
The native connection handle to use.
</param>
<param name="fileName">
The file name corresponding to the native connection handle.
</param>
<param name="ownHandle">
Non-zero if this instance owns the native connection handle and
should dispose of it when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String,System.Boolean)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">
The connection string to use.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Clones the settings and connection string from an existing connection. If the existing connection is already open, this
function will open its own connection, enumerate any attached databases of the original connection, and automatically
attach to them.
</summary>
<param name="connection">The connection to copy the settings from.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnChanged(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.ConnectionEventArgs)">
<summary>
Raises the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/> event.
</summary>
<param name="connection">
The connection associated with this event. If this parameter is not
null and the specified connection cannot raise events, then the
registered event handlers will not be invoked.
</param>
<param name="e">
A <see cref="T:System.Data.SQLite.ConnectionEventArgs"/> that contains the event data.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateHandle(System.IntPtr)">
<summary>
Creates and returns a new managed database connection handle. This
method is intended to be used by implementations of the
<see cref="T:System.Data.SQLite.ISQLiteConnectionPool"/> interface only. In theory, it
could be used by other classes; however, that usage is not supported.
</summary>
<param name="nativeHandle">
This must be a native database connection handle returned by the
SQLite core library and it must remain valid and open during the
entire duration of the calling method.
</param>
<returns>
The new managed database connection handle or null if it cannot be
created.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BackupDatabase(System.Data.SQLite.SQLiteConnection,System.String,System.String,System.Int32,System.Data.SQLite.SQLiteBackupCallback,System.Int32)">
<summary>
Backs up the database, using the specified database connection as the
destination.
</summary>
<param name="destination">The destination database connection.</param>
<param name="destinationName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<param name="pages">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="callback">
The method to invoke between each step of the backup process. This
parameter may be null (i.e. no callbacks will be performed).
</param>
<param name="retryMilliseconds">
The number of milliseconds to sleep after encountering a locking error
during the backup process. A value less than zero means that no sleep
should be performed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings">
<summary>
Clears the per-connection cached settings.
</summary>
<returns>
The total number of per-connection settings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryGetCachedSetting(System.String,System.String,System.Object@)">
<summary>
Queries and returns the value of the specified setting, using the
cached setting names and values for this connection, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<param name="value">
The value of the cached setting is stored here if found; otherwise,
the value of <paramref name="default" /> is stored here.
</param>
<returns>
Non-zero if the cached setting was found; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetCachedSetting(System.String,System.Object)">
<summary>
Adds or sets the cached setting specified by <paramref name="name" />
to the value specified by <paramref name="value" />.
</summary>
<param name="name">
The name of the cached setting to add or replace.
</param>
<param name="value">
The new value of the cached setting.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings">
<summary>
Clears the per-connection type mappings.
</summary>
<returns>
The total number of per-connection type mappings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings">
<summary>
Returns the per-connection type mappings.
</summary>
<returns>
The per-connection type mappings -OR- null if they are unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)">
<summary>
Adds a per-connection type mapping, possibly replacing one or more
that already exist.
</summary>
<param name="typeName">
The case-insensitive database type name (e.g. "MYDATE"). The value
of this parameter cannot be null. Using an empty string value (or
a string value consisting entirely of whitespace) for this parameter
is not recommended.
</param>
<param name="dataType">
The <see cref="T:System.Data.DbType"/> value that should be associated with the
specified type name.
</param>
<param name="primary">
Non-zero if this mapping should be considered to be the primary one
for the specified <see cref="T:System.Data.DbType"/>.
</param>
<returns>
A negative value if nothing was done. Zero if no per-connection type
mappings were replaced (i.e. it was a pure add operation). More than
zero if some per-connection type mappings were replaced.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Delegate,System.Delegate)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="callback1">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For scalar functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type. For aggregate functions,
this corresponds to the <see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type. For
collation functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type.
</param>
<param name="callback2">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For aggregate functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type. For other callback types, it
is not used and must be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute)">
<summary>
Attempts to unbind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindAllFunctions(System.Boolean)">
<summary>
This method unbinds all registered (known) functions -OR- all previously
bound user-defined functions from this connection.
</summary>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind
all functions currently bound to the connection.
</param>
<returns>
Non-zero if all the specified user-defined functions were unbound.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the algorithm provided
by the framework itself. This is not applicable when running on the
.NET Compact Framework.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose">
<summary>
Disposes and finalizes the connection, if applicable.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Clone">
<summary>
Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection
will also be opened.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateFile(System.String)">
<summary>
Creates a database file. This just creates a zero-byte file which SQLite
will turn into a database when the file is opened properly.
</summary>
<param name="databaseFileName">The file to create</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnStateChange(System.Data.ConnectionState,System.Data.StateChangeEventArgs@)">
<summary>
Raises the state change event when the state of the connection changes
</summary>
<param name="newState">The new connection state. If this is different
from the previous state, the <see cref="E:System.Data.SQLite.SQLiteConnection.StateChange"/> event is
raised.</param>
<param name="eventArgs">The event data created for the raised event, if
it was actually raised.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetFallbackDefaultIsolationLevel">
<summary>
Determines and returns the fallback default isolation level when one cannot be
obtained from an existing connection instance.
</summary>
<returns>
The fallback default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultIsolationLevel">
<summary>
Determines and returns the default isolation level for this connection instance.
</summary>
<returns>
The default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel,System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="isolationLevel">This parameter is ignored.</param>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already active on the connection.
</summary>
<param name="isolationLevel">Supported isolation levels are Serializable, ReadCommitted and Unspecified.</param>
<remarks>
Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the
connection string, Serializable is used.
Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads
may begin a transaction. Other threads may read from the database, but not write.
With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start
a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
</remarks>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already
active on the connection.
</summary>
<returns>Returns the new transaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginDbTransaction(System.Data.IsolationLevel)">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)"/> function
</summary>
<param name="isolationLevel">Supported isolation levels are Unspecified, Serializable, and ReadCommitted</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangeDatabase(System.String)">
<summary>
This method is not implemented; however, the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/>
event will still be raised.
</summary>
<param name="databaseName"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Close">
<summary>
When the database connection is closed, all commands linked to this connection are automatically reset.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearPool(System.Data.SQLite.SQLiteConnection)">
<summary>
Clears the connection pool associated with the connection. Any other active connections using the same database file
will be discarded instead of returned to the pool when they are closed.
</summary>
<param name="connection"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearAllPools">
<summary>
Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateCommand">
<summary>
Create a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> and associate it with this connection.
</summary>
<returns>Returns a new command object already assigned to this connection.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateDbCommand">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.CreateCommand"/> function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionStringViaFramework(System.String,System.Boolean)">
<summary>
Parses a connection string using the built-in (i.e. framework provided)
connection string parser class and returns the key/value pairs. An
exception may be thrown if the connection string is invalid or cannot be
parsed. When compiled for the .NET Compact Framework, the custom
connection string parser is always used instead because the framework
provided one is unavailable there.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="strict">
Non-zero to throw an exception if any connection string values are not of
the <see cref="T:System.String"/> type. This is not applicable when running on
the .NET Compact Framework.
</param>
<returns>The list of key/value pairs.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnlistTransaction(System.Transactions.Transaction)">
<summary>
Manual distributed transaction enlistment support
</summary>
<param name="transaction">The distributed transaction to enlist in</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FindKey(System.Collections.Generic.SortedList{System.String,System.String},System.String,System.String)">
<summary>
Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value
</summary>
<param name="items">The list to look in</param>
<param name="key">The key to find</param>
<param name="defValue">The default value to return if the key is not found</param>
<returns>The value corresponding to the specified key, or the default value if not found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseEnum(System.Type,System.String,System.Boolean)">
<summary>
Attempts to convert the string value to an enumerated value of the specified type.
</summary>
<param name="type">The enumerated type to convert the string value to.</param>
<param name="value">The string value to be converted.</param>
<param name="ignoreCase">Non-zero to make the conversion case-insensitive.</param>
<returns>The enumerated value upon success or null upon error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseByte(System.String,System.Globalization.NumberStyles,System.Byte@)">
<summary>
Attempts to convert an input string into a byte value.
</summary>
<param name="value">
The string value to be converted.
</param>
<param name="style">
The number styles to use for the conversion.
</param>
<param name="result">
Upon sucess, this will contain the parsed byte value.
Upon failure, the value of this parameter is undefined.
</param>
<returns>
Non-zero upon success; zero on failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnableExtensions(System.Boolean)">
<summary>
Enables or disabled extension loading.
</summary>
<param name="enable">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)">
<summary>
Creates a disposable module containing the implementation of a virtual
table.
</summary>
<param name="module">
The module object to be used when creating the disposable module.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ToHexString(System.Byte[])">
<summary>
Creates and returns a string containing the hexadecimal encoded byte
values from the input array.
</summary>
<param name="array">
The input array of bytes.
</param>
<returns>
The resulting string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String,System.String@)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<param name="error">
Upon failure, this will contain an appropriate error message.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultPooling">
<summary>
This method figures out what the default connection pool setting should
be based on the connection flags. When present, the "Pooling" connection
string property value always overrides the value returned by this method.
</summary>
<returns>
Non-zero if the connection pool should be enabled by default; otherwise,
zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetEffectiveIsolationLevel(System.Data.IsolationLevel)">
<summary>
Determines the transaction isolation level that should be used by
the caller, primarily based upon the one specified by the caller.
If mapping of transaction isolation levels is enabled, the returned
transaction isolation level may be significantly different than the
originally specified one.
</summary>
<param name="isolationLevel">
The originally specified transaction isolation level.
</param>
<returns>
The transaction isolation level that should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Open">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OpenAndReturn">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> and then returns it.
</summary>
<returns>The current connection object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Cancel">
<summary>
This method causes any pending database operation to abort and return at
its earliest opportunity. This routine is typically called in response
to a user action such as pressing "Cancel" or Ctrl-C where the user wants
a long query operation to halt immediately. It is safe to call this
routine from any thread. However, it is not safe to call this routine
with a database connection that is closed or might close before this method
returns.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetMemoryStatistics(System.Collections.Generic.IDictionary{System.String,System.Int64}@)">
<summary>
Returns various global memory statistics for the SQLite core library via
a dictionary of key/value pairs. Currently, only the "MemoryUsed" and
"MemoryHighwater" keys are returned and they have values that correspond
to the values that could be obtained via the <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryUsed"/>
and <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater"/> connection properties.
</summary>
<param name="statistics">
This dictionary will be populated with the global memory statistics. It
will be created if necessary.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for this database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown">
<summary>
Passes a shutdown request to the SQLite core library. Does not throw
an exception if the shutdown request fails.
</summary>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero for
failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown(System.Boolean,System.Boolean)">
<summary>
Passes a shutdown request to the SQLite core library. Throws an
exception if the shutdown request fails and the no-throw parameter
is non-zero.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both.
</param>
<param name="noThrow">
When non-zero, throw an exception if the shutdown request fails.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExtendedResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Int32,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.String)">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.Byte[])">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.String)">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.Byte[])">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetAvRetry(System.Int32@,System.Int32@)">
<summary>
Queries or modifies the number of retries or the retry interval (in milliseconds) for
certain I/O operations that may fail due to anti-virus software.
</summary>
<param name="count">The number of times to retry the I/O operation. A negative value
will cause the current count to be queried and replace that negative value.</param>
<param name="interval">The number of milliseconds to wait before retrying the I/O
operation. This number is multiplied by the number of retry attempts so far to come
up with the final number of milliseconds to wait. A negative value will cause the
current interval to be queried and replace that negative value.</param>
<returns>Zero for success, non-zero for error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetChunkSize(System.Int32)">
<summary>
Sets the chunk size for the primary file associated with this database
connection.
</summary>
<param name="size">
The new chunk size for the main database, in bytes.
</param>
<returns>
Zero for success, non-zero for error.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnwrapString(System.String)">
<summary>
Removes one set of surrounding single -OR- double quotes from the string
value and returns the resulting string value. If the string is null, empty,
or contains quotes that are not balanced, nothing is done and the original
string value will be returned.
</summary>
<param name="value">The string value to process.</param>
<returns>
The string value, modified to remove one set of surrounding single -OR-
double quotes, if applicable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExpandFileName(System.String,System.Boolean)">
<summary>
Expand the filename of the data source, resolving the |DataDirectory|
macro as appropriate.
</summary>
<param name="sourceFile">The database filename to expand</param>
<param name="toFullPath">
Non-zero if the returned file name should be converted to a full path
(except when using the .NET Compact Framework).
</param>
<returns>The expanded path and filename of the filename</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
<overloads>
The following commands are used to extract schema information out of the database. Valid schema types are:
<list type="bullet">
<item>
<description>MetaDataCollections</description>
</item>
<item>
<description>DataSourceInformation</description>
</item>
<item>
<description>Catalogs</description>
</item>
<item>
<description>Columns</description>
</item>
<item>
<description>ForeignKeys</description>
</item>
<item>
<description>Indexes</description>
</item>
<item>
<description>IndexColumns</description>
</item>
<item>
<description>Tables</description>
</item>
<item>
<description>Views</description>
</item>
<item>
<description>ViewColumns</description>
</item>
</list>
</overloads>
<summary>
Returns the MetaDataCollections schema
</summary>
<returns>A DataTable of the MetaDataCollections schema</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String)">
<summary>
Returns schema information of the specified collection
</summary>
<param name="collectionName">The schema collection to retrieve</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String,System.String[])">
<summary>
Retrieves schema information using the specified constraint(s) for the specified collection
</summary>
<param name="collectionName">The collection to retrieve.</param>
<param name="restrictionValues">
The restrictions to impose. Typically, this may include:
<list type="table">
<listheader>
<term>restrictionValues element index</term>
<term>usage</term>
</listheader>
<item>
<description>0</description>
<description>The database (or catalog) name, if applicable.</description>
</item>
<item>
<description>1</description>
<description>The schema name. This is not used by this provider.</description>
</item>
<item>
<description>2</description>
<description>The table name, if applicable.</description>
</item>
<item>
<description>3</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the index name; otherwise, it is the column name.
</description>
</item>
<item>
<description>4</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the column name; otherwise, it is not used.
</description>
</item>
</list>
</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_MetaDataCollections">
<summary>
Builds a MetaDataCollections schema datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_DataSourceInformation">
<summary>
Builds a DataSourceInformation datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Columns(System.String,System.String,System.String)">
<summary>
Build a Columns schema
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strTable">The table to retrieve schema information for, must not be null</param>
<param name="strColumn">The column to retrieve schema information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Indexes(System.String,System.String,System.String)">
<summary>
Returns index information for the given database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strIndex">The name of the index to retrieve information for, can be null</param>
<param name="strTable">The table to retrieve index information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Tables(System.String,System.String,System.String)">
<summary>
Retrieves table schema information for the database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve tables on</param>
<param name="strTable">The table to retrieve, can be null</param>
<param name="strType">The table type, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Views(System.String,System.String)">
<summary>
Retrieves view schema information for the database
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve views on</param>
<param name="strView">The view name, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Catalogs(System.String)">
<summary>
Retrieves catalog (attached databases) schema information for the database
</summary>
<param name="strCatalog">The catalog to retrieve, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_IndexColumns(System.String,System.String,System.String,System.String)">
<summary>
Returns the base column information for indexes in a database
</summary>
<param name="strCatalog">The catalog to retrieve indexes for (can be null)</param>
<param name="strTable">The table to restrict index information by (can be null)</param>
<param name="strIndex">The index to restrict index information by (can be null)</param>
<param name="strColumn">The source column to restrict index information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ViewColumns(System.String,System.String,System.String)">
<summary>
Returns detailed column information for a specified view
</summary>
<param name="strCatalog">The catalog to retrieve columns for (can be null)</param>
<param name="strView">The view to restrict column information by (can be null)</param>
<param name="strColumn">The source column to restrict column information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ForeignKeys(System.String,System.String,System.String)">
<summary>
Retrieves foreign key information from the specified set of filters
</summary>
<param name="strCatalog">An optional catalog to restrict results on</param>
<param name="strTable">An optional table to restrict results on</param>
<param name="strKeyName">An optional foreign key name to restrict results on</param>
<returns>A DataTable with the results of the query</returns>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection._handlers">
<summary>
Static variable to store the connection event handlers to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.StateChange">
<summary>
This event is raised whenever the database is opened or closed.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Changed">
<summary>
This event is raised when events related to the lifecycle of a
SQLiteConnection object occur.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionPool">
<summary>
This property is used to obtain or set the custom connection pool
implementation to use, if any. Setting this property to null will
cause the default connection pool implementation to be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PoolCount">
<summary>
Returns the number of pool entries for the file name associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionString">
<summary>
The connection string containing the parameters for the connection
</summary>
<remarks>
For the complete list of supported connection string properties,
please see <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</remarks>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
<summary>
Returns the data source file name without extension or path.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Database">
<summary>
Returns the string "main".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
This can also be set in the ConnectionString with "Default Timeout"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.BusyTimeout">
<summary>
Gets/sets the default busy timeout to use with the SQLite core library. This is only used when
opening a connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PrepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProgressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when the underlying native progress
callback needs to be changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ParseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Flags">
<summary>
Gets/sets the extra behavioral flags for this connection. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultDbType">
<summary>
Gets/sets the default database type for this connection. This value
will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName">
<summary>
Gets/sets the default database type name for this connection. This
value will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.VfsName">
<summary>
Gets/sets the VFS name for this connection. This value will only be
used when opening the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is
owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ServerVersion">
<summary>
Returns the version of the underlying SQLite database engine
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Changes">
<summary>
Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefineConstants">
<summary>
Returns a string containing the define constants (i.e. compile-time
options) used to compile the core managed assembly, delimited with
spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteVersion">
<summary>
Returns the version of the underlying SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteSourceId">
<summary>
This method returns the string whose value is the same as the
SQLITE_SOURCE_ID C preprocessor macro used when compiling the
SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite core native library, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropVersion">
<summary>
This method returns the version of the interop SQLite assembly
used. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the interop
assembly. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite interop assembly, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderVersion">
<summary>
This method returns the version of the managed components used
to interact with the SQLite core library. If the necessary
information cannot be obtained for any reason, a null value may
be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the managed
components currently executing. If the necessary information
cannot be obtained for any reason, a null value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultFlags">
<summary>
The default connection flags to be used for all opened connections
when they are not present in the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.State">
<summary>
Returns the state of the connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Progress">
<summary>
This event is raised periodically during long running queries. Changing
the value of the <see cref="F:System.Data.SQLite.ProgressEventArgs.ReturnCode"/> property will
determine if the operation in progress will continue or be interrupted.
For the entire duration of the event, the associated connection and
statement objects must not be modified, either directly or indirectly, by
the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Authorize">
<summary>
This event is raised whenever SQLite encounters an action covered by the
authorizer during query preparation. Changing the value of the
<see cref="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode"/> property will determine if
the specific action will be allowed, ignored, or denied. For the entire
duration of the event, the associated connection and statement objects
must not be modified, either directly or indirectly, by the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Update">
<summary>
This event is raised whenever SQLite makes an update/delete/insert into the database on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Commit">
<summary>
This event is raised whenever SQLite is committing a transaction.
Return non-zero to trigger a rollback.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Trace">
<summary>
This event is raised whenever SQLite statement first begins executing on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.RollBack">
<summary>
This event is raised whenever SQLite is rolling back a transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DbProviderFactory">
<summary>
Returns the <see cref="T:System.Data.SQLite.SQLiteFactory"/> instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SynchronizationModes">
<summary>
The I/O file cache flushing behavior for the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Normal">
<summary>
Normal file flushing at critical sections of the code
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Full">
<summary>
Full file flushing after every write operation
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Off">
<summary>
Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressEventHandler">
<summary>
Raised each time the number of virtual machine instructions is
approximately equal to the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.ProgressOps"/> property.
</summary>
<param name="sender">The connection performing the operation.</param>
<param name="e">A <see cref="T:System.Data.SQLite.ProgressEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerEventHandler">
<summary>
Raised when authorization is required to perform an action contained
within a SQL query.
</summary>
<param name="sender">The connection performing the action.</param>
<param name="e">A <see cref="T:System.Data.SQLite.AuthorizerEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCommitHandler">
<summary>
Raised when a transaction is about to be committed. To roll back a transaction, set the
rollbackTrans boolean value to true.
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">Event arguments on the transaction</param>
</member>
<member name="T:System.Data.SQLite.SQLiteUpdateEventHandler">
<summary>
Raised when data is inserted, updated and deleted on a given connection
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">The event parameters which triggered the event</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTraceEventHandler">
<summary>
Raised when a statement first begins executing on a given connection
</summary>
<param name="sender">The connection executing the statement</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteBackupCallback">
<summary>
Raised between each backup step.
</summary>
<param name="source">
The source database connection.
</param>
<param name="sourceName">
The source database name.
</param>
<param name="destination">
The destination database connection.
</param>
<param name="destinationName">
The destination database name.
</param>
<param name="pages">
The number of pages copied with each step.
</param>
<param name="remainingPages">
The number of pages remaining to be copied.
</param>
<param name="totalPages">
The total number of pages in the source database.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True to continue with the backup process or false to halt the backup
process, rolling back any changes that have been made so far.
</returns>
</member>
<member name="T:System.Data.SQLite.ProgressEventArgs">
<summary>
The event data associated with progress reporting events.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.ReturnCode">
<summary>
The return code for the current call into the progress callback.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteProgressReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="returnCode">
The progress return code.
</param>
</member>
<member name="T:System.Data.SQLite.AuthorizerEventArgs">
<summary>
The data associated with a call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument1">
<summary>
The first string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument2">
<summary>
The second string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Database">
<summary>
The database name for the current call into the authorizer, if
applicable.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Context">
<summary>
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteAuthorizerActionCode,System.String,System.String,System.String,System.String,System.Data.SQLite.SQLiteAuthorizerReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="actionCode">
The authorizer action code.
</param>
<param name="argument1">
The first authorizer argument.
</param>
<param name="argument2">
The second authorizer argument.
</param>
<param name="database">
The database name, if applicable.
</param>
<param name="context">
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</param>
<param name="returnCode">
The authorizer return code.
</param>
</member>
<member name="T:System.Data.SQLite.UpdateEventType">
<summary>
Whenever an update event is triggered on a connection, this enum will indicate
exactly what type of operation is being performed.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Delete">
<summary>
A row is being deleted from the given database and table
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Insert">
<summary>
A row is being inserted into the table.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Update">
<summary>
A row is being updated in the table.
</summary>
</member>
<member name="T:System.Data.SQLite.UpdateEventArgs">
<summary>
Passed during an Update callback, these event arguments detail the type of update operation being performed
on the given connection.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Database">
<summary>
The name of the database being updated (usually "main" but can be any attached or temporary database)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Table">
<summary>
The name of the table being updated
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Event">
<summary>
The type of update being performed (insert/update/delete)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.RowId">
<summary>
The RowId affected by this update.
</summary>
</member>
<member name="T:System.Data.SQLite.CommitEventArgs">
<summary>
Event arguments raised when a transaction is being committed
</summary>
</member>
<member name="F:System.Data.SQLite.CommitEventArgs.AbortTransaction">
<summary>
Set to true to abort the transaction and trigger a rollback
</summary>
</member>
<member name="T:System.Data.SQLite.TraceEventArgs">
<summary>
Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text
</summary>
</member>
<member name="F:System.Data.SQLite.TraceEventArgs.Statement">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteConnectionPool">
<summary>
This interface represents a custom connection pool implementation
usable by System.Data.SQLite.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Add(System.String,System.Object,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool">
<summary>
This default method implementations in this class should not be used by
applications that make use of COM (either directly or indirectly) due
to possible deadlocks that can occur during finalization of some COM
objects.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._syncRoot">
<summary>
This field is used to synchronize access to the private static data
in this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._connectionPool">
<summary>
When this field is non-null, it will be used to provide the
implementation of all the connection pool methods; otherwise,
the default method implementations will be used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._queueList">
<summary>
The dictionary of connection pools, based on the normalized file
name of the SQLite database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolVersion">
<summary>
The default version number new pools will get.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolOpened">
<summary>
The number of connections successfully opened from any pool.
This value is incremented by the Remove method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolClosed">
<summary>
The number of connections successfully closed from any pool.
This value is incremented by the Add method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Add(System.String,System.Data.SQLite.SQLiteConnectionHandle,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetConnectionPool">
<summary>
This method is used to obtain a reference to the custom connection
pool implementation currently in use, if any.
</summary>
<returns>
The custom connection pool implementation or null if the default
connection pool implementation should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.SetConnectionPool(System.Data.SQLite.ISQLiteConnectionPool)">
<summary>
This method is used to set the reference to the custom connection
pool implementation to use, if any.
</summary>
<param name="connectionPool">
The custom connection pool implementation to use or null if the
default connection pool implementation should be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ResizePool(System.Data.SQLite.SQLiteConnectionPool.PoolQueue,System.Boolean)">
<summary>
We do not have to thread-lock anything in this function, because it
is only called by other functions above which already take the lock.
</summary>
<param name="queue">
The pool queue to resize.
</param>
<param name="add">
If a function intends to add to the pool, this is true, which
forces the resize to take one more than it needs from the pool.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool.PoolQueue">
<summary>
Keeps track of connections made on a specified file. The PoolVersion
dictates whether old objects get returned to the pool or discarded
when no longer in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.Queue">
<summary>
The queue of weak references to the actual database connection
handles.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.PoolVersion">
<summary>
This pool version associated with the database connection
handles in this pool queue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.MaxPoolSize">
<summary>
The maximum size of this pool queue.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.#ctor(System.Int32,System.Int32)">
<summary>
Constructs a connection pool queue using the specified version
and maximum size. Normally, all the database connection
handles in this pool are associated with a single database file
name.
</summary>
<param name="version">
The initial pool version for this connection pool queue.
</param>
<param name="maxSize">
The initial maximum size for this connection pool queue.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionStringBuilder">
<summary>
SQLite implementation of DbConnectionStringBuilder.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionStringBuilder._properties">
<summary>
Properties of this class
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor">
<overloads>
Constructs a new instance of the class
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor(System.String)">
<summary>
Constructs a new instance of the class using the specified connection string.
</summary>
<param name="connectionString">The connection string to parse</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.Initialize(System.String)">
<summary>
Private initializer, which assigns the connection string and resets the builder
</summary>
<param name="cnnString">The connection string to assign</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.TryGetValue(System.String,System.Object@)">
<summary>
Helper function for retrieving values from the connectionstring
</summary>
<param name="keyword">The keyword to retrieve settings for</param>
<param name="value">The resulting parameter value</param>
<returns>Returns true if the value was found and returned</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.FallbackGetProperties(System.Collections.Hashtable)">
<summary>
Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties()
</summary>
<param name="propertyList">The hashtable to fill with property descriptors</param>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Version">
<summary>
Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SyncMode">
<summary>
Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.UseUTF16Encoding">
<summary>
Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Pooling">
<summary>
Gets/Sets whether or not to use connection pooling. The default is "False"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BinaryGUID">
<summary>
Gets/Sets whethor not to store GUID's in binary format. The default is True
which saves space in the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
<summary>
Gets/Sets the filename to open on the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Uri">
<summary>
An alternate to the data source property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FullUri">
<summary>
An alternate to the data source property that uses the SQLite URI syntax.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BusyTimeout">
<summary>
Gets/sets the busy timeout to use with the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PrepareRetries">
<summary>
Gets/sets the maximum number of retries when preparing SQL to be executed.
This normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ProgressOps">
<summary>
Gets/sets the approximate number of virtual machine instructions between
progress events. In order for progress events to actually fire, the event
handler must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event
as well.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Enlist">
<summary>
Determines whether or not the connection will automatically participate
in the current distributed transaction (if one exists)
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FailIfMissing">
<summary>
If set to true, will throw an exception if the database specified in the connection
string does not exist. If false, the database will be created automatically.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.LegacyFormat">
<summary>
If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger
database sizes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ReadOnly">
<summary>
When enabled, the database will be opened for read-only access and writing will be disabled.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Password">
<summary>
Gets/sets the database encryption password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.HexPassword">
<summary>
Gets/sets the database encryption hexadecimal password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
<summary>
Gets/Sets the page size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.MaxPageCount">
<summary>
Gets/Sets the maximum number of pages the database may hold
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.CacheSize">
<summary>
Gets/Sets the cache size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormat">
<summary>
Gets/Sets the DateTime format for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeKind">
<summary>
Gets/Sets the DateTime kind for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormatString">
<summary>
Gets/sets the DateTime format string used for formatting
and parsing purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BaseSchemaName">
<summary>
Gets/Sets the placeholder base schema name used for
.NET Framework compatibility purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.JournalMode">
<summary>
Determines how SQLite handles the transaction journal file.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultIsolationLevel">
<summary>
Sets the default isolation level for transactions on the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultDbType">
<summary>
Gets/sets the default database type for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTypeName">
<summary>
Gets/sets the default type name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.VfsName">
<summary>
Gets/sets the VFS name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ForeignKeys">
<summary>
If enabled, use foreign key constraints
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.RecursiveTriggers">
<summary>
Enable or disable the recursive trigger capability.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ZipVfsVersion">
<summary>
If non-null, this is the version of ZipVFS to use. This requires the
System.Data.SQLite interop assembly -AND- primary managed assembly to
be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Flags">
<summary>
Gets/Sets the extra behavioral flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SetDefaults">
<summary>
If enabled, apply the default connection settings to opened databases.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ToFullPath">
<summary>
If enabled, attempt to resolve the provided data source file name to a
full path before opening.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoDefaultFlags">
<summary>
If enabled, skip using the configured default connection flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoSharedFlags">
<summary>
If enabled, skip using the configured shared connection flags.
</summary>
</member>
<member name="T:System.Data.SQLite.TypeAffinity">
<summary>
SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite
understands. The DateTime extension to the spec is for internal use only.
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
<summary>
Not used
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Int64">
<summary>
All integers in SQLite default to Int64
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Double">
<summary>
All floating point numbers in SQLite default to double
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Text">
<summary>
The default data type of SQLite is text
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Blob">
<summary>
Typically blob types are only seen when returned from a function
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Null">
<summary>
Null types can be returned from functions
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.DateTime">
<summary>
Used internally by this provider
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.None">
<summary>
Used internally by this provider
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventType">
<summary>
These are the event types associated with the
<see cref="T:System.Data.SQLite.SQLiteConnectionEventHandler"/>
delegate (and its corresponding event) and the
<see cref="T:System.Data.SQLite.ConnectionEventArgs"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Invalid">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Unknown">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opening">
<summary>
The connection is being opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ConnectionString">
<summary>
The connection string has been parsed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opened">
<summary>
The connection was opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase">
<summary>
The <see cref="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase"/> method was called on the
connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewTransaction">
<summary>
A transaction was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.EnlistTransaction">
<summary>
The connection was enlisted into a transaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCommand">
<summary>
A command was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewDataReader">
<summary>
A data reader was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCriticalHandle">
<summary>
An instance of a <see cref="T:System.Runtime.InteropServices.CriticalHandle"/> derived class has
been created to wrap a native resource.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closing">
<summary>
The connection is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closed">
<summary>
The connection was closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingCommand">
<summary>
A command is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingDataReader">
<summary>
A data reader is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosingDataReader">
<summary>
A data reader is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.OpenedFromPool">
<summary>
A native resource was opened (i.e. obtained) from the pool.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosedToPool">
<summary>
A native resource was closed (i.e. released) to the pool.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDateFormats">
<summary>
This implementation of SQLite for ADO.NET can process date/time fields in
databases in one of six formats.
</summary>
<remarks>
ISO8601 format is more compatible, readable, fully-processable, but less
accurate as it does not provide time down to fractions of a second.
JulianDay is the numeric format the SQLite uses internally and is arguably
the most compatible with 3rd party tools. It is not readable as text
without post-processing. Ticks less compatible with 3rd party tools that
query the database, and renders the DateTime field unreadable as text
without post-processing. UnixEpoch is more compatible with Unix systems.
InvariantCulture allows the configured format for the invariant culture
format to be used and is human readable. CurrentCulture allows the
configured format for the current culture to be used and is also human
readable.
The preferred order of choosing a DateTime format is JulianDay, ISO8601,
and then Ticks. Ticks is mainly present for legacy code support.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
<summary>
Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
<summary>
Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and
"yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
<summary>
The interval of time in days and fractions of a day since January 1, 4713 BC.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.UnixEpoch">
<summary>
The whole number of seconds since the Unix epoch (January 1, 1970).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.InvariantCulture">
<summary>
Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.CurrentCulture">
<summary>
Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Default">
<summary>
The default format for this provider.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
<summary>
This enum determines how SQLite treats its journal file.
</summary>
<remarks>
By default SQLite will create and delete the journal file when needed during a transaction.
However, for some computers running certain filesystem monitoring tools, the rapid
creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
when starting a transaction. If this is happening, you may want to change the default journal mode to Persist.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Default">
<summary>
The default mode, this causes SQLite to use the existing journaling mode for the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
<summary>
SQLite will create and destroy the journal file as-needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
<summary>
When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased,
and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
<summary>
This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database
corruption in this mode!
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Truncate">
<summary>
SQLite will truncate the journal file to zero-length instead of deleting it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Memory">
<summary>
SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity.
If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the
database file will very likely go corrupt.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Wal">
<summary>
SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent;
after being set it stays in effect across multiple database connections and after closing and reopening the database. A database
in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteSynchronousEnum">
<summary>
Possible values for the "synchronous" database setting. This setting determines
how often the database engine calls the xSync method of the VFS.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Default">
<summary>
Use the default "synchronous" database setting. Currently, this should be
the same as using the FULL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Off">
<summary>
The database engine continues without syncing as soon as it has handed
data off to the operating system. If the application running SQLite
crashes, the data will be safe, but the database might become corrupted
if the operating system crashes or the computer loses power before that
data has been written to the disk surface.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Normal">
<summary>
The database engine will still sync at the most critical moments, but
less often than in FULL mode. There is a very small (though non-zero)
chance that a power failure at just the wrong time could corrupt the
database in NORMAL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Full">
<summary>
The database engine will use the xSync method of the VFS to ensure that
all content is safely written to the disk surface prior to continuing.
This ensures that an operating system crash or power failure will not
corrupt the database. FULL synchronous is very safe, but it is also
slower.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteExecuteType">
<summary>
The requested command execution type. This controls which method of the
<see cref="T:System.Data.SQLite.SQLiteCommand"/> object will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.None">
<summary>
Do nothing. No method will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.NonQuery">
<summary>
The command is not expected to return a result -OR- the result is not
needed. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)"/> method
will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Scalar">
<summary>
The command is expected to return a scalar result -OR- the result should
be limited to a scalar result. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar"/>
or <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Reader">
<summary>
The command is expected to return <see cref="T:System.Data.SQLite.SQLiteDataReader"/> result.
The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Default">
<summary>
Use the default command execution type. Using this value is the same
as using the <see cref="F:System.Data.SQLite.SQLiteExecuteType.NonQuery"/> value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.None">
<summary>
No action is being performed. This value should not be used from
external code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Copy">
<summary>
No longer used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateIndex">
<summary>
An index will be created. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTable">
<summary>
A table will be created. The action-specific arguments are the
table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempIndex">
<summary>
A temporary index will be created. The action-specific arguments
are the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTable">
<summary>
A temporary table will be created. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTrigger">
<summary>
A temporary trigger will be created. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempView">
<summary>
A temporary view will be created. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTrigger">
<summary>
A trigger will be created. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateView">
<summary>
A view will be created. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Delete">
<summary>
A DELETE statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropIndex">
<summary>
An index will be dropped. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTable">
<summary>
A table will be dropped. The action-specific arguments are the tables
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempIndex">
<summary>
A temporary index will be dropped. The action-specific arguments are
the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTable">
<summary>
A temporary table will be dropped. The action-specific arguments are
the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTrigger">
<summary>
A temporary trigger will be dropped. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempView">
<summary>
A temporary view will be dropped. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTrigger">
<summary>
A trigger will be dropped. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropView">
<summary>
A view will be dropped. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Insert">
<summary>
An INSERT statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Pragma">
<summary>
A PRAGMA statement will be executed. The action-specific arguments
are the name of the PRAGMA and the new value or a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Read">
<summary>
A table column will be read. The action-specific arguments are the
table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Select">
<summary>
A SELECT statement will be executed. The action-specific arguments
are both null values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Transaction">
<summary>
A transaction will be started, committed, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
COMMIT, or ROLLBACK) and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Update">
<summary>
An UPDATE statement will be executed. The action-specific arguments
are the table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Attach">
<summary>
A database will be attached to the connection. The action-specific
arguments are the database file name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Detach">
<summary>
A database will be detached from the connection. The action-specific
arguments are the database name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.AlterTable">
<summary>
The schema of a table will be altered. The action-specific arguments
are the database name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Reindex">
<summary>
An index will be deleted and then recreated. The action-specific
arguments are the index name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Analyze">
<summary>
A table will be analyzed to gathers statistics about it. The
action-specific arguments are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateVtable">
<summary>
A virtual table will be created. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropVtable">
<summary>
A virtual table will be dropped. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Function">
<summary>
A SQL function will be called. The action-specific arguments are a
null value and the function name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Savepoint">
<summary>
A savepoint will be created, released, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
RELEASE, or ROLLBACK) and the savepoint name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Recursive">
<summary>
A recursive query will be executed. The action-specific arguments
are two null values.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressReturnCode">
<summary>
The possible return codes for the progress callback.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Continue">
<summary>
The operation should continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Interrupt">
<summary>
The operation should be interrupted.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ok">
<summary>
The action will be allowed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Deny">
<summary>
The overall action will be disallowed and an error message will be
returned from the query preparation method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ignore">
<summary>
The specific action will be disallowed; however, the overall action
will continue. The exact effects of this return code vary depending
on the specific action, please refer to the SQLite core library
documentation for futher details.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteType">
<summary>
Class used internally to determine the datatype of a column in a resultset
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Type">
<summary>
The DbType of the column, or DbType.Object if it cannot be determined
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Affinity">
<summary>
The affinity of a column, used for expressions or when Type is DbType.Object
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor">
<summary>
Constructs a default instance of this type.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor(System.Data.SQLite.TypeAffinity,System.Data.DbType)">
<summary>
Constructs an instance of this type with the specified field values.
</summary>
<param name="affinity">
The type affinity to use for the new instance.
</param>
<param name="type">
The database type to use for the new instance.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteDataAdapter">
<summary>
SQLite implementation of DbDataAdapter.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor">
<overloads>
This class is just a shell around the DbDataAdapter. Nothing from
DbDataAdapter is overridden here, just a few constructors are defined.
</overloads>
<summary>
Default constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Constructs a data adapter using the specified select command.
</summary>
<param name="cmd">
The select command to associate with the adapter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Constructs a data adapter with the supplied select command text and
associated with the specified connection.
</summary>
<param name="commandText">
The select command text to associate with the data adapter.
</param>
<param name="connection">
The connection to associate with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String,System.Boolean)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdating(System.Data.Common.RowUpdatingEventArgs)">
<summary>
Raised by the underlying DbDataAdapter when a row is being updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdated(System.Data.Common.RowUpdatedEventArgs)">
<summary>
Raised by DbDataAdapter after a row is updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdating">
<summary>
Row updating event handler
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdated">
<summary>
Row updated event handler
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.SelectCommand">
<summary>
Gets/sets the select command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.InsertCommand">
<summary>
Gets/sets the insert command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.UpdateCommand">
<summary>
Gets/sets the update command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.DeleteCommand">
<summary>
Gets/sets the delete command for this DataAdapter
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDataReader">
<summary>
SQLite implementation of DbDataReader.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._command">
<summary>
Underlying command this reader is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._flags">
<summary>
The flags pertaining to the associated connection (via the command).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatementIndex">
<summary>
Index of the current statement in the command being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatement">
<summary>
Current statement being Read()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._readingState">
<summary>
State of the current statement being processed.
-1 = First Step() executed, so the first Read() will be ignored
0 = Actively reading
1 = Finished reading
2 = Non-row-returning statement, no records
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._rowsAffected">
<summary>
Number of records affected by the insert/update statements executed on the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldCount">
<summary>
Count of fields (columns) in the row-returning statement currently being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._stepCount">
<summary>
The number of calls to Step() that have returned true (i.e. the number of rows that
have been read in the current result set).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldIndexes">
<summary>
Maps the field (column) names to their corresponding indexes within the results.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldTypeArray">
<summary>
Datatypes of active fields (columns) in the current statement, used for type-restricting data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._commandBehavior">
<summary>
The behavior of the datareader
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._disposeCommand">
<summary>
If set, then dispose of the command object when the reader is finished
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._throwOnDisposed">
<summary>
If set, then raise an exception when the object is accessed after being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._keyInfo">
<summary>
An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._version">
<summary>
Matches the version of the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information. Matches the base schema name used by the
associated connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.#ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)">
<summary>
Internal constructor, initializes the datareader and sets up to begin executing statements
</summary>
<param name="cmd">The SQLiteCommand this data reader is for</param>
<param name="behave">The expected behavior of the data reader</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Dispose(System.Boolean)">
<summary>
Dispose of all resources used by this datareader.
</summary>
<param name="disposing"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Close">
<summary>
Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckClosed">
<summary>
Throw an error if the datareader is closed
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckValidRow">
<summary>
Throw an error if a row is not loaded
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetEnumerator">
<summary>
Enumerator support
</summary>
<returns>Returns a DbEnumerator object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.RefreshFlags">
<summary>
Forces the connection flags cached by this data reader to be refreshed
from the underlying connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyForGet">
<summary>
This method is used to make sure the result set is open and a row is currently available.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyType(System.Int32,System.Data.DbType)">
<summary>
SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table
and the affinity of returned types are all we have to go on to type-restrict data in the reader.
This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In
the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do.
</summary>
<returns>
This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
</returns>
<param name="i">The index of the column to type-check</param>
<param name="typ">The type we want to get out of the column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBoolean(System.Int32)">
<summary>
Retrieves the column as a boolean value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>bool</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetByte(System.Int32)">
<summary>
Retrieves the column as a single byte value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>byte</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of bytes (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldOffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the bytes into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of bytes written into the array</returns>
<remarks>
To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChar(System.Int32)">
<summary>
Returns the column as a single character
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>char</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of chars (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldoffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the characters into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of characters written into the array</returns>
<remarks>
To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDataTypeName(System.Int32)">
<summary>
Retrieves the name of the back-end datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDateTime(System.Int32)">
<summary>
Retrieve the column as a date/time value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDecimal(System.Int32)">
<summary>
Retrieve the column as a decimal value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>decimal</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDouble(System.Int32)">
<summary>
Returns the column as a double
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>double</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFieldType(System.Int32)">
<summary>
Returns the .NET type of a given column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFloat(System.Int32)">
<summary>
Returns a column as a float value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>float</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetGuid(System.Int32)">
<summary>
Returns the column as a Guid
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Guid</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt16(System.Int32)">
<summary>
Returns the column as a short
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int16</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt32(System.Int32)">
<summary>
Retrieves the column as an int
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int32</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt64(System.Int32)">
<summary>
Retrieves the column as a long
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int64</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetName(System.Int32)">
<summary>
Retrieves the name of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetOrdinal(System.String)">
<summary>
Retrieves the i of a column, given its name
</summary>
<param name="name">The name of the column to retrieve</param>
<returns>The int i of the column</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSchemaTable">
<summary>
Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done
to gather the necessary information so it can be represented in an ADO.NET manner.
</summary>
<returns>Returns a DataTable containing the schema information for the active SELECT statement being processed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetString(System.Int32)">
<summary>
Retrieves the column as a string
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValue(System.Int32)">
<summary>
Retrieves the column as an object corresponding to the underlying datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues(System.Object[])">
<summary>
Retreives the values of multiple columns, up to the size of the supplied array
</summary>
<param name="values">The array to fill with values from the columns in the current resultset</param>
<returns>The number of columns retrieved</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues">
<summary>
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no
current row or no current resultset, an exception may be thrown.
</summary>
<returns>
The collection containing the column name and value information for the
current row of data in the current resultset or null if this information
cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.IsDBNull(System.Int32)">
<summary>
Returns True if the specified column is null
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>True or False</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.NextResult">
<summary>
Moves to the next resultset in multiple row-returning SQL command.
</summary>
<returns>True if the command was successful and a new resultset is available, False otherwise.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetConnection(System.Data.SQLite.SQLiteDataReader)">
<summary>
This method attempts to query the database connection associated with
the data reader in use. If the underlying command or connection is
unavailable, a null value will be returned.
</summary>
<returns>
The connection object -OR- null if it is unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteType,System.String)">
<summary>
Retrieves the SQLiteType for a given column and row value.
</summary>
<param name="oldType">
The original SQLiteType structure, based only on the column.
</param>
<param name="text">
The textual value of the column for a given row.
</param>
<returns>
The SQLiteType structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteConnectionFlags,System.Int32)">
<summary>
Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
</summary>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="i">The index of the column to retrieve</param>
<returns>A SQLiteType structure</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Read">
<summary>
Reads the next row from the resultset
</summary>
<returns>True if a new row was successfully loaded and is ready for processing</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Depth">
<summary>
Not implemented. Returns 0
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.FieldCount">
<summary>
Returns the number of columns in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.StepCount">
<summary>
Returns the number of rows seen so far in the current result set.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.VisibleFieldCount">
<summary>
Returns the number of visible fields in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.HasRows">
<summary>
Returns True if the resultset has rows that can be fetched
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.IsClosed">
<summary>
Returns True if the data reader is closed
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.RecordsAffected">
<summary>
Returns the number of rows affected by the statement being executed.
The value returned may not be accurate for DDL statements. Also, it
will be -1 for any statement that does not modify the database (e.g.
SELECT). If an otherwise read-only statement modifies the database
indirectly (e.g. via a virtual table or user-defined function), the
value returned is undefined.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.String)">
<summary>
Indexer to retrieve data from a column given its name
</summary>
<param name="name">The name of the column to retrieve data for</param>
<returns>The value contained in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.Int32)">
<summary>
Indexer to retrieve data from a column given its i
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>The value contained in the column</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteException">
<summary>
SQLite exception class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Private constructor for use with serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Public constructor for generating a SQLite exception given the error
code and message.
</summary>
<param name="errorCode">
The SQLite return code to report.
</param>
<param name="message">
Message text to go along with the return code message text.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String)">
<summary>
Public constructor that uses the base class constructor for the error
message.
</summary>
<param name="message">Error message text.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor">
<summary>
Public constructor that uses the default base class constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String,System.Exception)">
<summary>
Public constructor that uses the base class constructor for the error
message and inner exception.
</summary>
<param name="message">Error message text.</param>
<param name="innerException">The original (inner) exception.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Adds extra information to the serialized object data specific to this
class type. This is only used for serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code.
</summary>
<param name="errorCode">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetStockErrorMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Returns the composite error message based on the SQLite return code
and the optional detailed error message.
</summary>
<param name="errorCode">The SQLite return code.</param>
<param name="message">Optional detailed error message.</param>
<returns>Error message text for the return code.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ResultCode">
<summary>
Gets the associated SQLite result code for this exception as a
<see cref="T:System.Data.SQLite.SQLiteErrorCode"/>. This property returns the same
underlying value as the <see cref="P:System.Data.SQLite.SQLiteException.ErrorCode"/> property.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ErrorCode">
<summary>
Gets the associated SQLite return code for this exception as an
<see cref="T:System.Int32"/>. For desktop versions of the .NET Framework,
this property overrides the property of the same name within the
<see cref="T:System.Runtime.InteropServices.ExternalException"/>
class. This property returns the same underlying value as the
<see cref="P:System.Data.SQLite.SQLiteException.ResultCode"/> property.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteErrorCode">
<summary>
SQLite error codes. Actually, this enumeration represents a return code,
which may also indicate success in one of several ways (e.g. SQLITE_OK,
SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is
something of a misnomer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Unknown">
<summary>
The error code is unknown. This error code
is only used by the managed wrapper itself.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Ok">
<summary>
Successful result
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Error">
<summary>
SQL error or missing database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Internal">
<summary>
Internal logic error in SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Perm">
<summary>
Access permission denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort">
<summary>
Callback routine requested an abort
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy">
<summary>
The database file is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked">
<summary>
A table in the database is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoMem">
<summary>
A malloc() failed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly">
<summary>
Attempt to write a readonly database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Interrupt">
<summary>
Operation terminated by sqlite3_interrupt()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr">
<summary>
Some kind of disk I/O error occurred
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt">
<summary>
The database disk image is malformed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotFound">
<summary>
Unknown opcode in sqlite3_file_control()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Full">
<summary>
Insertion failed because database is full
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen">
<summary>
Unable to open the database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Protocol">
<summary>
Database lock protocol error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Empty">
<summary>
Database is empty
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Schema">
<summary>
The database schema changed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.TooBig">
<summary>
String or BLOB exceeds size limit
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint">
<summary>
Abort due to constraint violation
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Mismatch">
<summary>
Data type mismatch
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Misuse">
<summary>
Library used incorrectly
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoLfs">
<summary>
Uses OS features not supported on host
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth">
<summary>
Authorization denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Format">
<summary>
Auxiliary database format error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Range">
<summary>
2nd parameter to sqlite3_bind out of range
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotADb">
<summary>
File opened that is not a database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice">
<summary>
Notifications from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning">
<summary>
Warnings from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Row">
<summary>
sqlite3_step() has another row ready
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Done">
<summary>
sqlite3_step() has finished executing
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NonExtendedMask">
<summary>
Used to mask off extended result codes
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Read">
<summary>
A file read operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Short_Read">
<summary>
A file read operation returned less data than requested.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Write">
<summary>
A file write operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fsync">
<summary>
A file synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Fsync">
<summary>
A directory synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Truncate">
<summary>
A file truncate operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fstat">
<summary>
A file metadata operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Unlock">
<summary>
A file unlock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_RdLock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete">
<summary>
A file delete operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Blocked">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_NoMem">
<summary>
Out-of-memory during a file operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Access">
<summary>
A file existence/status operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_CheckReservedLock">
<summary>
A check for a reserved lock failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Lock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Close">
<summary>
A file close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Close">
<summary>
A directory close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmOpen">
<summary>
A shared memory open operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmSize">
<summary>
A shared memory size operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmLock">
<summary>
A shared memory lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmMap">
<summary>
A shared memory map operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Seek">
<summary>
A file seek operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete_NoEnt">
<summary>
A file delete operation failed because it does not exist.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Mmap">
<summary>
A file memory mapping operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_GetTempPath">
<summary>
The temporary directory path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ConvPath">
<summary>
A path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked_SharedCache">
<summary>
A database table is locked in shared-cache mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Recovery">
<summary>
A database file is locked due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Snapshot">
<summary>
A database file is locked due to snapshot semantics.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_NoTempDir">
<summary>
A database file cannot be opened because no temporary directory is available.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_IsDir">
<summary>
A database file cannot be opened because its path represents a directory.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_FullPath">
<summary>
A database file cannot be opened because its full path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_ConvPath">
<summary>
A database file cannot be opened because a path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt_Vtab">
<summary>
A virtual table is malformed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Recovery">
<summary>
A database file is read-only due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_CantLock">
<summary>
A database file is read-only because a lock could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Rollback">
<summary>
A database file is read-only because it needs rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_DbMoved">
<summary>
A database file is read-only because it was moved while open.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort_Rollback">
<summary>
An operation is being aborted due to rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Check">
<summary>
A CHECK constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_CommitHook">
<summary>
A commit hook produced a unsuccessful return code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_ForeignKey">
<summary>
A FOREIGN KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Function">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_NotNull">
<summary>
A NOT NULL constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_PrimaryKey">
<summary>
A PRIMARY KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Trigger">
<summary>
The RAISE function was used by a trigger-program.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Unique">
<summary>
A UNIQUE constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Vtab">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_RowId">
<summary>
A ROWID constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Wal">
<summary>
Frames were recovered from the WAL log file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Rollback">
<summary>
Pages were recovered from the journal file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning_AutoIndex">
<summary>
An automatic index was created to process a query.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth_User">
<summary>
User authentication failed.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFactory">
<summary>
SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
</summary>
<summary>
SQLite implementation of <see cref="T:System.IServiceProvider"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.#ctor">
<summary>
Constructs a new instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Dispose">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFactory.Instance">
<summary>
Static instance member which returns an instanced <see cref="T:System.Data.SQLite.SQLiteFactory"/> class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommand">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommandBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommandBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnection">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnection"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnectionStringBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnectionStringBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateDataAdapter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteDataAdapter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateParameter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteParameter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.System#IServiceProvider#GetService(System.Type)">
<summary>
Will provide a <see cref="T:System.IServiceProvider"/> object in .NET 3.5.
</summary>
<param name="serviceType">The class or interface type to query for.</param>
<returns></returns>
</member>
<member name="E:System.Data.SQLite.SQLiteFactory.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application. This event is provided for backward compatibility only.
New code should use the <see cref="T:System.Data.SQLite.SQLiteLog"/> class instead.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunction">
<summary>
This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each
connection to the database.
</summary>
<remarks>
Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database
calls during processing.
It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class
services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement
information in member variables of user-defined function classes.
For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will
be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._base">
<summary>
The base connection this function is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._contextDataList">
<summary>
Internal array used to keep track of aggregate function context data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._flags">
<summary>
The connection flags associated with this object (this should be the
same value as the flags associated with the parent connection object).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._InvokeFunc">
<summary>
Holds a reference to the callback function for user functions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._StepFunc">
<summary>
Holds a reference to the callbakc function for stepping in an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._FinalFunc">
<summary>
Holds a reference to the callback function for finalizing an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._CompareFunc">
<summary>
Holds a reference to the callback function for collating sequences
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._context">
<summary>
Current context of the current callback. Only valid during a callback
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._registeredFunctions">
<summary>
This static dictionary contains all the registered (known) user-defined
functions declared using the proper attributes. The contained dictionary
values are always null and are not currently used.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor">
<summary>
Internal constructor, initializes the function's internal variables.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.Boolean)">
<summary>
Constructs an instance of this class using the specified data-type
conversion parameters.
</summary>
<param name="format">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="formatString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="utf16">
Non-zero to create a UTF-16 data-type conversion context; otherwise,
a UTF-8 data-type conversion context will be created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose">
<summary>
Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if
someone closes the connection while a DataReader is open.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose(System.Boolean)">
<summary>
Placeholder for a user-defined disposal routine
</summary>
<param name="disposing">True if the object is being disposed explicitly</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])">
<summary>
Scalar functions override this method to do their magic.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="args">The arguments for the command to process</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
Aggregate functions override this method to do their magic.
</summary>
<remarks>
Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible.
</remarks>
<param name="args">The arguments for the command to process</param>
<param name="stepNumber">The 1-based step number. This is incrememted each time the step method is called.</param>
<param name="contextData">A placeholder for implementers to store contextual data pertaining to the current context.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)">
<summary>
Aggregate functions override this method to finish their aggregate processing.
</summary>
<remarks>
If you implemented your aggregate function properly,
you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have
all the information you need in there to figure out what to return.
NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will
be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value
if that is the case.
</remarks>
<param name="contextData">Your own assigned contextData, provided for you so you can return your final results.</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)">
<summary>
User-defined collating sequences override this method to provide a custom string sorting algorithm.
</summary>
<param name="param1">The first string to compare.</param>
<param name="param2">The second strnig to compare.</param>
<returns>1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ConvertParams(System.Int32,System.IntPtr)">
<summary>
Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="nArgs">The number of arguments</param>
<param name="argsptr">A pointer to the array of arguments</param>
<returns>An object array of the arguments once they've been converted to .NET values</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.SetReturnValue(System.IntPtr,System.Object)">
<summary>
Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context.
</summary>
<param name="context">The context the return value applies to</param>
<param name="returnValue">The parameter to return to SQLite</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ScalarCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback16(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.StepCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method.
WARNING: Must not throw exceptions.
</summary>
<remarks>
This function takes care of doing the lookups and getting the important information put together to call the Step() function.
That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so
binary searches can be done to find the data.
</remarks>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr)">
<summary>
An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#cctor">
<summary>
Using reflection, enumerate all assemblies in the current appdomain looking for classes that
have a SQLiteFunctionAttribute attribute, and registering them accordingly.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.Type)">
<summary>
Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work
properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported.
</summary>
<param name="typ">The type of the function to register</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.String,System.Int32,System.Data.SQLite.FunctionType,System.Type,System.Delegate,System.Delegate)">
<summary>
Alternative method of registering a function. This method
does not require the specified type to be annotated with
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="name">
The name of the function to register.
</param>
<param name="argumentCount">
The number of arguments accepted by the function.
</param>
<param name="functionType">
The type of SQLite function being resitered (e.g. scalar,
aggregate, or collating sequence).
</param>
<param name="instanceType">
The <see cref="T:System.Type"/> that actually implements the function.
This will only be used if the <paramref name="callback1"/>
and <paramref name="callback2"/> parameters are null.
</param>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/>,
<see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/>,
and <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> virtual methods.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> virtual method. This
parameter is only necessary for aggregate functions.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CreateFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction@)">
<summary>
Creates a <see cref="T:System.Data.SQLite.SQLiteFunction"/> instance based on the specified
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> containing the metadata about
the function to create.
</param>
<param name="function">
The created function -OR- null if the function could not be created.
</param>
<returns>
Non-zero if the function was created; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection.
It is done this way so that all user-defined functions will access the database using the same encoding scheme
as the connection (UTF-8 or UTF-16).
</summary>
<remarks>
The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks.
</remarks>
<param name="sqlbase">The base object on which the functions are to bind.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>Returns a logical list of functions which the connection should retain until it is closed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindAllFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Boolean)">
<summary>
Called by the SQLiteBase derived classes, this method unbinds all registered (known)
functions -OR- all previously bound user-defined functions from a connection.
</summary>
<param name="sqlbase">The base object from which the functions are to be unbound.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions
currently bound to the connection.
</param>
<returns>Non-zero if all the specified user-defined functions were unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined functions from a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteFunction.SQLiteConvert">
<summary>
Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
strings and DateTime's into the current connection's encoding schema.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteInvokeDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</summary>
<param name="param0">
This is always the string literal "Invoke".
</param>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStepDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</summary>
<param name="param0">
This is always the string literal "Step".
</param>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method.
</summary>
<param name="param0">
This is always the string literal "Final".
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteCompareDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method.
</summary>
<param name="param0">
This is always the string literal "Compare".
</param>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteDelegateFunction">
<summary>
This class implements a SQLite function using a <see cref="T:System.Delegate"/>.
All the virtual methods of the <see cref="T:System.Data.SQLite.SQLiteFunction"/> class are
implemented using calls to the <see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/>,
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/>, <see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/>,
and <see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> strongly typed delegate types
or via the <see cref="M:System.Delegate.DynamicInvoke(System.Object[])"/> method.
The arguments are presented in the same order they appear in
the associated <see cref="T:System.Data.SQLite.SQLiteFunction"/> methods with one exception:
the first argument is the name of the virtual method being implemented.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.NoCallbackError">
<summary>
This error message is used by the overridden virtual methods when
a required <see cref="T:System.Delegate"/> property (e.g.
<see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1"/> or <see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2"/>) has not been
set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.ResultInt32Error">
<summary>
This error message is used by the overridden <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/>
method when the result does not have a type of <see cref="T:System.Int32"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor">
<summary>
Constructs an empty instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor(System.Delegate,System.Delegate)">
<summary>
Constructs an instance of this class using the specified
<see cref="T:System.Delegate"/> as the <see cref="T:System.Data.SQLite.SQLiteFunction"/>
implementation.
</summary>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetInvokeArgs(System.Object[],System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Invoke".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetStepArgs(System.Object[],System.Int32,System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.UpdateStepArgs(System.Object[],System.Object@,System.Boolean)">
<summary>
Updates the output arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
using an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step". Currently, only the
<paramref name="contextData"/> parameter is updated.
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetFinalArgs(System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Final".
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetCompareArgs(System.String,System.String,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Compare".
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])">
<summary>
This virtual method is the implementation for scalar functions.
See the <see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/> method for more
details.
</summary>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/> method
for more details.
</summary>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> method
for more details.
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)">
<summary>
This virtual method is part of the implementation for collating
sequences. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> method
for more details.
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionEx">
<summary>
Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
</summary>
<remarks>
User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.GetCollationSequence">
<summary>
Obtains the collating sequence in effect for the given function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="T:System.Data.SQLite.FunctionType">
<summary>
The type of user-defined function to declare
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Scalar">
<summary>
Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Aggregate">
<summary>
Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
Examples include SUM(), COUNT(), AVG(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Collation">
<summary>
Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is
sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting
in a user-defined manner.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCallback">
<summary>
An internal callback delegate declaration.
</summary>
<param name="context">Raw native context pointer for the user function.</param>
<param name="argc">Total number of arguments to the user function.</param>
<param name="argv">Raw native pointer to the array of raw native argument pointers.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalCallback">
<summary>
An internal final callback delegate declaration.
</summary>
<param name="context">Raw context pointer for the user function</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCollation">
<summary>
Internal callback delegate for implementing collating sequences
</summary>
<param name="puser">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="pv1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="pv2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second.</returns>
</member>
<member name="T:System.Data.SQLite.CollationTypeEnum">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Binary">
<summary>
The built-in BINARY collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.NoCase">
<summary>
The built-in NOCASE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Reverse">
<summary>
The built-in REVERSE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Custom">
<summary>
A custom user-defined collating sequence
</summary>
</member>
<member name="T:System.Data.SQLite.CollationEncodingEnum">
<summary>
The encoding type the collation sequence uses
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF8">
<summary>
The collation sequence is UTF8
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16LE">
<summary>
The collation sequence is UTF16 little-endian
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16BE">
<summary>
The collation sequence is UTF16 big-endian
</summary>
</member>
<member name="T:System.Data.SQLite.CollationSequence">
<summary>
A struct describing the collating sequence a function is executing in
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Name">
<summary>
The name of the collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Type">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Encoding">
<summary>
The text encoding of the collation sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence._func">
<summary>
Context of the function that requested the collating sequence
</summary>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.String,System.String)">
<summary>
Calls the base collating sequence to compare two strings
</summary>
<param name="s1">The first string to compare</param>
<param name="s2">The second string to compare</param>
<returns>-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2</returns>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.Char[],System.Char[])">
<summary>
Calls the base collating sequence to compare two character arrays
</summary>
<param name="c1">The first array to compare</param>
<param name="c2">The second array to compare</param>
<returns>-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
<summary>
A simple custom attribute to enable us to easily find user-defined functions in
the loaded assemblies and initialize them in SQLite as connections are made.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor">
<summary>
Default constructor, initializes the internal variables for the function.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor(System.String,System.Int32,System.Data.SQLite.FunctionType)">
<summary>
Constructs an instance of this class. This sets the initial
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/>, <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/>, and
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> properties to null.
</summary>
<param name="name">
The name of the function, as seen by the SQLite core library.
</param>
<param name="argumentCount">
The number of arguments that the function will accept.
</param>
<param name="functionType">
The type of function being declared. This will either be Scalar,
Aggregate, or Collation.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Name">
<summary>
The function's name as it will be used in SQLite command text.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Arguments">
<summary>
The number of arguments this function expects. -1 if the number of arguments is variable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.FuncType">
<summary>
The type of function this implementation will be.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType">
<summary>
The <see cref="T:System.Type"/> object instance that describes the class
containing the implementation for the associated function. The value of
this property will not be used if either the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/> or
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> property values are set to non-null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader">
<summary>
This class provides key info for a given SQLite statement.
<remarks>
Providing key information for a given statement is non-trivial :(
</remarks>
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.#ctor(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteDataReader,System.Data.SQLite.SQLiteStatement)">
<summary>
This function does all the nasty work at determining what keys need to be returned for
a given statement.
</summary>
<param name="cnn"></param>
<param name="reader"></param>
<param name="stmt"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Sync">
<summary>
Make sure all the subqueries are open and ready and sync'd with the current rowid
of the table they're supporting
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Reset">
<summary>
Release any readers on any subqueries
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.AppendSchemaTable(System.Data.DataTable)">
<summary>
Append all the columns we've added to the original query to the schema
</summary>
<param name="tbl"></param>
</member>
<member name="P:System.Data.SQLite.SQLiteKeyReader.Count">
<summary>
How many additional columns of keyinfo we're holding
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyInfo">
<summary>
Used to support CommandBehavior.KeyInfo
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyQuery">
<summary>
A single sub-query for a given table/database.
</summary>
</member>
<member name="T:System.Data.SQLite.LogEventArgs">
<summary>
Event data for logging event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.ErrorCode">
<summary>
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Message">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.LogEventArgs.#ctor(System.IntPtr,System.Object,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="pUserData">Should be null.</param>
<param name="errorCode">
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</param>
<param name="message">The error message, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLogEventHandler">
<summary>
Raised when a log event occurs.
</summary>
<param name="sender">The current connection</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLog">
<summary>
Manages the SQLite custom logging functionality and the associated
callback for the whole process.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog.syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._domainUnload">
<summary>
Member variable to store the AppDomain.DomainUnload event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._defaultHandler">
<summary>
The default log event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._callback">
<summary>
The log callback passed to native SQLite engine. This must live
as long as the SQLite library has a pointer to it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._sql">
<summary>
The base SQLite object to interop with.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._enabled">
<summary>
This will be non-zero if logging is currently enabled.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.Initialize">
<summary>
Initializes the SQLite logging facilities.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.DomainUnload(System.Object,System.EventArgs)">
<summary>
Handles the AppDomain being unloaded.
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The SQLite error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Int32,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The integer error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Object,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">
The error code. The type of this object value should be
System.Int32 or SQLiteErrorCode.
</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.InitializeDefaultHandler">
<summary>
Creates and initializes the default log event handler.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.AddDefaultHandler">
<summary>
Adds the default log event handler to the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.RemoveDefaultHandler">
<summary>
Removes the default log event handler from the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal proxy function that calls any registered application log
event handlers.
WARNING: This method is used more-or-less directly by native code,
do not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogEventHandler(System.Object,System.Data.SQLite.LogEventArgs)">
<summary>
Default logger. Currently, uses the Trace class (i.e. sends events
to the current trace listeners, if any).
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="E:System.Data.SQLite.SQLiteLog._handlers">
<summary>
Member variable to store the application log handler to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteLog.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteLog.Enabled">
<summary>
If this property is true, logging is enabled; otherwise, logging is
disabled. When logging is disabled, no logging events will fire.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMetaDataCollectionNames">
<summary>
MetaDataCollections specific to SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Catalogs">
<summary>
Returns a list of databases attached to the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Columns">
<summary>
Returns column information for the specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Indexes">
<summary>
Returns index information for the optionally-specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.IndexColumns">
<summary>
Returns base columns for the given index
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Tables">
<summary>
Returns the tables in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Views">
<summary>
Returns user-defined views in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ViewColumns">
<summary>
Returns underlying column information on the given view
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ForeignKeys">
<summary>
Returns foreign key information for the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Triggers">
<summary>
Returns the triggers on the database
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameter">
<summary>
SQLite implementation of DbParameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter.UnknownDbType">
<summary>
This value represents an "unknown" <see cref="P:System.Data.SQLite.SQLiteParameter.DbType"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dbType">
<summary>
The data type of the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._rowVersion">
<summary>
The version information for mapping the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._objValue">
<summary>
The value of the data in the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._sourceColumn">
<summary>
The source column for the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._parameterName">
<summary>
The column name
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dataSize">
<summary>
The data size, unused by SQLite
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.IDbCommand)">
<summary>
Constructor used when creating for use with a specific command.
</summary>
<param name="command">
The command associated with this parameter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String)">
<summary>
Constructs a named parameter given the specified parameter name
</summary>
<param name="parameterName">The parameter name</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Object)">
<summary>
Constructs a named parameter given the specified parameter name and initial value
</summary>
<param name="parameterName">The parameter name</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType)">
<summary>
Constructs a named parameter of the specified type
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String)">
<summary>
Constructs a named parameter of the specified type and source column reference
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, source column and row version
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType)">
<summary>
Constructs an unnamed parameter of the specified data type
</summary>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Object)">
<summary>
Constructs an unnamed parameter of the specified data type and sets the initial value
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String)">
<summary>
Constructs an unnamed parameter of the specified data type and source column
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified data type, source column and row version
</summary>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32)">
<summary>
Constructs a named parameter of the specified type and size
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs a named parameter of the specified type, size and source column
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="isNullable">Ignored</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="value">The initial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object)">
<summary>
Constructs a named parameter, yet another flavor
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="sourceColumnNullMapping">Whether or not this parameter is for comparing NULL's</param>
<param name="value">The intial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32)">
<summary>
Constructs an unnamed parameter of the specified type and size
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs an unnamed parameter of the specified type, size, and source column
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified type, size, source column and row version
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.ResetDbType">
<summary>
Resets the DbType of the parameter so it can be inferred from the value
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.Clone">
<summary>
Clones a parameter
</summary>
<returns>A new, unassociated SQLiteParameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.IsNullable">
<summary>
Whether or not the parameter can contain a null value
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.DbType">
<summary>
Returns the datatype of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Direction">
<summary>
Supports only input parameters
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.ParameterName">
<summary>
Returns the parameter name
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Size">
<summary>
Returns the size of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumn">
<summary>
Gets/sets the source column
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumnNullMapping">
<summary>
Used by DbCommandBuilder to determine the mapping for nullable fields
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceVersion">
<summary>
Gets and sets the row version
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Value">
<summary>
Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameterCollection">
<summary>
SQLite implementation of DbParameterCollection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._command">
<summary>
The underlying command to which this collection belongs
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._parameterList">
<summary>
The internal array of parameters in this collection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._unboundFlag">
<summary>
Determines whether or not all parameters have been bound to their statement(s)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Initializes the collection
</summary>
<param name="cmd">The command to which the collection belongs</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetEnumerator">
<summary>
Retrieves an enumerator for the collection
</summary>
<returns>An enumerator for the underlying array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<param name="sourceColumn">The source column</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Data.SQLite.SQLiteParameter)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameter">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Object)">
<summary>
Adds a parameter to the collection
</summary>
<param name="value">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddWithValue(System.String,System.Object)">
<summary>
Adds a named/unnamed parameter and its value to the parameter collection.
</summary>
<param name="parameterName">Name of the parameter, or null to indicate an unnamed parameter</param>
<param name="value">The initial value of the parameter</param>
<returns>Returns the SQLiteParameter object created during the call.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Data.SQLite.SQLiteParameter[])">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Array)">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Clear">
<summary>
Clears the array and resets the collection
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.String)">
<summary>
Determines if the named parameter exists in the collection
</summary>
<param name="parameterName">The name of the parameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.Object)">
<summary>
Determines if the parameter exists in the collection
</summary>
<param name="value">The SQLiteParameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.CopyTo(System.Array,System.Int32)">
<summary>
Not implemented
</summary>
<param name="array"></param>
<param name="index"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.String)">
<summary>
Retrieve a parameter by name from the collection
</summary>
<param name="parameterName">The name of the parameter to fetch</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.Int32)">
<summary>
Retrieves a parameter by its index in the collection
</summary>
<param name="index">The index of the parameter to retrieve</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.String)">
<summary>
Returns the index of a parameter given its name
</summary>
<param name="parameterName">The name of the parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.Object)">
<summary>
Returns the index of a parameter
</summary>
<param name="value">The parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Insert(System.Int32,System.Object)">
<summary>
Inserts a parameter into the array at the specified location
</summary>
<param name="index">The zero-based index to insert the parameter at</param>
<param name="value">The parameter to insert</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Remove(System.Object)">
<summary>
Removes a parameter from the collection
</summary>
<param name="value">The parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.String)">
<summary>
Removes a parameter from the collection given its name
</summary>
<param name="parameterName">The name of the parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.Int32)">
<summary>
Removes a parameter from the collection given its index
</summary>
<param name="index">The zero-based parameter index to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.String,System.Data.Common.DbParameter)">
<summary>
Re-assign the named parameter to a new parameter object
</summary>
<param name="parameterName">The name of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.Int32,System.Data.Common.DbParameter)">
<summary>
Re-assign a parameter at the specified index
</summary>
<param name="index">The zero-based index of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Unbind">
<summary>
Un-binds all parameters from their statements
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.MapParameters(System.Data.SQLite.SQLiteStatement)">
<summary>
This function attempts to map all parameters in the collection to all statements in a Command.
Since named parameters may span multiple statements, this function makes sure all statements are bound
to the same named parameter. Unnamed parameters are bound in sequence.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsSynchronized">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsFixedSize">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsReadOnly">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.SyncRoot">
<summary>
Returns null
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Count">
<summary>
Returns a count of parameters in the collection
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.String)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="parameterName">Name of the parameter to get/set</param>
<returns>The specified named SQLite parameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.Int32)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="index">The index of the parameter to get/set</param>
<returns>The specified SQLite parameter</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStatement">
<summary>
Represents a single SQL statement in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sql">
<summary>
The underlying SQLite object this statement is bound to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlStatement">
<summary>
The command text of this SQL statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlite_stmt">
<summary>
The actual statement pointer
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._unnamedParameters">
<summary>
An index from which unnamed parameters begin
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramNames">
<summary>
Names of the parameters as SQLite understands them to be
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramValues">
<summary>
Parameters for this statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._command">
<summary>
Command this statement belongs to (if any)
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._flags">
<summary>
The flags associated with the parent connection object.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteStatementHandle,System.String,System.Data.SQLite.SQLiteStatement)">
<summary>
Initializes the statement and attempts to get all information about parameters in the statement
</summary>
<param name="sqlbase">The base SQLite object</param>
<param name="flags">The flags associated with the parent connection object</param>
<param name="stmt">The statement</param>
<param name="strCommand">The command text for this statement</param>
<param name="previous">The previous command in a multi-statement command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.Dispose">
<summary>
Disposes and finalizes the statement
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.TryGetChanges(System.Int32@,System.Boolean@)">
<summary>
If the underlying database connection is open, fetches the number of changed rows
resulting from the most recent query; otherwise, does nothing.
</summary>
<param name="changes">
The number of changes when true is returned.
Undefined if false is returned.
</param>
<param name="readOnly">
The read-only flag when true is returned.
Undefined if false is returned.
</param>
<returns>Non-zero if the number of changed rows was fetched.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.MapParameter(System.String,System.Data.SQLite.SQLiteParameter)">
<summary>
Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to
this statement, and if so, keeps a reference to the parameter so it can be bound later.
</summary>
<param name="s">The parameter name to map</param>
<param name="p">The parameter to assign it</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameters">
<summary>
Bind all parameters, making sure the caller didn't miss any
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameter(System.Int32,System.Data.SQLite.SQLiteParameter)">
<summary>
Perform the bind operation for an individual parameter
</summary>
<param name="index">The index of the parameter to bind</param>
<param name="param">The parameter we're binding</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTransaction">
<summary>
SQLite implementation of DbTransaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteTransaction._cnn">
<summary>
The connection to which this transaction is bound
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.#ctor(System.Data.SQLite.SQLiteConnection,System.Boolean)">
<summary>
Constructs the transaction object, binding it to the supplied connection
</summary>
<param name="connection">The connection to open a transaction on</param>
<param name="deferredLock">TRUE to defer the writelock, or FALSE to lock immediately</param>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Dispose(System.Boolean)">
<summary>
Disposes the transaction. If it is currently active, any changes are rolled back.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Commit">
<summary>
Commits the current transaction.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Rollback">
<summary>
Rolls back the active transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.Connection">
<summary>
Returns the underlying connection to which this transaction applies.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.IsolationLevel">
<summary>
Gets the isolation level of the transaction. SQLite only supports Serializable transactions.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.DllFileExtension">
<summary>
The file extension used for dynamic link libraries.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.ConfigFileExtension">
<summary>
The file extension used for the XML configuration file.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.XmlConfigFileName">
<summary>
This is the name of the XML configuration file specific to the
System.Data.SQLite assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.staticSyncRoot">
<summary>
This lock is used to protect the static _SQLiteNativeModuleFileName,
_SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.processorArchitecturePlatforms">
<summary>
This dictionary stores the mappings between processor architecture
names and platform names. These mappings are now used for two
purposes. First, they are used to determine if the assembly code
base should be used instead of the location, based upon whether one
or more of the named sub-directories exist within the assembly code
base. Second, they are used to assist in loading the appropriate
SQLite interop assembly into the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.#cctor">
<summary>
For now, this method simply calls the Initialize method.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.MonoRuntimeType">
<summary>
This type is only present when running on Mono.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.isMono">
<summary>
Keeps track of whether we are running on Mono. Initially null, it is
set by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method on its first call. Later, it
is returned verbatim by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.IsMono">
<summary>
Determines whether or not this assembly is running on Mono.
</summary>
<returns>
Non-zero if this assembly is running on Mono.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.StringFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
This is a wrapper around the
<see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method.
On Mono, it has to call the method overload without the
<see cref="T:System.IFormatProvider"/> parameter, due to a bug in Mono.
</summary>
<param name="provider">
This is used for culture-specific formatting.
</param>
<param name="format">
The format string.
</param>
<param name="args">
An array the objects to format.
</param>
<returns>
The resulting string.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.Initialize">
<summary>
Attempts to initialize this class by pre-loading the native SQLite
library for the processor architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetXmlConfigFileName">
<summary>
Queries and returns the XML configuration file name for the assembly
containing the managed System.Data.SQLite components.
</summary>
<returns>
The XML configuration file name -OR- null if it cannot be determined
or does not exist.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetSettingValue(System.String,System.String)">
<summary>
Queries and returns the value of the specified setting, using the XML
configuration file and/or the environment variables for the current
process and/or the current system, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<returns>
The value of the setting -OR- the default value specified by
<paramref name="default" /> if it has not been set explicitly or
cannot be determined. By default, all references to existing
environment variables will be expanded to their corresponding values
within the value to be returned unless either the "No_Expand" or
"No_Expand_<paramref name="name" />" environment variable is set [to
anything].
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetAssemblyDirectory">
<summary>
Queries and returns the directory for the assembly currently being
executed.
</summary>
<returns>
The directory for the assembly currently being executed -OR- null if
it cannot be determined.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.PROCESSOR_ARCHITECTURE">
<summary>
The name of the environment variable containing the processor
architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.LoadLibrary(System.String)">
<summary>
This is the P/Invoke method that wraps the native Win32 LoadLibrary
function. See the MSDN documentation for full details on what it
does.
</summary>
<param name="fileName">
The name of the executable library.
</param>
<returns>
The native module handle upon success -OR- IntPtr.Zero on failure.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleFileName">
<summary>
The native module file name for the native SQLite library or null.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleHandle">
<summary>
The native module handle for the native SQLite library or the value
IntPtr.Zero.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.SearchForDirectory(System.String@,System.String@)">
<summary>
Searches for the native SQLite library in the directory containing
the assembly currently being executed as well as the base directory
for the current application domain.
</summary>
<param name="baseDirectory">
Upon success, this parameter will be modified to refer to the base
directory containing the native SQLite library.
</param>
<param name="processorArchitecture">
Upon success, this parameter will be modified to refer to the name
of the immediate directory (i.e. the offset from the base directory)
containing the native SQLite library.
</param>
<returns>
Non-zero (success) if the native SQLite library was found; otherwise,
zero (failure).
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetBaseDirectory">
<summary>
Queries and returns the base directory of the current application
domain.
</summary>
<returns>
The base directory for the current application domain -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.FixUpDllFileName(System.String)">
<summary>
Determines if the dynamic link library file name requires a suffix
and adds it if necessary.
</summary>
<param name="fileName">
The original dynamic link library file name to inspect.
</param>
<returns>
The dynamic link library file name, possibly modified to include an
extension.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetProcessorArchitecture">
<summary>
Queries and returns the processor architecture of the current
process.
</summary>
<returns>
The processor architecture of the current process -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetPlatformName(System.String)">
<summary>
Given the processor architecture, returns the name of the platform.
</summary>
<param name="processorArchitecture">
The processor architecture to be translated to a platform name.
</param>
<returns>
The platform name for the specified processor architecture -OR- null
if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.PreLoadSQLiteDll(System.String,System.String,System.String@,System.IntPtr@)">
<summary>
Attempts to load the native SQLite library based on the specified
directory and processor architecture.
</summary>
<param name="baseDirectory">
The base directory to use, null for default (the base directory of
the current application domain). This directory should contain the
processor architecture specific sub-directories.
</param>
<param name="processorArchitecture">
The requested processor architecture, null for default (the
processor architecture of the current process). This caller should
almost always specify null for this parameter.
</param>
<param name="nativeModuleFileName">
The candidate native module file name to load will be stored here,
if necessary.
</param>
<param name="nativeModuleHandle">
The native module handle as returned by LoadLibrary will be stored
here, if necessary. This value will be IntPtr.Zero if the call to
LoadLibrary fails.
</param>
<returns>
Non-zero if the native module was loaded successfully; otherwise,
zero.
</returns>
</member>
<member name="T:System.Data.SQLite.SR">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.DataTypes">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot;?&gt;
&lt;DocumentElement&gt;
&lt;DataTypes&gt;
&lt;TypeName&gt;smallint&lt;/TypeName&gt;
&lt;ProviderDbType&gt;10&lt;/ProviderDbType&gt;
&lt;ColumnSize&gt;5&lt;/ColumnSize&gt;
&lt;DataType&gt;System.Int16&lt;/DataType&gt;
&lt;CreateFormat&gt;smallint&lt;/CreateFormat&gt;
&lt;IsAutoIncrementable&gt;false&lt;/IsAutoIncrementable&gt;
&lt;IsCaseSensitive&gt;false&lt;/IsCaseSensitive&gt;
&lt;IsFixedLength&gt;true&lt;/IsFixedLength&gt;
&lt;IsFixedPrecisionScale&gt;true&lt;/IsFixedPrecisionScale&gt;
&lt;IsLong&gt;false&lt;/IsLong&gt;
&lt;IsNullable&gt;true&lt;/ [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Keywords">
<summary>
Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.MetaDataCollections">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;DocumentElement&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;MetaDataCollections&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;DataSourceInformation&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataC [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteContext">
<summary>
This class represents a context from the SQLite core library that can
be passed to the sqlite3_result_*() and associated functions.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeHandle">
<summary>
This interface represents a native handle provided by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteNativeHandle.NativeHandle">
<summary>
The native handle value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteContext.pContext">
<summary>
The native context handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
context handle.
</summary>
<param name="pContext">
The native context handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetNull">
<summary>
Sets the context result to NULL.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetDouble(System.Double)">
<summary>
Sets the context result to the specified <see cref="T:System.Double"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Double"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt(System.Int32)">
<summary>
Sets the context result to the specified <see cref="T:System.Int32"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int32"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt64(System.Int64)">
<summary>
Sets the context result to the specified <see cref="T:System.Int64"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int64"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetString(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value.
</summary>
<param name="value">
The <see cref="T:System.String"/> value to use. This value will be
converted to the UTF-8 encoding prior to being used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetError(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value containing an error message.
</summary>
<param name="value">
The <see cref="T:System.String"/> value containing the error message text.
This value will be converted to the UTF-8 encoding prior to being
used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorCode(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorTooBig">
<summary>
Sets the context result to contain the error code SQLITE_TOOBIG.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorNoMemory">
<summary>
Sets the context result to contain the error code SQLITE_NOMEM.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetBlob(System.Byte[])">
<summary>
Sets the context result to the specified <see cref="T:System.Byte"/> array
value.
</summary>
<param name="value">
The <see cref="T:System.Byte"/> array value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetZeroBlob(System.Int32)">
<summary>
Sets the context result to a BLOB of zeros of the specified size.
</summary>
<param name="value">
The number of zero bytes to use for the BLOB context result.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetValue(System.Data.SQLite.SQLiteValue)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteValue"/>.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteValue"/> to use.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteContext.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteValue">
<summary>
This class represents a value from the SQLite core library that can be
passed to the sqlite3_value_*() and associated functions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteValue.pValue">
<summary>
The native value handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
value handle.
</summary>
<param name="pValue">
The native value handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.PreventNativeAccess">
<summary>
Invalidates the native value handle, thereby preventing further
access to it from this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.ArrayFromSizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native pointers to native sqlite3_value
structures into a managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/>
object instances.
</summary>
<param name="argc">
The number of elements in the logical array of native sqlite3_value
structures.
</param>
<param name="argv">
The native pointer to the logical array of native sqlite3_value
structures to convert.
</param>
<returns>
The managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances or
null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetTypeAffinity">
<summary>
Gets and returns the type affinity associated with this value.
</summary>
<returns>
The type affinity associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBytes">
<summary>
Gets and returns the number of bytes associated with this value, if
it refers to a UTF-8 encoded string.
</summary>
<returns>
The number of bytes associated with this value. The returned value
may be zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt">
<summary>
Gets and returns the <see cref="T:System.Int32"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Int32"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt64">
<summary>
Gets and returns the <see cref="T:System.Int64"/> associated with
this value.
</summary>
<returns>
The <see cref="T:System.Int64"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetDouble">
<summary>
Gets and returns the <see cref="T:System.Double"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Double"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetString">
<summary>
Gets and returns the <see cref="T:System.String"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.String"/> associated with this value. The value is
converted from the UTF-8 encoding prior to being returned.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBlob">
<summary>
Gets and returns the <see cref="T:System.Byte"/> array associated with this
value.
</summary>
<returns>
The <see cref="T:System.Byte"/> array associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.Persist">
<summary>
Uses the native value handle to obtain and store the managed value
for this object instance, thus saving it for later use. The type
of the managed value is determined by the type affinity of the
native value. If the type affinity is not recognized by this
method, no work is done and false is returned.
</summary>
<returns>
Non-zero if the native value was persisted successfully.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Persisted">
<summary>
Returns non-zero if the native SQLite value has been successfully
persisted as a managed value within this object instance (i.e. the
<see cref="P:System.Data.SQLite.SQLiteValue.Value"/> property may then be read successfully).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Value">
<summary>
If the managed value for this object instance is available (i.e. it
has been previously persisted via the <see cref="M:System.Data.SQLite.SQLiteValue.Persist"/>) method,
that value is returned; otherwise, an exception is thrown. The
returned value may be null.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintOp">
<summary>
These are the allowed values for the operators that are part of a
constraint term in the WHERE clause of a query that uses a virtual
table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.EqualTo">
<summary>
This value represents the equality operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThan">
<summary>
This value represents the greater than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThanOrEqualTo">
<summary>
This value represents the less than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThan">
<summary>
This value represents the less than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThanOrEqualTo">
<summary>
This value represents the greater than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.Match">
<summary>
This value represents the MATCH operator.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraint">
<summary>
This class represents the native sqlite3_index_constraint structure
from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint structure.
</summary>
<param name="constraint">
The native sqlite3_index_constraint structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Int32,System.Data.SQLite.SQLiteIndexConstraintOp,System.Byte,System.Int32)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column on left-hand side of constraint.
</param>
<param name="op">
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</param>
<param name="usable">
True if this constraint is usable.
</param>
<param name="iTermOffset">
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iColumn">
<summary>
Column on left-hand side of constraint.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.op">
<summary>
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.usable">
<summary>
True if this constraint is usable.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iTermOffset">
<summary>
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOrderBy">
<summary>
This class represents the native sqlite3_index_orderby structure from
the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_orderby)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_orderby structure.
</summary>
<param name="orderBy">
The native sqlite3_index_orderby structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column number.
</param>
<param name="desc">
True for DESC. False for ASC.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.iColumn">
<summary>
Column number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.desc">
<summary>
True for DESC. False for ASC.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintUsage">
<summary>
This class represents the native sqlite3_index_constraint_usage
structure from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor">
<summary>
Constructs a default instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint_usage)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint_usage structure.
</summary>
<param name="constraintUsage">
The native sqlite3_index_constraint_usage structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="argvIndex">
If greater than 0, constraint is part of argv to xFilter.
</param>
<param name="omit">
Do not code a test for this constraint.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.argvIndex">
<summary>
If greater than 0, constraint is part of argv to xFilter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.omit">
<summary>
Do not code a test for this constraint.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexInputs">
<summary>
This class represents the various inputs provided by the SQLite core
library to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexInputs.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.Constraints">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.OrderBys">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOutputs">
<summary>
This class represents the various outputs provided to the SQLite core
library by the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.#ctor(System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> instances
to pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.CanUseEstimatedRows">
<summary>
Determines if the native estimatedRows field can be used, based on
the available version of the SQLite core library.
</summary>
<returns>
Non-zero if the <see cref="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows"/> property is supported
by the SQLite core library.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.ConstraintUsages">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> object
instances, each containing information to be supplied to the SQLite
core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexString">
<summary>
String used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.NeedToFreeIndexString">
<summary>
Non-zero if the index string must be freed by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.OrderByConsumed">
<summary>
True if output is already ordered.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedCost">
<summary>
Estimated cost of using this index. Using a null value here
indicates that a default estimated cost value should be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows">
<summary>
Estimated number of rows returned. Using a null value here
indicates that a default estimated rows value should be used.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndex">
<summary>
This class represents the various inputs and outputs used with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> (and
<see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/>) instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.FromIntPtr(System.IntPtr,System.Data.SQLite.SQLiteIndex@)">
<summary>
Converts a native pointer to a native sqlite3_index_info structure
into a new <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</summary>
<param name="pIndex">
The native pointer to the native sqlite3_index_info structure to
convert.
</param>
<param name="index">
Upon success, this parameter will be modified to contain the newly
created <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.ToIntPtr(System.Data.SQLite.SQLiteIndex,System.IntPtr)">
<summary>
Populates the outputs of a pre-allocated native sqlite3_index_info
structure using an existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object
instance.
</summary>
<param name="index">
The existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing
the output data to use.
</param>
<param name="pIndex">
The native pointer to the pre-allocated native sqlite3_index_info
structure.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Inputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexInputs"/> object instance containing
the inputs to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Outputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexOutputs"/> object instance containing
the outputs from the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTable">
<summary>
This class represents a managed virtual table implementation. It is
not sealed and should be used as the base class for any user-defined
virtual table classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.ModuleNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the module implementing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.DatabaseNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the database containing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.TableNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.#ctor(System.String[])">
<summary>
Constructs an instance of this class.
</summary>
<param name="arguments">
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.BestIndex(System.Data.SQLite.SQLiteIndex)">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method in order to
perform index selection based on the constraints provided by the
SQLite core library.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Rename(System.String)">
<summary>
Attempts to record the renaming of the virtual table associated
with this object instance.
</summary>
<param name="name">
The new name for the virtual table.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTable.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Arguments">
<summary>
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.ModuleName">
<summary>
The name of the module implementing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.DatabaseName">
<summary>
The name of the database containing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.TableName">
<summary>
The name of the virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Index">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to the most recent index
selection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursor">
<summary>
This class represents a managed virtual table cursor implementation.
It is not sealed and should be used as the base class for any
user-defined virtual table cursor classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.InvalidRowIndex">
<summary>
This value represents an invalid integer row sequence number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.rowIndex">
<summary>
The field holds the integer row sequence number for the current row
pointed to by this cursor object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor">
<summary>
Constructs an instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.TryPersistValues(System.Data.SQLite.SQLiteValue[])">
<summary>
Attempts to persist the specified <see cref="T:System.Data.SQLite.SQLiteValue"/> object
instances in order to make them available after the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method returns.
</summary>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances to be
persisted.
</param>
<returns>
The number of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances that were
successfully persisted.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method in order to
perform filtering of the result rows and/or to record the filtering
criteria provided by the SQLite core library.
</summary>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.GetRowIndex">
<summary>
Determines the integer row sequence number for the current row.
</summary>
<returns>
The integer row sequence number for the current row -OR- zero if
it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.NextRowIndex">
<summary>
Adjusts the integer row sequence number so that it refers to the
next row.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Table">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexString">
<summary>
String used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Values">
<summary>
The values used to filter the rows returned via this cursor object
instance. This value will be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeModule">
<summary>
This interface represents a virtual table implementation written in
native code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
This method is called to create a new instance of a virtual table
in response to a CREATE VIRTUAL TABLE statement. The db parameter
is a pointer to the SQLite database connection that is executing
the CREATE VIRTUAL TABLE statement. The pAux argument is the copy
of the client data pointer that was the fourth argument to the
sqlite3_create_module() or sqlite3_create_module_v2() call that
registered the virtual table module. The argv parameter is an
array of argc pointers to null terminated strings. The first
string, argv[0], is the name of the module being invoked. The
module name is the name provided as the second argument to
sqlite3_create_module() and as the argument to the USING clause of
the CREATE VIRTUAL TABLE statement that is running. The second,
argv[1], is the name of the database in which the new virtual table
is being created. The database name is "main" for the primary
database, or "temp" for TEMP database, or the name given at the
end of the ATTACH statement for attached databases. The third
element of the array, argv[2], is the name of the new virtual
table, as specified following the TABLE keyword in the CREATE
VIRTUAL TABLE statement. If present, the fourth and subsequent
strings in the argv[] array report the arguments to the module name
in the CREATE VIRTUAL TABLE statement.
</para>
<para>
The job of this method is to construct the new virtual table object
(an sqlite3_vtab object) and return a pointer to it in *ppVTab.
</para>
<para>
As part of the task of creating a new sqlite3_vtab structure, this
method must invoke sqlite3_declare_vtab() to tell the SQLite core
about the columns and datatypes in the virtual table. The
sqlite3_declare_vtab() API has the following prototype:
</para>
<para>
<code>
int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
</code>
</para>
<para>
The first argument to sqlite3_declare_vtab() must be the same
database connection pointer as the first parameter to this method.
The second argument to sqlite3_declare_vtab() must a
zero-terminated UTF-8 string that contains a well-formed CREATE
TABLE statement that defines the columns in the virtual table and
their data types. The name of the table in this CREATE TABLE
statement is ignored, as are all constraints. Only the column names
and datatypes matter. The CREATE TABLE statement string need not to
be held in persistent memory. The string can be deallocated and/or
reused as soon as the sqlite3_declare_vtab() routine returns.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
The xConnect method is very similar to xCreate. It has the same
parameters and constructs a new sqlite3_vtab structure just like
xCreate. And it must also call sqlite3_declare_vtab() like xCreate.
</para>
<para>
The difference is that xConnect is called to establish a new
connection to an existing virtual table whereas xCreate is called
to create a new virtual table from scratch.
</para>
<para>
The xCreate and xConnect methods are only different when the
virtual table has some kind of backing store that must be
initialized the first time the virtual table is created. The
xCreate method creates and initializes the backing store. The
xConnect method just connects to an existing backing store.
</para>
<para>
As an example, consider a virtual table implementation that
provides read-only access to existing comma-separated-value (CSV)
files on disk. There is no backing store that needs to be created
or initialized for such a virtual table (since the CSV files
already exist on disk) so the xCreate and xConnect methods will be
identical for that module.
</para>
<para>
Another example is a virtual table that implements a full-text
index. The xCreate method must create and initialize data
structures to hold the dictionary and posting lists for that index.
The xConnect method, on the other hand, only has to locate and use
an existing dictionary and posting lists that were created by a
prior xCreate call.
</para>
<para>
The xConnect method must return SQLITE_OK if it is successful in
creating the new virtual table, or SQLITE_ERROR if it is not
successful. If not successful, the sqlite3_vtab structure must not
be allocated. An error message may optionally be returned in *pzErr
if unsuccessful. Space to hold the error message string must be
allocated using an SQLite memory allocation function like
sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
attempt to free the space using sqlite3_free() after the error has
been reported up to the application.
</para>
<para>
The xConnect method is required for every virtual table
implementation, though the xCreate and xConnect pointers of the
sqlite3_module object may point to the same function the virtual
table does not need to initialize backing store.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
<para>
SQLite uses the xBestIndex method of a virtual table module to
determine the best way to access the virtual table. The xBestIndex
method has a prototype like this:
</para>
<code>
int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
</code>
<para>
The SQLite core communicates with the xBestIndex method by filling
in certain fields of the sqlite3_index_info structure and passing a
pointer to that structure into xBestIndex as the second parameter.
The xBestIndex method fills out other fields of this structure
which forms the reply. The sqlite3_index_info structure looks like
this:
</para>
<code>
struct sqlite3_index_info {
/* Inputs */
const int nConstraint; /* Number of entries in aConstraint */
const struct sqlite3_index_constraint {
int iColumn; /* Column on left-hand side of
* constraint */
unsigned char op; /* Constraint operator */
unsigned char usable; /* True if this constraint is usable */
int iTermOffset; /* Used internally - xBestIndex should
* ignore */
} *const aConstraint; /* Table of WHERE clause constraints */
const int nOrderBy; /* Number of terms in the ORDER BY
* clause */
const struct sqlite3_index_orderby {
int iColumn; /* Column number */
unsigned char desc; /* True for DESC. False for ASC. */
} *const aOrderBy; /* The ORDER BY clause */
/* Outputs */
struct sqlite3_index_constraint_usage {
int argvIndex; /* if greater than zero, constraint is
* part of argv to xFilter */
unsigned char omit; /* Do not code a test for this
* constraint */
} *const aConstraintUsage;
int idxNum; /* Number used to identify the index */
char *idxStr; /* String, possibly obtained from
* sqlite3_malloc() */
int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if
* true */
int orderByConsumed; /* True if output is already ordered */
double estimatedCost; /* Estimated cost of using this index */
};
</code>
<para>
In addition, there are some defined constants:
</para>
<code>
#define SQLITE_INDEX_CONSTRAINT_EQ 2
#define SQLITE_INDEX_CONSTRAINT_GT 4
#define SQLITE_INDEX_CONSTRAINT_LE 8
#define SQLITE_INDEX_CONSTRAINT_LT 16
#define SQLITE_INDEX_CONSTRAINT_GE 32
#define SQLITE_INDEX_CONSTRAINT_MATCH 64
</code>
<para>
The SQLite core calls the xBestIndex method when it is compiling a
query that involves a virtual table. In other words, SQLite calls
this method when it is running sqlite3_prepare() or the equivalent.
By calling this method, the SQLite core is saying to the virtual
table that it needs to access some subset of the rows in the
virtual table and it wants to know the most efficient way to do
that access. The xBestIndex method replies with information that
the SQLite core can then use to conduct an efficient search of the
virtual table.
</para>
<para>
While compiling a single SQL query, the SQLite core might call
xBestIndex multiple times with different settings in
sqlite3_index_info. The SQLite core will then select the
combination that appears to give the best performance.
</para>
<para>
Before calling this method, the SQLite core initializes an instance
of the sqlite3_index_info structure with information about the
query that it is currently trying to process. This information
derives mainly from the WHERE clause and ORDER BY or GROUP BY
clauses of the query, but also from any ON or USING clauses if the
query is a join. The information that the SQLite core provides to
the xBestIndex method is held in the part of the structure that is
marked as "Inputs". The "Outputs" section is initialized to zero.
</para>
<para>
The information in the sqlite3_index_info structure is ephemeral
and may be overwritten or deallocated as soon as the xBestIndex
method returns. If the xBestIndex method needs to remember any part
of the sqlite3_index_info structure, it should make a copy. Care
must be take to store the copy in a place where it will be
deallocated, such as in the idxStr field with needToFreeIdxStr set
to 1.
</para>
<para>
Note that xBestIndex will always be called before xFilter, since
the idxNum and idxStr outputs from xBestIndex are required inputs
to xFilter. However, there is no guarantee that xFilter will be
called following a successful xBestIndex.
</para>
<para>
The xBestIndex method is required for every virtual table
implementation.
</para>
<para>
2.3.1 Inputs
</para>
<para>
The main thing that the SQLite core is trying to communicate to the
virtual table is the constraints that are available to limit the
number of rows that need to be searched. The aConstraint[] array
contains one entry for each constraint. There will be exactly
nConstraint entries in that array.
</para>
<para>
Each constraint will correspond to a term in the WHERE clause or in
a USING or ON clause that is of the form
</para>
<code>
column OP EXPR
</code>
<para>
Where "column" is a column in the virtual table, OP is an operator
like "=" or "&lt;", and EXPR is an arbitrary expression. So, for
example, if the WHERE clause contained a term like this:
</para>
<code>
a = 5
</code>
<para>
Then one of the constraints would be on the "a" column with
operator "=" and an expression of "5". Constraints need not have a
literal representation of the WHERE clause. The query optimizer
might make transformations to the WHERE clause in order to extract
as many constraints as it can. So, for example, if the WHERE clause
contained something like this:
</para>
<code>
x BETWEEN 10 AND 100 AND 999&gt;y
</code>
<para>
The query optimizer might translate this into three separate
constraints:
</para>
<code>
x &gt;= 10
x &lt;= 100
y &lt; 999
</code>
<para>
For each constraint, the aConstraint[].iColumn field indicates
which column appears on the left-hand side of the constraint. The
first column of the virtual table is column 0. The rowid of the
virtual table is column -1. The aConstraint[].op field indicates
which operator is used. The SQLITE_INDEX_CONSTRAINT_* constants map
integer constants into operator values. Columns occur in the order
they were defined by the call to sqlite3_declare_vtab() in the
xCreate or xConnect method. Hidden columns are counted when
determining the column index.
</para>
<para>
The aConstraint[] array contains information about all constraints
that apply to the virtual table. But some of the constraints might
not be usable because of the way tables are ordered in a join. The
xBestIndex method must therefore only consider constraints that
have an aConstraint[].usable flag which is true.
</para>
<para>
In addition to WHERE clause constraints, the SQLite core also tells
the xBestIndex method about the ORDER BY clause. (In an aggregate
query, the SQLite core might put in GROUP BY clause information in
place of the ORDER BY clause information, but this fact should not
make any difference to the xBestIndex method.) If all terms of the
ORDER BY clause are columns in the virtual table, then nOrderBy
will be the number of terms in the ORDER BY clause and the
aOrderBy[] array will identify the column for each term in the
order by clause and whether or not that column is ASC or DESC.
</para>
<para>
2.3.2 Outputs
</para>
<para>
Given all of the information above, the job of the xBestIndex
method it to figure out the best way to search the virtual table.
</para>
<para>
The xBestIndex method fills the idxNum and idxStr fields with
information that communicates an indexing strategy to the xFilter
method. The information in idxNum and idxStr is arbitrary as far as
the SQLite core is concerned. The SQLite core just copies the
information through to the xFilter method. Any desired meaning can
be assigned to idxNum and idxStr as long as xBestIndex and xFilter
agree on what that meaning is.
</para>
<para>
The idxStr value may be a string obtained from an SQLite memory
allocation function such as sqlite3_mprintf(). If this is the case,
then the needToFreeIdxStr flag must be set to true so that the
SQLite core will know to call sqlite3_free() on that string when it
has finished with it, and thus avoid a memory leak.
</para>
<para>
If the virtual table will output rows in the order specified by the
ORDER BY clause, then the orderByConsumed flag may be set to true.
If the output is not automatically in the correct order then
orderByConsumed must be left in its default false setting. This
will indicate to the SQLite core that it will need to do a separate
sorting pass over the data after it comes out of the virtual table.
</para>
<para>
The estimatedCost field should be set to the estimated number of
disk access operations required to execute this query against the
virtual table. The SQLite core will often call xBestIndex multiple
times with different constraints, obtain multiple cost estimates,
then choose the query plan that gives the lowest estimate.
</para>
<para>
The aConstraintUsage[] array contains one element for each of the
nConstraint constraints in the inputs section of the
sqlite3_index_info structure. The aConstraintUsage[] array is used
by xBestIndex to tell the core how it is using the constraints.
</para>
<para>
The xBestIndex method may set aConstraintUsage[].argvIndex entries
to values greater than one. Exactly one entry should be set to 1,
another to 2, another to 3, and so forth up to as many or as few as
the xBestIndex method wants. The EXPR of the corresponding
constraints will then be passed in as the argv[] parameters to
xFilter.
</para>
<para>
For example, if the aConstraint[3].argvIndex is set to 1, then when
xFilter is called, the argv[0] passed to xFilter will have the EXPR
value of the aConstraint[3] constraint.
</para>
<para>
By default, the SQLite core double checks all constraints on each
row of the virtual table that it receives. If such a check is
redundant, the xBestFilter method can suppress that double-check by
setting aConstraintUsage[].omit.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pIndex">
The native pointer to the sqlite3_index_info structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table. Only the
sqlite3_vtab object is destroyed. The virtual table is not
destroyed and any backing store associated with the virtual table
persists. This method undoes the work of xConnect.
</para>
<para>
This method is a destructor for a connection to the virtual table.
Contrast this method with xDestroy. The xDestroy is a destructor
for the entire virtual table.
</para>
<para>
The xDisconnect method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table, just like the
xDisconnect method, and it also destroys the underlying table
implementation. This method undoes the work of xCreate.
</para>
<para>
The xDisconnect method is called whenever a database connection
that uses a virtual table is closed. The xDestroy method is only
called when a DROP TABLE statement is executed against the virtual
table.
</para>
<para>
The xDestroy method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
<para>
The xOpen method creates a new cursor used for accessing (read
and/or writing) a virtual table. A successful invocation of this
method will allocate the memory for the sqlite3_vtab_cursor (or a
subclass), initialize the new object, and make *ppCursor point to
the new object. The successful call then returns SQLITE_OK.
</para>
<para>
For every successful call to this method, the SQLite core will
later invoke the xClose method to destroy the allocated cursor.
</para>
<para>
The xOpen method need not initialize the pVtab field of the
sqlite3_vtab_cursor structure. The SQLite core will take care of
that chore automatically.
</para>
<para>
A virtual table implementation must be able to support an arbitrary
number of simultaneously open cursors.
</para>
<para>
When initially opened, the cursor is in an undefined state. The
SQLite core will invoke the xFilter method on the cursor prior to
any attempt to position or read from the cursor.
</para>
<para>
The xOpen method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)">
<summary>
<para>
The xClose method closes a cursor previously opened by xOpen. The
SQLite core will always call xClose once for each cursor opened
using xOpen.
</para>
<para>
This method must release all resources allocated by the
corresponding xOpen call. The routine will not be called again even
if it returns an error. The SQLite core will not use the
sqlite3_vtab_cursor again after it has been closed.
</para>
<para>
The xClose method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
<para>
This method begins a search of a virtual table. The first argument
is a cursor opened by xOpen. The next two argument define a
particular search index previously chosen by xBestIndex. The
specific meanings of idxNum and idxStr are unimportant as long as
xFilter and xBestIndex agree on what that meaning is.
</para>
<para>
The xBestIndex function may have requested the values of certain
expressions using the aConstraintUsage[].argvIndex values of the
sqlite3_index_info structure. Those values are passed to xFilter
using the argc and argv parameters.
</para>
<para>
If the virtual table contains one or more rows that match the
search criteria, then the cursor must be left point at the first
row. Subsequent calls to xEof must return false (zero). If there
are no rows match, then the cursor must be left in a state that
will cause the xEof to return true (non-zero). The SQLite engine
will use the xColumn and xRowid methods to access that row content.
The xNext method will be used to advance to the next row.
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xFilter method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="idxNum">
Number used to help identify the selected index.
</param>
<param name="idxStr">
The native pointer to the UTF-8 encoded string containing the
string used to help identify the selected index.
</param>
<param name="argc">
The number of native pointers to sqlite3_value structures specified
in <paramref name="argv" />.
</param>
<param name="argv">
An array of native pointers to sqlite3_value structures containing
filtering criteria for the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)">
<summary>
<para>
The xNext method advances a virtual table cursor to the next row of
a result set initiated by xFilter. If the cursor is already
pointing at the last row when this routine is called, then the
cursor no longer points to valid data and a subsequent call to the
xEof method must return true (non-zero). If the cursor is
successfully advanced to another row of content, then subsequent
calls to xEof must return false (zero).
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xNext method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)">
<summary>
<para>
The xEof method must return false (zero) if the specified cursor
currently points to a valid row of data, or true (non-zero)
otherwise. This method is called by the SQL engine immediately
after each xFilter and xNext invocation.
</para>
<para>
The xEof method is required for every virtual table implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
<para>
The SQLite core invokes this method in order to find the value for
the N-th column of the current row. N is zero-based so the first
column is numbered 0. The xColumn method may return its result back
to SQLite using one of the following interface:
</para>
<code>
sqlite3_result_blob()
sqlite3_result_double()
sqlite3_result_int()
sqlite3_result_int64()
sqlite3_result_null()
sqlite3_result_text()
sqlite3_result_text16()
sqlite3_result_text16le()
sqlite3_result_text16be()
sqlite3_result_zeroblob()
</code>
<para>
If the xColumn method implementation calls none of the functions
above, then the value of the column defaults to an SQL NULL.
</para>
<para>
To raise an error, the xColumn method should use one of the
result_text() methods to set the error message text, then return an
appropriate error code. The xColumn method must return SQLITE_OK on
success.
</para>
<para>
The xColumn method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="pContext">
The native pointer to the sqlite3_context structure to be used
for returning the specified column value to the SQLite core
library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
<para>
A successful invocation of this method will cause *pRowid to be
filled with the rowid of row that the virtual table cursor pCur is
currently pointing at. This method returns SQLITE_OK on success. It
returns an appropriate error code on failure.
</para>
<para>
The xRowid method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
<para>
All changes to a virtual table are made using the xUpdate method.
This one method can be used to insert, delete, or update.
</para>
<para>
The argc parameter specifies the number of entries in the argv
array. The value of argc will be 1 for a pure delete operation or
N+2 for an insert or replace or update where N is the number of
columns in the table. In the previous sentence, N includes any
hidden columns.
</para>
<para>
Every argv entry will have a non-NULL value in C but may contain
the SQL value NULL. In other words, it is always true that
argv[i]!=0 for i between 0 and argc-1. However, it might be the
case that sqlite3_value_type(argv[i])==SQLITE_NULL.
</para>
<para>
The argv[0] parameter is the rowid of a row in the virtual table
to be deleted. If argv[0] is an SQL NULL, then no deletion occurs.
</para>
<para>
The argv[1] parameter is the rowid of a new row to be inserted into
the virtual table. If argv[1] is an SQL NULL, then the
implementation must choose a rowid for the newly inserted row.
Subsequent argv[] entries contain values of the columns of the
virtual table, in the order that the columns were declared. The
number of columns will match the table declaration that the
xConnect or xCreate method made using the sqlite3_declare_vtab()
call. All hidden columns are included.
</para>
<para>
When doing an insert without a rowid (argc>1, argv[1] is an SQL
NULL), the implementation must set *pRowid to the rowid of the
newly inserted row; this will become the value returned by the
sqlite3_last_insert_rowid() function. Setting this value in all the
other cases is a harmless no-op; the SQLite engine ignores the
*pRowid return value if argc==1 or argv[1] is not an SQL NULL.
</para>
<para>
Each call to xUpdate will fall into one of cases shown below. Note
that references to argv[i] mean the SQL value held within the
argv[i] object, not the argv[i] object itself.
</para>
<code>
argc = 1
</code>
<para>
The single row with rowid equal to argv[0] is deleted. No
insert occurs.
</para>
<code>
argc > 1
argv[0] = NULL
</code>
<para>
A new row is inserted with a rowid argv[1] and column
values in argv[2] and following. If argv[1] is an SQL NULL,
the a new unique rowid is generated automatically.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] = argv[1]
</code>
<para>
The row with rowid argv[0] is updated with new values in
argv[2] and following parameters.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] ? argv[1]
</code>
<para>
The row with rowid argv[0] is updated with rowid argv[1]
and new values in argv[2] and following parameters. This
will occur when an SQL statement updates a rowid, as in
the statement:
</para>
<code>
UPDATE table SET rowid=rowid+1 WHERE ...;
</code>
<para>
The xUpdate method must return SQLITE_OK if and only if it is
successful. If a failure occurs, the xUpdate must return an
appropriate error code. On a failure, the pVTab->zErrMsg element
may optionally be replaced with error message text stored in memory
allocated from SQLite using functions such as sqlite3_mprintf() or
sqlite3_malloc().
</para>
<para>
If the xUpdate method violates some constraint of the virtual table
(including, but not limited to, attempting to store a value of the
wrong datatype, attempting to store a value that is too large or
too small, or attempting to change a read-only value) then the
xUpdate must fail with an appropriate error code.
</para>
<para>
There might be one or more sqlite3_vtab_cursor objects open and in
use on the virtual table instance and perhaps even on the row of
the virtual table when the xUpdate method is invoked. The
implementation of xUpdate must be prepared for attempts to delete
or modify rows of the table out from other existing cursors. If the
virtual table cannot accommodate such changes, the xUpdate method
must return an error code.
</para>
<para>
The xUpdate method is optional. If the xUpdate pointer in the
sqlite3_module for a virtual table is a NULL pointer, then the
virtual table is read-only.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="argc">
The number of new or modified column values contained in
<paramref name="argv" />.
</param>
<param name="argv">
The array of native pointers to sqlite3_value structures containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
<para>
This method begins a transaction on a virtual table. This is method
is optional. The xBegin pointer of sqlite3_module may be NULL.
</para>
<para>
This method is always followed by one call to either the xCommit or
xRollback method. Virtual table transactions do not nest, so the
xBegin method will not be invoked more than once on a single
virtual table without an intervening call to either xCommit or
xRollback. Multiple calls to other methods can and likely will
occur in between the xBegin and the corresponding xCommit or
xRollback.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)">
<summary>
<para>
This method signals the start of a two-phase commit on a virtual
table. This is method is optional. The xSync pointer of
sqlite3_module may be NULL.
</para>
<para>
This method is only invoked after call to the xBegin method and
prior to an xCommit or xRollback. In order to implement two-phase
commit, the xSync method on all virtual tables is invoked prior to
invoking the xCommit method on any virtual table. If any of the
xSync methods fail, the entire transaction is rolled back.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to commit. This is
method is optional. The xCommit pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin and
xSync.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to rollback. This is
method is optional. The xRollback pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="nArg">
The number of arguments to the function being sought.
</param>
<param name="zName">
The name of the function being sought.
</param>
<param name="callback">
Upon success, this parameter must be modified to contain the
delegate responsible for implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="callback" />.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="zNew">
The native pointer to the UTF-8 encoded string containing the new
name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="T:System.Data.SQLite.ISQLiteManagedModule">
<summary>
This interface represents a virtual table implementation written in
managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMemory">
<summary>
This class contains static methods that are used to allocate,
manipulate, and free native memory provided by the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)">
<summary>
Allocates at least the specified number of bytes of native memory
via the SQLite core library sqlite3_malloc() function and returns
the resulting native pointer.
</summary>
<param name="size">
The number of bytes to allocate.
</param>
<returns>
The native pointer that points to a block of memory of at least the
specified size -OR- <see cref="F:System.IntPtr.Zero"/> if the memory could
not be allocated.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Size(System.IntPtr)">
<summary>
Gets and returns the actual size of the specified memory block that
was previously obtained from the <see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
<returns>
The actual size, in bytes, of the memory block specified via the
native pointer.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Free(System.IntPtr)">
<summary>
Frees a memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteString">
<summary>
This class contains static methods that are used to deal with native
UTF-8 string pointers to be used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.ThirtyBits">
<summary>
This is the maximum possible length for the native UTF-8 encoded
strings used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.Utf8Encoding">
<summary>
This is the <see cref="T:System.Text.Encoding"/> object instance used to handle
conversions from/to UTF-8.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetUtf8BytesFromString(System.String)">
<summary>
Converts the specified managed string into the UTF-8 encoding and
returns the array of bytes containing its representation in that
encoding.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The array of bytes containing the representation of the managed
string in the UTF-8 encoding or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetStringFromUtf8Bytes(System.Byte[])">
<summary>
Converts the specified array of bytes representing a string in the
UTF-8 encoding and returns a managed string.
</summary>
<param name="bytes">
The array of bytes to convert.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.ProbeForUtf8ByteLength(System.IntPtr,System.Int32)">
<summary>
Probes a native pointer to a string in the UTF-8 encoding for its
terminating NUL character, within the specified length limit.
</summary>
<param name="pValue">
The native NUL-terminated string pointer.
</param>
<param name="limit">
The maximum length of the native string, in bytes.
</param>
<returns>
The length of the native string, in bytes -OR- zero if the length
could not be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr)">
<summary>
Converts the specified native NUL-terminated UTF-8 string pointer
into a managed string.
</summary>
<param name="pValue">
The native NUL-terminated UTF-8 string pointer.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr,System.Int32)">
<summary>
Converts the specified native UTF-8 string pointer of the specified
length into a managed string.
</summary>
<param name="pValue">
The native UTF-8 string pointer.
</param>
<param name="length">
The length of the native string, in bytes.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrFromString(System.String)">
<summary>
Converts the specified managed string into a native NUL-terminated
UTF-8 string pointer using memory obtained from the SQLite core
library.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The native NUL-terminated UTF-8 string pointer or
<see cref="F:System.IntPtr.Zero"/> upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringArrayFromUtf8SizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native NUL-terminated UTF-8 string
pointers into an array of managed strings.
</summary>
<param name="argc">
The number of elements in the logical array of native
NUL-terminated UTF-8 string pointers.
</param>
<param name="argv">
The native pointer to the logical array of native NUL-terminated
UTF-8 string pointers to convert.
</param>
<returns>
The array of managed strings or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrArrayFromStringArray(System.String[])">
<summary>
Converts an array of managed strings into an array of native
NUL-terminated UTF-8 string pointers.
</summary>
<param name="values">
The array of managed strings to convert.
</param>
<returns>
The array of native NUL-terminated UTF-8 string pointers or null
upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBytes">
<summary>
This class contains static methods that are used to deal with native
pointers to memory blocks that logically contain arrays of bytes to be
used with the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.FromIntPtr(System.IntPtr,System.Int32)">
<summary>
Converts a native pointer to a logical array of bytes of the
specified length into a managed byte array.
</summary>
<param name="pValue">
The native pointer to the logical array of bytes to convert.
</param>
<param name="length">
The length, in bytes, of the logical array of bytes to convert.
</param>
<returns>
The managed byte array or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.ToIntPtr(System.Byte[])">
<summary>
Converts a managed byte array into a native pointer to a logical
array of bytes.
</summary>
<param name="value">
The managed byte array to convert.
</param>
<returns>
The native pointer to a logical byte array or null upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteMarshal">
<summary>
This class contains static methods that are used to perform several
low-level data marshalling tasks between native and managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.IntPtrForOffset(System.IntPtr,System.Int32)">
<summary>
Returns a new <see cref="T:System.IntPtr"/> object instance based on the
specified <see cref="T:System.IntPtr"/> object instance and an integer
offset.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location that the new
<see cref="T:System.IntPtr"/> object instance should point to.
</param>
<returns>
The new <see cref="T:System.IntPtr"/> object instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.RoundUp(System.Int32,System.Int32)">
<summary>
Rounds up an integer size to the next multiple of the alignment.
</summary>
<param name="size">
The size, in bytes, to be rounded up.
</param>
<param name="alignment">
The required alignment for the return value.
</param>
<returns>
The size, in bytes, rounded up to the next multiple of the
alignment. This value may end up being the same as the original
size.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.NextOffsetOf(System.Int32,System.Int32,System.Int32)">
<summary>
Determines the offset, in bytes, of the next structure member.
</summary>
<param name="offset">
The offset, in bytes, of the current structure member.
</param>
<param name="size">
The size, in bytes, of the current structure member.
</param>
<param name="alignment">
The alignment, in bytes, of the next structure member.
</param>
<returns>
The offset, in bytes, of the next structure member.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadInt32(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Int32"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.Int32"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadDouble(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Double"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> to be read is located.
</param>
<returns>
The <see cref="T:System.Double"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadIntPtr(System.IntPtr,System.Int32)">
<summary>
Reads an <see cref="T:System.IntPtr"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.IntPtr"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt32(System.IntPtr,System.Int32,System.Int32)">
<summary>
Writes an <see cref="T:System.Int32"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int32"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt64(System.IntPtr,System.Int32,System.Int64)">
<summary>
Writes an <see cref="T:System.Int64"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int64"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int64"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteDouble(System.IntPtr,System.Int32,System.Double)">
<summary>
Writes a <see cref="T:System.Double"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Double"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteIntPtr(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Writes a <see cref="T:System.IntPtr"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.IntPtr"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.GetHashCode(System.Object,System.Boolean)">
<summary>
Generates a hash code value for the object.
</summary>
<param name="value">
The object instance used to calculate the hash code.
</param>
<param name="identity">
Non-zero if different object instances with the same value should
generate different hash codes, where applicable. This parameter
has no effect on the .NET Compact Framework.
</param>
<returns>
The hash code value -OR- zero if the object is null.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteModule">
<summary>
This class represents a managed virtual table module implementation.
It is not sealed and must be used as the base class for any
user-defined virtual table module classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.DefaultModuleVersion">
<summary>
The default version of the native sqlite3_module structure in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.nativeModule">
<summary>
This field is used to store the native sqlite3_module structure
associated with this object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.destroyModule">
<summary>
This field is used to store the destructor delegate to be passed to
the SQLite core library via the sqlite3_create_disposable_module()
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.disposableModule">
<summary>
This field is used to store a pointer to the native sqlite3_module
structure returned by the sqlite3_create_disposable_module
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.tables">
<summary>
This field is used to store the virtual table instances associated
with this module. The native pointer to the sqlite3_vtab derived
structure is used to key into this collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.cursors">
<summary>
This field is used to store the virtual table cursor instances
associated with this module. The native pointer to the
sqlite3_vtab_cursor derived structure is used to key into this
collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.functions">
<summary>
This field is used to store the virtual table function instances
associated with this module. The case-insensitive function name
and the number of arguments (with -1 meaning "any") are used to
construct the string that is used to key into this collection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateDisposableModule(System.IntPtr)">
<summary>
Calls the native SQLite core library in order to create a new
disposable module containing the implementation of a virtual table.
</summary>
<param name="pDb">
The native database connection pointer to use.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroyModule(System.IntPtr)">
<summary>
This method is called by the SQLite core library when the native
module associated with this object instance is being destroyed due
to its parent connection being closed. It may also be called by
the "vtshim" module if/when the sqlite3_dispose_module() function
is called.
</summary>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule">
<summary>
Creates and returns the native sqlite_module structure using the
configured (or default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation.
</summary>
<returns>
The native sqlite_module structure using the configured (or
default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule(System.Data.SQLite.ISQLiteNativeModule)">
<summary>
Creates and returns the native sqlite_module structure using the
specified <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
use.
</param>
<returns>
The native sqlite_module structure using the specified
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CopyNativeModule(System.Data.SQLite.UnsafeNativeMethods.sqlite3_module)">
<summary>
Creates a copy of the specified
<see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object instance,
using default implementations for the contained delegates when
necessary.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance to copy.
</param>
<returns>
The new <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
Calls one of the virtual table initialization methods.
</summary>
<param name="create">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method will be called.
</param>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DestroyOrDisconnect(System.Boolean,System.IntPtr)">
<summary>
Calls one of the virtual table finalization methods.
</summary>
<param name="destroy">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/>
method; otherwise, the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method will be
called.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTable,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
used to get the native pointer to the sqlite3_vtab derived
structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTableCursor,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetNativeModuleImpl">
<summary>
Gets and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation to be used when creating the native sqlite3_module
structure. Derived classes may override this method to supply an
alternate implementation for the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
be used when populating the native sqlite3_module structure. If
the returned value is null, the private methods provided by the
<see cref="T:System.Data.SQLite.SQLiteModule"/> class and relating to the
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface will be used to
create the necessary delegates.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateNativeModuleImpl">
<summary>
Creates and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation corresponding to the current
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation
corresponding to the current <see cref="T:System.Data.SQLite.SQLiteModule"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateTable">
<summary>
Allocates a native sqlite3_vtab derived structure and returns a
native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.ZeroTable(System.IntPtr)">
<summary>
Zeros out the fields of a native sqlite3_vtab derived structure.
</summary>
<param name="pVtab">
The native pointer to the native sqlite3_vtab derived structure to
zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeTable(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab structure using the provided native
pointer to it.
</summary>
<param name="pVtab">
A native pointer to a native sqlite3_vtab derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateCursor">
<summary>
Allocates a native sqlite3_vtab_cursor derived structure and
returns a native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab_cursor derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeCursor(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab_cursor structure using the provided
native pointer to it.
</summary>
<param name="pCursor">
A native pointer to a native sqlite3_vtab_cursor derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.Data.SQLite.SQLiteModule,System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromIntPtr(System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object
instance based on the native pointer to the sqlite3_vtab derived
structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance or null if
the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableToIntPtr(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab derived
structure and creates an association between it and the specified
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance to be used
when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorFromIntPtr(System.IntPtr,System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/>
object instance based on the native pointer to the
sqlite3_vtab_cursor derived structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance or null
if the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorToIntPtr(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab_cursor
derived structure and creates an association between it and the
specified <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance to be
used when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab_cursor derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetFunctionKey(System.Int32,System.String,System.Data.SQLite.SQLiteFunction)">
<summary>
Deterimines the key that should be used to identify and store the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance for the virtual table
(i.e. to be returned via the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method).
</summary>
<param name="argumentCount">
The number of arguments to the virtual table function.
</param>
<param name="name">
The name of the virtual table function.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance associated with
this virtual table function.
</param>
<returns>
The string that should be used to identify and store the virtual
table function instance. This method cannot return null. If null
is returned from this method, the behavior is undefined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareTable(System.Data.SQLite.SQLiteConnection,System.String,System.String@)">
<summary>
Attempts to declare the schema for the virtual table using the
specified database connection.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table. This parameter may not
be null.
</param>
<param name="sql">
The string containing the CREATE TABLE statement that completely
describes the schema for the virtual table. This parameter may not
be null.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareFunction(System.Data.SQLite.SQLiteConnection,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual
table function in response to a call into the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table
methods.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon
failure, it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteVirtualTableCursor,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Double})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedCost">
The estimated cost value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Int64})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedRows">
The estimated rows value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrorsNoThrow">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptionsNoThrow">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method,
and the <see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrors">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptions">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method, and the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModule.SQLiteNativeModule">
<summary>
This class implements the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface by forwarding those method calls to the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance it contains. If the
contained <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is null, all
the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> methods simply generate an
error.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogErrors">
<summary>
This is the value that is always used for the "logErrors"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogExceptions">
<summary>
This is the value that is always used for the "logExceptions"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableErrorMessage">
<summary>
This is the error message text used when the contained
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is not available
for any reason.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.module">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.#ctor(System.Data.SQLite.SQLiteModule)">
<summary>
Constructs an instance of this class.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableTableError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableCursorError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived
structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleCommon">
<summary>
This class contains some virtual methods that may be useful for other
virtual table classes. It specifically does NOT implement any of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleNoop">
<summary>
This class implements a virtual table module that does nothing by
providing "empty" implementations for all of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods. The result
codes returned by these "empty" method implementations may be
controlled on a per-method basis by using and/or overriding the
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)"/>, and
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)"/> methods from within derived classes.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleNoop.resultCodes">
<summary>
This field is used to store the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
values to return, on a per-method basis, for all methods that are
part of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode">
<summary>
Determines the default <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to be
returned by methods of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface that lack an overridden implementation in all classes
derived from the <see cref="T:System.Data.SQLite.SQLiteModuleNoop"/> class.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by all <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods unless
a more specific result code has been set for that interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)">
<summary>
Determines the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation. If no
specific <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value is available (or set)
for the specified method, the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value
returned by the <see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/> method will be
returned instead.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="argumentCount">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="name">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="function">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.declareSql">
<summary>
The CREATE TABLE statement used to declare the schema for the
virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetSqlForDeclareTable">
<summary>
Determines the SQL statement used to declare the virtual table.
This method should be overridden in derived classes if they require
a custom virtual table schema.
</summary>
<returns>
The SQL statement used to declare the virtual table -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CursorTypeMismatchError(System.Data.SQLite.SQLiteVirtualTableCursor,System.Type)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor is of the wrong type.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<param name="type">
The <see cref="T:System.Type"/> that the virtual table cursor should be.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetStringFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the string to return as the column value for the object
instance value.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a string representation for.
</param>
<returns>
The string representation of the specified object instance or null
upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.MakeRowId(System.Int32,System.Int32)">
<summary>
Constructs an <see cref="T:System.Int64"/> unique row identifier from two
<see cref="T:System.Int32"/> values. The first <see cref="T:System.Int32"/> value
must contain the row sequence number for the current row and the
second value must contain the hash code of the key column value
for the current row.
</summary>
<param name="rowIndex">
The integer row sequence number for the current row.
</param>
<param name="hashCode">
The hash code of the key column value for the current row.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetRowIdFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the unique row identifier for the current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a unique row identifier for.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.enumerator">
<summary>
The <see cref="T:System.Collections.IEnumerator"/> instance provided when this cursor
was created.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.endOfEnumerator">
<summary>
This value will be non-zero if false has been returned from the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.IEnumerator)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.IEnumerator"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.MoveNext">
<summary>
Advances to the next row of the virtual table cursor using the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
<returns>
Non-zero if the current row is valid; zero otherwise. If zero is
returned, no further rows are available.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Reset">
<summary>
Resets the virtual table cursor position, also invalidating the
current row, using the <see cref="M:System.Collections.IEnumerator.Reset"/> method of
the <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckClosed">
<summary>
Throws an <see cref="T:System.InvalidOperationException"/> if the virtual
table cursor has been closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.IEnumerator.Current"/> property of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.EndOfEnumerator">
<summary>
Returns non-zero if the end of the virtual table cursor has been
seen (i.e. no more rows are available, including the current one).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.IsOpen">
<summary>
Returns non-zero if the virtual table cursor is open.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleEnumerable">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.IEnumerable"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.IEnumerable"/> object instance. The following short
example shows it being used to treat an array of strings as a table
data source:
<code>
public static class Sample
{
public static void Main()
{
using (SQLiteConnection connection = new SQLiteConnection(
"Data Source=:memory:;"))
{
connection.Open();
connection.CreateModule(new SQLiteModuleEnumerable(
"sampleModule", new string[] { "one", "two", "three" }));
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText =
"CREATE VIRTUAL TABLE t1 USING sampleModule;";
command.ExecuteNonQuery();
}
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT * FROM t1;";
using (SQLiteDataReader dataReader = command.ExecuteReader())
{
while (dataReader.Read())
Console.WriteLine(dataReader[0].ToString());
}
}
connection.Close();
}
}
}
</code>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.enumerable">
<summary>
The <see cref="T:System.Collections.IEnumerable"/> instance containing the backing data
for the virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CursorEndOfEnumeratorError(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor has no current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.enumerator">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance provided when this
cursor was created.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.Generic.IEnumerator{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.System#Collections#Generic#IEnumerator{T}#Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property of the
<see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.enumerable">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance containing the backing
data for the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.#ctor(System.String,System.Collections.Generic.IEnumerable{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/References/Windows/x64/System.Data.SQLite.DLL
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/References/Windows/x64/System.Data.SQLite.XML
0,0 → 1,14948
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.SQLite</name>
</assembly>
<members>
<member name="T:System.Data.SQLite.AssemblySourceIdAttribute">
<summary>
Defines a source code identifier custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceIdAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code identifier value.
</summary>
<param name="value">
The source code identifier value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceIdAttribute.SourceId">
<summary>
Gets the source code identifier value.
</summary>
</member>
<member name="T:System.Data.SQLite.AssemblySourceTimeStampAttribute">
<summary>
Defines a source code time-stamp custom attribute for an assembly
manifest.
</summary>
</member>
<member name="M:System.Data.SQLite.AssemblySourceTimeStampAttribute.#ctor(System.String)">
<summary>
Constructs an instance of this attribute class using the specified
source code time-stamp value.
</summary>
<param name="value">
The source code time-stamp value to use.
</param>
</member>
<member name="P:System.Data.SQLite.AssemblySourceTimeStampAttribute.SourceTimeStamp">
<summary>
Gets the source code time-stamp value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteLogCallback">
<summary>
This is the method signature for the SQLite core library logging callback
function for use with sqlite3_log() and the SQLITE_CONFIG_LOG.
WARNING: This delegate is used more-or-less directly by native code, do
not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="T:System.Data.SQLite.SQLite3">
<summary>
This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteBase">
<summary>
This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement
a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConvert">
<summary>
This base class provides datatype conversion services for the SQLite provider.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultDbType">
<summary>
The fallback default database type when one cannot be obtained from an
existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FullFormat">
<summary>
The format string for DateTime values when using the InvariantCulture or CurrentCulture formats.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultTypeName">
<summary>
The fallback default database type name when one cannot be obtained from
an existing connection instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.UnixEpoch">
<summary>
The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.OleAutomationEpochAsJulianDay">
<summary>
The value of the OLE Automation epoch represented as a Julian day. This
field cannot be removed as the test suite relies upon it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MinimumJd">
<summary>
This is the minimum Julian Day value supported by this library
(148731163200000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert.MaximumJd">
<summary>
This is the maximum Julian Day value supported by this library
(464269060799000).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormats">
<summary>
An array of ISO-8601 DateTime formats that we support parsing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatUtc">
<summary>
The internal default format for UTC DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatLocal">
<summary>
The internal default format for local DateTime values when converting
to a string.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._utf8">
<summary>
An UTF-8 Encoding instance, so we can convert strings to and from UTF-8
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormat">
<summary>
The default DateTime format for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeKind">
<summary>
The default DateTimeKind for this instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatString">
<summary>
The default DateTime format string for this instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Initializes the conversion class
</summary>
<param name="fmt">The default date/time format to use for this instance</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="fmtString">The DateTime format string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.String)">
<summary>
Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character.
</summary>
<param name="sourceText">The string to convert to UTF-8</param>
<returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.DateTime)">
<summary>
Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
</summary>
<remarks>
This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the
string result.
</remarks>
<param name="dateTimeValue">The DateTime to convert.</param>
<returns>The UTF-8 encoded string, including a 0 terminating byte at the end of the array.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.UTF8ToString(System.IntPtr,System.Int32)">
<summary>
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
</summary>
<param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
<param name="nativestringlen">The number of bytes to decode</param>
<returns>A string containing the translated character(s)</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.isValidJd(System.Int64)">
<summary>
Checks if the specified <see cref="T:System.Int64"/> is within the
supported range for a Julian Day value.
</summary>
<param name="jd">
The Julian Day value to check.
</param>
<returns>
Non-zero if the specified Julian Day value is in the supported
range; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DoubleToJd(System.Double)">
<summary>
Converts a Julian Day value from a <see cref="T:System.Double"/> to an
<see cref="T:System.Int64"/>.
</summary>
<param name="julianDay">
The Julian Day <see cref="T:System.Double"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Int64"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.JdToDouble(System.Int64)">
<summary>
Converts a Julian Day value from an <see cref="T:System.Int64"/> to a
<see cref="T:System.Double"/>.
</summary>
<param name="jd">
The Julian Day <see cref="T:System.Int64"/> value to convert.
</param>
<returns>
The resulting Julian Day <see cref="T:System.Double"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeYMD(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeYMD" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day is out of the supported range. If this value is null,
an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the year, month, and
day values that are closest to the specified Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeHMS(System.Int64,System.Nullable{System.DateTime})">
<summary>
Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
This method was translated from the "computeHMS" function in the
"date.c" file belonging to the SQLite core library.
</summary>
<param name="jd">
The Julian Day value to convert.
</param>
<param name="badValue">
The <see cref="T:System.DateTime"/> value to return in the event that the
Julian Day value is out of the supported range. If this value is
null, an exception will be thrown instead.
</param>
<returns>
A <see cref="T:System.DateTime"/> value that contains the hour, minute, and
second, and millisecond values that are closest to the specified
Julian Day value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.computeJD(System.DateTime)">
<summary>
Converts a <see cref="T:System.DateTime"/> to a Julian Day value.
This method was translated from the "computeJD" function in
the "date.c" file belonging to the SQLite core library.
Since the range of Julian Day values supported by this method
includes all possible (valid) values of a <see cref="T:System.DateTime"/>
value, it should be extremely difficult for this method to
raise an exception or return an undefined result.
</summary>
<param name="dateTime">
The <see cref="T:System.DateTime"/> value to convert. This value
will be within the range of <see cref="F:System.DateTime.MinValue"/>
(00:00:00.0000000, January 1, 0001) to
<see cref="F:System.DateTime.MaxValue"/> (23:59:59.9999999, December
31, 9999).
</param>
<returns>
The nearest Julian Day value corresponding to the specified
<see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the specified DateTimeFormat,
DateTimeKind and DateTimeFormatString.
</summary>
<remarks>
Acceptable ISO8601 DateTime formats are:
<list type="bullet">
<item><description>THHmmssK</description></item>
<item><description>THHmmK</description></item>
<item><description>HH:mm:ss.FFFFFFFK</description></item>
<item><description>HH:mm:ssK</description></item>
<item><description>HH:mmK</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-dd HH:mm:ssK</description></item>
<item><description>yyyy-MM-dd HH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
<item><description>yyyy-MM-ddTHH:mmK</description></item>
<item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
<item><description>yyyyMMddHHmmssK</description></item>
<item><description>yyyyMMddHHmmK</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
<item><description>THHmmss</description></item>
<item><description>THHmm</description></item>
<item><description>HH:mm:ss.FFFFFFF</description></item>
<item><description>HH:mm:ss</description></item>
<item><description>HH:mm</description></item>
<item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-dd HH:mm:ss</description></item>
<item><description>yyyy-MM-dd HH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
<item><description>yyyy-MM-ddTHH:mm</description></item>
<item><description>yyyy-MM-ddTHH:mm:ss</description></item>
<item><description>yyyyMMddHHmmss</description></item>
<item><description>yyyyMMddHHmm</description></item>
<item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
<item><description>yyyy-MM-dd</description></item>
<item><description>yyyyMMdd</description></item>
<item><description>yy-MM-dd</description></item>
</list>
If the string cannot be matched to one of the above formats -OR-
the DateTimeFormatString if one was provided, an exception will
be thrown.
</remarks>
<param name="dateText">The string containing either a long integer number of 100-nanosecond units since
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
culture-independent formatted date and time string, a formatted date and time string in the current
culture, or an ISO8601-format string.</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>A DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double,System.DateTimeKind)">
<summary>
Converts a julianday value into a DateTime
</summary>
<param name="julianDay">The value to convert</param>
<param name="kind">The DateTimeKind to use.</param>
<returns>A .NET DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int32,System.DateTimeKind)">
<summary>
Converts the specified number of seconds from the Unix epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="seconds">
The number of whole seconds since the Unix epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int64,System.DateTimeKind)">
<summary>
Converts the specified number of ticks since the epoch into a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="ticks">
The number of whole ticks since the epoch.
</param>
<param name="kind">
Either Utc or Local time.
</param>
<returns>
The new <see cref="T:System.DateTime"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToJulianDay(System.DateTime)">
<summary>
Converts a DateTime struct to a JulianDay double
</summary>
<param name="value">The DateTime to convert</param>
<returns>The JulianDay value the Datetime represents</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToUnixEpoch(System.DateTime)">
<summary>
Converts a DateTime struct to the whole number of seconds since the
Unix epoch.
</summary>
<param name="value">The DateTime to convert</param>
<returns>The whole number of seconds since the Unix epoch</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDateTimeKindFormat(System.DateTimeKind,System.String)">
<summary>
Returns the DateTime format string to use for the specified DateTimeKind.
If <paramref name="formatString" /> is not null, it will be returned verbatim.
</summary>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>
The DateTime format string to use for the specified DateTimeKind.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
<summary>
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
and DateTimeFormatString specified for the connection when it was opened.
</summary>
<param name="dateValue">The DateTime value to convert</param>
<param name="format">The SQLiteDateFormats to use.</param>
<param name="kind">The DateTimeKind to use.</param>
<param name="formatString">The DateTime format string to use.</param>
<returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.IntPtr,System.Int32)">
<summary>
Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime.
</summary>
<remarks>
This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls
ToDateTime() on the string to return a DateTime.
</remarks>
<param name="ptr">A pointer to the UTF-8 encoded string</param>
<param name="len">The length in bytes of the string</param>
<returns>The parsed DateTime value</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.Split(System.String,System.Char)">
<summary>
Smart method of splitting a string. Skips quoted elements, removes the quotes.
</summary>
<remarks>
This split function works somewhat like the String.Split() function in that it breaks apart a string into
pieces and returns the pieces as an array. The primary differences are:
<list type="bullet">
<item><description>Only one character can be provided as a separator character</description></item>
<item><description>Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed.</description></item>
</list>
Thus, if splitting the following string looking for a comma:<br/>
One,Two, "Three, Four", Five<br/>
<br/>
The resulting array would contain<br/>
[0] One<br/>
[1] Two<br/>
[2] Three, Four<br/>
[3] Five<br/>
<br/>
Note that the leading and trailing spaces were removed from each item during the split.
</remarks>
<param name="source">Source string to split apart</param>
<param name="separator">Separator character</param>
<returns>A string array of the split up elements</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.NewSplit(System.String,System.Char,System.Boolean,System.String@)">
<summary>
Splits the specified string into multiple strings based on a separator
and returns the result as an array of strings.
</summary>
<param name="value">
The string to split into pieces based on the separator character. If
this string is null, null will always be returned. If this string is
empty, an array of zero strings will always be returned.
</param>
<param name="separator">
The character used to divide the original string into sub-strings.
This character cannot be a backslash or a double-quote; otherwise, no
work will be performed and null will be returned.
</param>
<param name="keepQuote">
If this parameter is non-zero, all double-quote characters will be
retained in the returned list of strings; otherwise, they will be
dropped.
</param>
<param name="error">
Upon failure, this parameter will be modified to contain an appropriate
error message.
</param>
<returns>
The new array of strings or null if the input string is null -OR- the
separator character is a backslash or a double-quote -OR- the string
contains an unbalanced backslash or double-quote character.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToStringWithProvider(System.Object,System.IFormatProvider)">
<summary>
Queries and returns the string representation for an object, using the
specified (or current) format provider.
</summary>
<param name="obj">
The object instance to return the string representation for.
</param>
<param name="provider">
The format provider to use -OR- null if the current format provider for
the thread should be used instead.
</param>
<returns>
The string representation for the object instance -OR- null if the
object instance is also null.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object,System.IFormatProvider,System.Boolean)">
<summary>
Attempts to convert an arbitrary object to the Boolean data type.
Null object values are converted to false. Throws an exception
upon failure.
</summary>
<param name="obj">
The object value to convert.
</param>
<param name="provider">
The format provider to use.
</param>
<param name="viaFramework">
If non-zero, a string value will be converted using the
<see cref="M:System.Convert.ToBoolean(System.Object,System.IFormatProvider)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)"/>
method will be used.
</param>
<returns>
The converted boolean value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object)">
<summary>
Convert a value to true or false.
</summary>
<param name="source">A string or number representing true or false</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)">
<summary>
Convert a string to true or false.
</summary>
<param name="source">A string representing true or false</param>
<returns></returns>
<remarks>
"yes", "no", "y", "n", "0", "1", "on", "off" as well as Boolean.FalseString and Boolean.TrueString will all be
converted to a proper boolean value.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SQLiteTypeToType(System.Data.SQLite.SQLiteType)">
<summary>
Converts a SQLiteType to a .NET Type object
</summary>
<param name="t">The SQLiteType to convert</param>
<returns>Returns a .NET Type object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToDbType(System.Type)">
<summary>
For a given intrinsic type, return a DbType
</summary>
<param name="typ">The native type to convert</param>
<returns>The corresponding (closest match) DbType</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToColumnSize(System.Data.DbType)">
<summary>
Returns the ColumnSize for the given DbType
</summary>
<param name="typ">The DbType to get the size of</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultTypeName(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default database type name to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default database type name to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultTypeNameWarning(System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags,System.String)">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database type name.
</summary>
<param name="dbType">
The database value type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="typeName">
The textual name of the database type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DefaultDbTypeWarning(System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Nullable{System.Data.DbType})">
<summary>
If applicable, issues a trace log message warning about falling back to
the default database value type.
</summary>
<param name="typeName">
The textual name of the database type.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<param name="dbType">
The database value type.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToTypeName(System.Data.SQLite.SQLiteConnection,System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given database value type, return the "closest-match" textual database type name.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="dbType">The database value type.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The type name or an empty string if it cannot be determined.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToType(System.Data.DbType)">
<summary>
Convert a DbType to a Type
</summary>
<param name="typ">The DbType to convert from</param>
<returns>The closest-match .NET type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeToAffinity(System.Type)">
<summary>
For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types.
</summary>
<param name="typ">The type to evaluate</param>
<returns>The SQLite type affinity for that type.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetSQLiteDbTypeMap">
<summary>
Builds and returns a map containing the database column types
recognized by this provider.
</summary>
<returns>
A map containing the database column types recognized by this
provider.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.IsStringDbType(System.Data.DbType)">
<summary>
Determines if a database type is considered to be a string.
</summary>
<param name="type">
The database type to check.
</param>
<returns>
Non-zero if the database type is considered to be a string, zero
otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.SettingValueToString(System.Object)">
<summary>
Determines and returns the runtime configuration setting string that
should be used in place of the specified object value.
</summary>
<param name="value">
The object value to convert to a string.
</param>
<returns>
Either the string to use in place of the object value -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultDbType(System.Data.SQLite.SQLiteConnection)">
<summary>
Determines the default <see cref="T:System.Data.DbType"/> value to be used when a
per-connection value is not available.
</summary>
<param name="connection">
The connection context for type mappings, if any.
</param>
<returns>
The default <see cref="T:System.Data.DbType"/> value to use.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeNull(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DBNull"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DBNull"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeInt64(System.String)">
<summary>
Determines if the specified textual value appears to be an
<see cref="T:System.Int64"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like an <see cref="T:System.Int64"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDouble(System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.Double"/> value.
</summary>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.Double"/> value,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDateTime(System.Data.SQLite.SQLiteConvert,System.String)">
<summary>
Determines if the specified textual value appears to be a
<see cref="T:System.DateTime"/> value.
</summary>
<param name="convert">
The <see cref="T:System.Data.SQLite.SQLiteConvert"/> object instance configured with
the chosen <see cref="T:System.DateTime"/> format.
</param>
<param name="text">
The textual value to inspect.
</param>
<returns>
Non-zero if the text looks like a <see cref="T:System.DateTime"/> in the
configured format, zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConvert.TypeNameToDbType(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
For a given textual database type name, return the "closest-match" database type.
This method is called during query result processing; therefore, its performance
is critical.
</summary>
<param name="connection">The connection context for custom type mappings, if any.</param>
<param name="typeName">The textual name of the database type to match.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>The .NET DBType the text evaluates to.</returns>
</member>
<member name="F:System.Data.SQLite.SQLiteBase.COR_E_EXCEPTION">
<summary>
The error code used for logging exceptions caught in user-provided
code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different config options.
We depend on auto initialization to recover.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if a database connection is open.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteOpenFlagsEnum,System.Int32,System.Boolean)">
<summary>
Opens a database.
</summary>
<remarks>
Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
to bind all attributed user-defined functions and collating sequences to the new connection.
</remarks>
<param name="strFilename">The filename of the database to open. SQLite automatically creates it if it doesn't exist.</param>
<param name="vfsName">The name of the VFS to use -OR- null to use the default VFS.</param>
<param name="connectionFlags">The flags associated with the parent connection object</param>
<param name="openFlags">The open flags to use when creating the connection</param>
<param name="maxPoolSize">The maximum size of the pool for the given filename</param>
<param name="usePool">If true, the connection can be pulled from the connection pool</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Close(System.Boolean)">
<summary>
Closes the currently-open database.
</summary>
<remarks>
After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
memory associated with the user-defined functions and collating sequences tied to the closed connection.
</remarks>
<param name="canThrow">Non-zero if the operation is allowed to throw exceptions, zero otherwise.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetTimeout(System.Int32)">
<summary>
Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command.
</summary>
<param name="nTimeoutMS">The number of milliseconds to wait before returning SQLITE_BUSY</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError">
<summary>
Returns the text of the last error issued by SQLite
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.GetLastError(System.String)">
<summary>
Returns the text of the last error issued by SQLite -OR- the specified default error text if
none is available from the SQLite core library.
</summary>
<param name="defValue">
The error text to return in the event that one is not available from the SQLite core library.
</param>
<returns>
The error text.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ClearPool">
<summary>
When pooling is enabled, force this connection to be disposed rather than returned to the pool
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CountPool">
<summary>
When pooling is enabled, returns the number of pool entries matching the current file name.
</summary>
<returns>The number of pool entries matching the current file name.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Prepare(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteStatement,System.UInt32,System.String@)">
<summary>
Prepares a SQL statement for execution.
</summary>
<param name="cnn">The source connection preparing the command. Can be null for any caller except LINQ</param>
<param name="strSql">The SQL command text to prepare</param>
<param name="previous">The previous statement in a multi-statement command, or null if no previous statement exists</param>
<param name="timeoutMS">The timeout to wait before aborting the prepare</param>
<param name="strRemain">The remainder of the statement that was not processed. Each call to prepare parses the
SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned
here for a subsequent call to Prepare() until all the text has been processed.</param>
<returns>Returns an initialized SQLiteStatement.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Step(System.Data.SQLite.SQLiteStatement)">
<summary>
Steps through a prepared statement.
</summary>
<param name="stmt">The SQLiteStatement to step through</param>
<returns>True if a row was returned, False if not.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Reset(System.Data.SQLite.SQLiteStatement)">
<summary>
Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA,
transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
</summary>
<param name="stmt">The statement to reset</param>
<returns>Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined function from the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.SetExtendedResultCodes(System.Boolean)">
<summary>
Enables or disabled extened result codes returned by SQLite
</summary>
<param name="bOnOff">true to enable extended result codes, false to disable.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ResultCode">
<summary>
Returns the numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.ExtendedResultCode">
<summary>
Returns the extended numeric result code for the most recent failed SQLite API call
associated with the database connection.
</summary>
<returns>Extended result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Add a log message via the SQLite sqlite3_log interface.
</summary>
<param name="iErrCode">Error code to be logged with the message.</param>
<param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log()
interface, this should be pre-formatted. Consider using the
String.Format() function.</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.IsInitialized">
<summary>
Checks if the SQLite core library has been initialized in the current process.
</summary>
<returns>
Non-zero if the SQLite core library has been initialized in the current process,
zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBase.FallbackGetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the internal static lookup table.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Version">
<summary>
Returns a string representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.VersionNumber">
<summary>
Returns an integer representing the active version of SQLite
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Changes">
<summary>
Returns the number of changes the last executing insert/update caused.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection
value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
This is not really a per-connection value, it is global to the process.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteBase.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._sql">
<summary>
The opaque pointer returned to us by the sqlite provider
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._functions">
<summary>
The user-defined functions registered on this connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLite3._modules">
<summary>
The modules created using this connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db "/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModules">
<summary>
This method attempts to dispose of all the <see cref="T:System.Data.SQLite.SQLiteModule"/> derived
object instances currently associated with the native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetCancelCount">
<summary>
Returns the number of times the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method has been
called.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ShouldThrowForCancel">
<summary>
This method determines whether or not a <see cref="T:System.Data.SQLite.SQLiteException"/>
with a return code of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Interrupt"/> should
be thrown after making a call into the SQLite core library.
</summary>
<returns>
Non-zero if a <see cref="T:System.Data.SQLite.SQLiteException"/> to be thrown. This method
will only return non-zero if the <see cref="M:System.Data.SQLite.SQLite3.Cancel"/> method was called
one or more times during a call into the SQLite core library (e.g. when
the sqlite3_prepare*() or sqlite3_step() APIs are used).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ResetCancelCount">
<summary>
Resets the value of the <see cref="F:System.Data.SQLite.SQLite3._cancelCount"/> field.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.Cancel">
<summary>
Attempts to interrupt the query currently executing on the associated
native database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to the connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound and removed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for the database connection.
</summary>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.Shutdown">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticShutdown(System.Boolean)">
<summary>
Shutdown the SQLite engine so that it can be restarted with different
configuration options. We depend on auto initialization to recover.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both. This parameter has no
effect on non-Windows operating systems.
</param>
<returns>Returns a standard SQLite result code.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsOpen">
<summary>
Determines if the associated native connection handle is open.
</summary>
<returns>
Non-zero if the associated native connection handle is open.
</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_errstr">
<summary>
Has the sqlite3_errstr() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code using
the sqlite3_errstr() function, falling back to the internal lookup
table if necessary.
</summary>
<param name="rc">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.have_stmt_readonly">
<summary>
Has the sqlite3_stmt_readonly() core library API been checked for yet?
If so, is it present?
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
<summary>
Returns non-zero if the specified statement is read-only in nature.
</summary>
<param name="stmt">The statement to check.</param>
<returns>True if the outer query is read-only.</returns>
</member>
<member name="F:System.Data.SQLite.SQLite3.forceLogPrepare">
<summary>
This field is used to keep track of whether or not the
"SQLite_ForceLogPrepare" environment variable has been queried. If so,
it will only be non-zero if the environment variable was present.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3.ForceLogPrepare">
<summary>
Determines if all calls to prepare a SQL query will be logged,
regardless of the flags for the associated connection.
</summary>
<returns>
Non-zero to log all calls to prepare a SQL query.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to create a disposable
module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object to be used when creating the native disposable module.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Calls the native SQLite core library in order to cleanup the resources
associated with a module containing the implementation of a virtual table.
</summary>
<param name="module">
The module object previously passed to the <see cref="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
method.
</param>
<param name="flags">
The flags for the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
being declared.
</param>
<param name="strSql">
The string containing the SQL statement describing the virtual table to
be declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
</summary>
<param name="module">
The virtual table module that is to be responsible for the virtual table
function being declared.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon failure,
it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLoadExtension(System.Boolean)">
<summary>
Enables or disabled extension loading by SQLite.
</summary>
<param name="bOnOff">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLite3.ResultCode">
Gets the last SQLite error code
</member>
<member name="M:System.Data.SQLite.SQLite3.ExtendedResultCode">
Gets the last SQLite extended error code
</member>
<member name="M:System.Data.SQLite.SQLite3.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticLogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLite3.SetLogCallback(System.Data.SQLite.SQLiteLogCallback)">
<summary>
Allows the setting of a logging callback invoked by SQLite when a
log event occurs. Only one callback may be set. If NULL is passed,
the logging callback is unregistered.
</summary>
<param name="func">The callback function to invoke.</param>
<returns>Returns a result code</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
<summary>
Creates a new SQLite backup object based on the provided destination
database connection. The source database connection is the one
associated with this object. The source and destination database
connections cannot be the same.
</summary>
<param name="destCnn">The destination database connection.</param>
<param name="destName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<returns>The newly created backup object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
<summary>
Copies up to N pages from the source database to the destination
database associated with the specified backup object.
</summary>
<param name="backup">The backup object to use.</param>
<param name="nPage">
The number of pages to copy, negative to copy all remaining pages.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True if there are more pages to be copied, false otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the number of pages remaining to be copied from the source
database to the destination database associated with the specified
backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The number of pages remaining to be copied.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Returns the total number of pages in the source database associated
with the specified backup object.
</summary>
<param name="backup">The backup object to check.</param>
<returns>The total number of pages in the source database.</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.FinishBackup(System.Data.SQLite.SQLiteBackup)">
<summary>
Destroys the backup object, rolling back any backup that may be in
progess.
</summary>
<param name="backup">The backup object to destroy.</param>
</member>
<member name="M:System.Data.SQLite.SQLite3.IsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.StaticIsInitialized">
<summary>
Determines if the SQLite core library has been initialized for the
current process.
</summary>
<returns>
A boolean indicating whether or not the SQLite core library has been
initialized for the current process.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLite3.GetValue(System.Data.SQLite.SQLiteStatement,System.Data.SQLite.SQLiteConnectionFlags,System.Int32,System.Data.SQLite.SQLiteType)">
<summary>
Helper function to retrieve a column of data from an active statement.
</summary>
<param name="stmt">The statement being step()'d through</param>
<param name="flags">The flags associated with the connection.</param>
<param name="index">The column index to retrieve</param>
<param name="typ">The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.</param>
<returns>Returns the data in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLite3.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is owned
by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLite3.Functions">
<summary>
Returns the logical list of functions associated with this connection.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLite3_UTF16">
<summary>
Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
<summary>
Constructs the object used to interact with the SQLite core library
using the UTF-8 text encoding.
</summary>
<param name="fmt">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="fmtString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="db">
The native handle to be associated with the database connection.
</param>
<param name="fileName">
The fully qualified file name associated with <paramref name="db"/>.
</param>
<param name="ownHandle">
Non-zero if the newly created object instance will need to dispose
of <paramref name="db"/> when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLite3_UTF16.ToString(System.IntPtr,System.Int32)">
<summary>
Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
</summary>
<param name="b">A pointer to a UTF-16 string</param>
<param name="nbytelen">The length (IN BYTES) of the string</param>
<returns>A .NET string</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBackup">
<summary>
Represents a single SQL backup in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sql">
<summary>
The underlying SQLite object this backup is bound to.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sqlite_backup">
<summary>
The actual backup handle.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._destDb">
<summary>
The destination database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zDestName">
<summary>
The destination database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._sourceDb">
<summary>
The source database for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._zSourceName">
<summary>
The source database name for the backup.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteBackup._stepResult">
<summary>
The last result from the StepBackup method of the SQLite3 class.
This is used to determine if the call to the FinishBackup method of
the SQLite3 class should throw an exception when it receives a non-Ok
return code from the core SQLite library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteBackupHandle,System.IntPtr,System.Byte[],System.IntPtr,System.Byte[])">
<summary>
Initializes the backup.
</summary>
<param name="sqlbase">The base SQLite object.</param>
<param name="backup">The backup handle.</param>
<param name="destDb">The destination database for the backup.</param>
<param name="zDestName">The destination database name for the backup.</param>
<param name="sourceDb">The source database for the backup.</param>
<param name="zSourceName">The source database name for the backup.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteBackup.Dispose">
<summary>
Disposes and finalizes the backup.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteSchemaExtensions">
<summary>
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteSchemaExtensions.BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
<summary>
Creates temporary tables on the connection so schema information can be queried.
</summary>
<param name="connection">
The connection upon which to build the schema tables.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionFlags">
<summary>
The extra behavioral flags that can be applied to a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.None">
<summary>
No extra flags.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPrepare">
<summary>
Enable logging of all SQL statements to be prepared.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPreBind">
<summary>
Enable logging of all bound parameter types and raw values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBind">
<summary>
Enable logging of all bound parameter strongly typed values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogCallbackException">
<summary>
Enable logging of all exceptions caught from user-provided
managed code called from native code via delegates.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBackup">
<summary>
Enable logging of backup API errors.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoExtensionFunctions">
<summary>
Skip adding the extension functions provided by the native
interop assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindUInt32AsInt64">
<summary>
When binding parameter values with the <see cref="T:System.UInt32"/>
type, use the interop method that accepts an <see cref="T:System.Int64"/>
value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAllAsText">
<summary>
When binding parameter values, always bind them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.GetAllAsText">
<summary>
When returning column values, always return them as though they were
plain text (i.e. no numeric, date/time, or other conversions should
be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLoadExtension">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
loading extensions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoCreateModule">
<summary>
Prevent this <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance from
creating virtual table modules.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoBindFunctions">
<summary>
Skip binding any functions provided by other managed assemblies when
opening the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLogModule">
<summary>
Skip setting the logging related properties of the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance that was passed to
the <see cref="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleError">
<summary>
Enable logging of all virtual table module errors seen by the
<see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleException">
<summary>
Enable logging of certain virtual table module exceptions that cannot
be easily discovered via other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.TraceWarning">
<summary>
Enable tracing of potentially important [non-fatal] error conditions
that cannot be easily reported through other means.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool">
<summary>
Disable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool">
<summary>
Enable using the connection pool by default. If the "Pooling"
connection string property is specified, its value will override
this flag. The precise outcome of combining this flag with the
<see cref="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool"/> flag is unspecified; however,
one of the flags will be in effect.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes">
<summary>
Enable using per-connection mappings between type names and
<see cref="T:System.Data.DbType"/> values. Also see the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings"/>,
<see cref="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings"/>, and
<see cref="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)"/> methods. These
per-connection mappings, when present, override the corresponding
global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoGlobalTypes">
<summary>
Disable using global mappings between type names and
<see cref="T:System.Data.DbType"/> values. This may be useful in some very narrow
cases; however, if there are no per-connection type mappings, the
fallback defaults will be used for both type names and their
associated <see cref="T:System.Data.DbType"/> values. Therefore, use of this flag
is not recommended.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StickyHasRows">
<summary>
When the <see cref="P:System.Data.SQLite.SQLiteDataReader.HasRows"/> property is used, it
should return non-zero if there were ever any rows in the associated
result sets.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.StrictEnlistment">
<summary>
Enable "strict" transaction enlistment semantics. Setting this flag
will cause an exception to be thrown if an attempt is made to enlist
in a transaction with an unavailable or unsupported isolation level.
In the future, more extensive checks may be enabled by this flag as
well.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.MapIsolationLevels">
<summary>
Enable mapping of unsupported transaction isolation levels to the
closest supported transaction isolation level.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectTextAffinity">
<summary>
When returning column values, attempt to detect the affinity of
textual values by checking if they fully conform to those of the
<see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectStringType">
<summary>
When returning column values, attempt to detect the type of
string values by checking if they fully conform to those of
the <see cref="F:System.Data.SQLite.TypeAffinity.Null"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Int64"/>,
<see cref="F:System.Data.SQLite.TypeAffinity.Double"/>,
or <see cref="F:System.Data.SQLite.TypeAffinity.DateTime"/> types.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConvertSettings">
<summary>
Skip querying runtime configuration settings for use by the
<see cref="T:System.Data.SQLite.SQLiteConvert"/> class, including the default
<see cref="T:System.Data.DbType"/> value and default database type name.
<b>NOTE: If the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/>
and/or <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName"/>
properties are not set explicitly nor set via their connection
string properties and repeated calls to determine these runtime
configuration settings are seen to be a problem, this flag
should be set.</b>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindDateTimeWithKind">
<summary>
When binding parameter values with the <see cref="T:System.DateTime"/>
type, take their <see cref="T:System.DateTimeKind"/> into account as
well as that of the associated <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.RollbackOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Commit"/> event, the transaction
should be rolled back. If this is not specified, the transaction
will continue the commit process instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DenyOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Authorize"/> event, the action should
should be denied. If this is not specified, the action will be
allowed instead.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.InterruptOnException">
<summary>
If an exception is caught when raising the
<see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event, the operation
should be interrupted. If this is not specified, the operation
will simply continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.UnbindFunctionsOnClose">
<summary>
Attempt to unbind all functions provided by other managed assemblies
when closing the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindInvariantText">
<summary>
When binding parameter values, always use the invariant culture when
converting their values to strings or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindAndGetAllAsInvariantText">
<summary>
When binding parameter values or returning column values, always
treat them as though they were plain text (i.e. no numeric,
date/time, or other conversions should be attempted) and always
use the invariant culture when converting their values to strings
or from strings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogAll">
<summary>
Enable all logging.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.Default">
<summary>
The default extra flags for new connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionFlags.DefaultAndLogAll">
<summary>
The default extra flags for new connections with all logging enabled.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommand">
<summary>
SQLite implementation of DbCommand.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand.DefaultConnectionString">
<summary>
The default connection string to be used when creating a temporary
connection to execute a command via the static
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])"/>
methods.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandText">
<summary>
The command text this command is based on
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._cnn">
<summary>
The connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._version">
<summary>
The version of the connection the command is associated with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._activeReader">
<summary>
Indicates whether or not a DataReader is active on the command.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._commandTimeout">
<summary>
The timeout for the command, kludged because SQLite doesn't support per-command timeout values
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._designTimeVisible">
<summary>
Designer support
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._updateRowSource">
<summary>
Used by DbDataAdapter to determine updating behavior
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._parameterCollection">
<summary>
The collection of parameters for the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._statementList">
<summary>
The SQL command text, broken into individual SQL statements as they are executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._remainingText">
<summary>
Unprocessed SQL text that has not been executed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteCommand._transaction">
<summary>
Transaction associated with this command
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor">
<overloads>
Constructs a new SQLiteCommand
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String)">
<summary>
Initializes the command with the given command text
</summary>
<param name="commandText">The SQL command text</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command with the given SQL command text and attach the command to the specified
connection.
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Initializes the command and associates it with the specified connection.
</summary>
<param name="connection">The connection to associate with the command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteTransaction)">
<summary>
Initializes a command with the given SQL, connection and transaction
</summary>
<param name="commandText">The SQL command text</param>
<param name="connection">The connection to associate with the command</param>
<param name="transaction">The transaction the command should be associated with</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Dispose(System.Boolean)">
<summary>
Disposes of the command and clears all member variables
</summary>
<param name="disposing">Whether or not the class is being explicitly or implicitly disposed</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.GetFlags(System.Data.SQLite.SQLiteCommand)">
<summary>
This method attempts to query the flags associated with the database
connection in use. If the database connection is disposed, the default
flags will be returned.
</summary>
<param name="command">
The command containing the databse connection to query the flags from.
</param>
<returns>
The connection flags value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearCommands">
<summary>
Clears and destroys all statements currently prepared
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.BuildNextCommand">
<summary>
Builds an array of prepared statements for each complete SQL statement in the command text
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Cancel">
<summary>
Not implemented
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateDbParameter">
<summary>
Forwards to the local CreateParameter() function
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.CreateParameter">
<summary>
Create a new parameter
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.InitializeForReader">
<summary>
This function ensures there are no active readers, that we have a valid connection,
that the connection is open, that all statements are prepared and all parameters are assigned
in preparation for allocating a data reader.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(System.Data.CommandBehavior)">
<summary>
Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
</summary>
<param name="behavior">The behavior the data reader should adopt</param>
<returns>Returns a SQLiteDataReader object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type, closes the connection, and returns the results. If the
connection string is null, a temporary in-memory database connection will
be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])">
<summary>
This method creates a new connection, executes the query using the given
execution type and command behavior, closes the connection unless a data
reader is created, and returns the results. If the connection string is
null, a temporary in-memory database connection will be used.
</summary>
<param name="commandText">
The text of the command to be executed.
</param>
<param name="executeType">
The execution type for the command. This is used to determine which method
of the command object to call, which then determines the type of results
returned, if any.
</param>
<param name="commandBehavior">
The command behavior flags for the command.
</param>
<param name="connectionString">
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
</param>
<param name="args">
The SQL parameter values to be used when building the command object to be
executed, if any.
</param>
<returns>
The results of the query -OR- null if no results were produced from the
given execution type.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)">
<summary>
Overrides the default behavior to return a SQLiteDataReader specialization class
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader">
<summary>
Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
</summary>
<returns>A SQLiteDataReader</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ClearDataReader">
<summary>
Called by the SQLiteDataReader when the data reader is closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)">
<summary>
Execute the command and return the number of rows inserted/updated affected by it.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The number of rows inserted/updated affected by it.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)">
<summary>
Execute the command and return the first column of the first row of the resultset
(if present), or null if no resultset was returned.
</summary>
<param name="behavior">The flags to be associated with the reader.</param>
<returns>The first column of the first row of the first resultset from the query.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Prepare">
<summary>
Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommand.Clone">
<summary>
Clones a command, including all its parameters
</summary>
<returns>A new SQLiteCommand with the same commandtext, connection and parameters</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandText">
<summary>
The SQL command text associated with the command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandTimeout">
<summary>
The amount of time to wait for the connection to become available before erroring out
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.CommandType">
<summary>
The type of the command. SQLite only supports CommandType.Text
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Connection">
<summary>
The connection associated with this command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Parameters">
<summary>
Returns the SQLiteParameterCollection for the given command
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbParameterCollection">
<summary>
Forwards to the local Parameters property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.Transaction">
<summary>
The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the
command's underlying connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DbTransaction">
<summary>
Forwards to the local Transaction property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.UpdatedRowSource">
<summary>
Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommand.DesignTimeVisible">
<summary>
Determines if the command is visible at design time. Defaults to True.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCommandBuilder">
<summary>
SQLite implementation of DbCommandBuilder.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor(System.Data.SQLite.SQLiteDataAdapter)">
<summary>
Initializes the command builder and associates it with the specified data adapter.
</summary>
<param name="adp"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.ApplyParameterInfo(System.Data.Common.DbParameter,System.Data.DataRow,System.Data.StatementType,System.Boolean)">
<summary>
Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema
</summary>
<param name="parameter">The parameter to use in applying custom behaviors to a row</param>
<param name="row">The row to apply the parameter to</param>
<param name="statementType">The type of statement</param>
<param name="whereClause">Whether the application of the parameter is part of a WHERE clause</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.String)">
<summary>
Returns a valid named parameter
</summary>
<param name="parameterName">The name of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.Int32)">
<summary>
Returns a named parameter for the given ordinal
</summary>
<param name="parameterOrdinal">The i of the parameter</param>
<returns>Error</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterPlaceholder(System.Int32)">
<summary>
Returns a placeholder character for the specified parameter i.
</summary>
<param name="parameterOrdinal">The index of the parameter to provide a placeholder for</param>
<returns>Returns a named parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.SetRowUpdatingHandler(System.Data.Common.DbDataAdapter)">
<summary>
Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL
statements that may not have previously been generated.
</summary>
<param name="adapter">A data adapter to receive events on.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to delete rows from the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to update rows in the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand(System.Boolean)">
<summary>
Returns the automatically-generated SQLite command to insert rows into the database
</summary>
<param name="useColumnsForParameterNames"></param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.QuoteIdentifier(System.String)">
<summary>
Places brackets around an identifier
</summary>
<param name="unquotedIdentifier">The identifier to quote</param>
<returns>The bracketed identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.UnquoteIdentifier(System.String)">
<summary>
Removes brackets around an identifier
</summary>
<param name="quotedIdentifier">The quoted (bracketed) identifier</param>
<returns>The undecorated identifier</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetSchemaTable(System.Data.Common.DbCommand)">
<summary>
Override helper, which can help the base command builder choose the right keys for the given query
</summary>
<param name="sourceCommand"></param>
<returns></returns>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.DataAdapter">
<summary>
Gets/sets the DataAdapter for this CommandBuilder
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogLocation">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuotePrefix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuoteSuffix">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteCommandBuilder.SchemaSeparator">
<summary>
Overridden to hide its property from the designer
</summary>
</member>
<member name="T:System.Data.SQLite.ConnectionEventArgs">
<summary>
Event data for connection event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventType">
<summary>
The type of event being raised.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.EventArgs">
<summary>
The <see cref="T:System.Data.StateChangeEventArgs"/> associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Transaction">
<summary>
The transaction associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Command">
<summary>
The command associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.DataReader">
<summary>
The data reader associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.CriticalHandle">
<summary>
The critical handle associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Text">
<summary>
Command or message text associated with this event, if any.
</summary>
</member>
<member name="F:System.Data.SQLite.ConnectionEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.ConnectionEventArgs.#ctor(System.Data.SQLite.SQLiteConnectionEventType,System.Data.StateChangeEventArgs,System.Data.IDbTransaction,System.Data.IDbCommand,System.Data.IDataReader,System.Runtime.InteropServices.CriticalHandle,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="eventType">The type of event being raised.</param>
<param name="eventArgs">The base <see cref="F:System.Data.SQLite.ConnectionEventArgs.EventArgs"/> associated
with this event, if any.</param>
<param name="transaction">The transaction associated with this event, if any.</param>
<param name="command">The command associated with this event, if any.</param>
<param name="dataReader">The data reader associated with this event, if any.</param>
<param name="criticalHandle">The critical handle associated with this event, if any.</param>
<param name="text">The command or message text, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventHandler">
<summary>
Raised when an event pertaining to a connection occurs.
</summary>
<param name="sender">The connection involved.</param>
<param name="e">Extra information about the event.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnection">
<summary>
SQLite implentation of DbConnection.
</summary>
<remarks>
The <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> property can contain the following parameter(s), delimited with a semi-colon:
<list type="table">
<listheader>
<term>Parameter</term>
<term>Values</term>
<term>Required</term>
<term>Default</term>
</listheader>
<item>
<description>Data Source</description>
<description>
This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).
Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a
UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db"
would become "\\\\Network\Share\test.db").
</description>
<description>Y</description>
<description></description>
</item>
<item>
<description>Uri</description>
<description>
If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading
"file://" or "file:" prefix will be stripped off and the resulting file name will be used to open
the database.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>FullUri</description>
<description>
If specified, this must be a URI in a format recognized by the SQLite core library (starting with
SQLite 3.7.7). It will be passed verbatim to the SQLite core library.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>Version</description>
<description>3</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>UseUTF16Encoding</description>
<description>
<b>True</b> - The UTF-16 encoding should be used.
<br/>
<b>False</b> - The UTF-8 encoding should be used.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>DefaultDbType</description>
<description>
This is the default <see cref="T:System.Data.DbType"/> to use when one cannot be determined based on the
column metadata and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DefaultTypeName</description>
<description>
This is the default type name to use when one cannot be determined based on the column metadata
and the configured type mappings.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>NoDefaultFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>NoSharedFlags</description>
<description>
<b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
<br/>
<b>False</b> - Combine the specified (or existing) connection flags with the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>VfsName</description>
<description>
The name of the VFS to use when opening the database connection.
If this is not specified, the default VFS will be used.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>ZipVfsVersion</description>
<description>
If non-null, this is the "version" of ZipVFS to use. This requires
the System.Data.SQLite interop assembly -AND- primary managed assembly
to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing. The valid values are "v2" and "v3". Using
anyother value will cause an exception to be thrown. Please see the
ZipVFS documentation for more information on how to use this parameter.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>DateTimeFormat</description>
<description>
<b>Ticks</b> - Use the value of DateTime.Ticks.<br/>
<b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/>
<b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/>
<b>UnixEpoch</b> - The whole number of seconds since the Unix epoch (January 1, 1970).<br/>
<b>InvariantCulture</b> - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.<br/>
<b>CurrentCulture</b> - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.</description>
<description>N</description>
<description>ISO8601</description>
</item>
<item>
<description>DateTimeKind</description>
<description>
<b>Unspecified</b> - Not specified as either UTC or local time.
<br/>
<b>Utc</b> - The time represented is UTC.
<br/>
<b>Local</b> - The time represented is local time.
</description>
<description>N</description>
<description>Unspecified</description>
</item>
<item>
<description>DateTimeFormatString</description>
<description>
The exact DateTime format string to use for all formatting and parsing of all DateTime
values for this connection.
</description>
<description>N</description>
<description>null</description>
</item>
<item>
<description>BaseSchemaName</description>
<description>
Some base data classes in the framework (e.g. those that build SQL queries dynamically)
assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used
as a placeholder and removed prior to preparing any SQL statements that may contain it.
</description>
<description>N</description>
<description>sqlite_default_schema</description>
</item>
<item>
<description>BinaryGUID</description>
<description>
<b>True</b> - Store GUID columns in binary form
<br/>
<b>False</b> - Store GUID columns as text
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>Cache Size</description>
<description>
If the argument N is positive then the suggested cache size is set to N.
If the argument N is negative, then the number of cache pages is adjusted
to use approximately abs(N*1024) bytes of memory. Backwards compatibility
note: The behavior of cache_size with a negative N was different in SQLite
versions prior to 3.7.10. In version 3.7.9 and earlier, the number of
pages in the cache was set to the absolute value of N.
</description>
<description>N</description>
<description>2000</description>
</item>
<item>
<description>Synchronous</description>
<description>
<b>Normal</b> - Normal file flushing behavior
<br/>
<b>Full</b> - Full flushing after all writes
<br/>
<b>Off</b> - Underlying OS flushes I/O's
</description>
<description>N</description>
<description>Full</description>
</item>
<item>
<description>Page Size</description>
<description>{size in bytes}</description>
<description>N</description>
<description>1024</description>
</item>
<item>
<description>Password</description>
<description>
{password} - Using this parameter requires that the CryptoAPI based codec
be enabled at compile-time for both the native interop assembly and the
core managed assemblies; otherwise, using this parameter may result in an
exception being thrown when attempting to open the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>HexPassword</description>
<description>
{hexPassword} - Must contain a sequence of zero or more hexadecimal encoded
byte values without a leading "0x" prefix. Using this parameter requires
that the CryptoAPI based codec be enabled at compile-time for both the native
interop assembly and the core managed assemblies; otherwise, using this
parameter may result in an exception being thrown when attempting to open
the connection.
</description>
<description>N</description>
<description></description>
</item>
<item>
<description>Enlist</description>
<description>
<b>Y</b> - Automatically enlist in distributed transactions
<br/>
<b>N</b> - No automatic enlistment
</description>
<description>N</description>
<description>Y</description>
</item>
<item>
<description>Pooling</description>
<description>
<b>True</b> - Use connection pooling.<br/>
<b>False</b> - Do not use connection pooling.<br/><br/>
<b>WARNING:</b> When using the default connection pool implementation,
setting this property to True should be avoided by applications that make
use of COM (either directly or indirectly) due to possible deadlocks that
can occur during the finalization of some COM objects.
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>FailIfMissing</description>
<description>
<b>True</b> - Don't create the database if it does not exist, throw an error instead
<br/>
<b>False</b> - Automatically create the database if it does not exist
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Page Count</description>
<description>{size in pages} - Limits the maximum number of pages (limits the size) of the database</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Legacy Format</description>
<description>
<b>True</b> - Use the more compatible legacy 3.x database format
<br/>
<b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Default Timeout</description>
<description>{time in seconds}<br/>The default command timeout</description>
<description>N</description>
<description>30</description>
</item>
<item>
<description>BusyTimeout</description>
<description>{time in milliseconds}<br/>Sets the busy timeout for the core library.</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Journal Mode</description>
<description>
<b>Delete</b> - Delete the journal file after a commit.
<br/>
<b>Persist</b> - Zero out and leave the journal file on disk after a
commit.
<br/>
<b>Off</b> - Disable the rollback journal entirely. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Truncate</b> - Truncate the journal file to zero-length instead of
deleting it.
<br/>
<b>Memory</b> - Store the journal in volatile RAM. This saves disk I/O
but at the expense of database safety and integrity. If the application
using SQLite crashes in the middle of a transaction when this journaling
mode is set, then the database file will very likely go corrupt.
<br/>
<b>Wal</b> - Use a write-ahead log instead of a rollback journal.
</description>
<description>N</description>
<description>Delete</description>
</item>
<item>
<description>Read Only</description>
<description>
<b>True</b> - Open the database for read only access
<br/>
<b>False</b> - Open the database for normal read/write access
</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Max Pool Size</description>
<description>The maximum number of connections for the given connection string that can be in the connection pool</description>
<description>N</description>
<description>100</description>
</item>
<item>
<description>Default IsolationLevel</description>
<description>The default transaciton isolation level</description>
<description>N</description>
<description>Serializable</description>
</item>
<item>
<description>Foreign Keys</description>
<description>Enable foreign key constraints</description>
<description>N</description>
<description>False</description>
</item>
<item>
<description>Flags</description>
<description>Extra behavioral flags for the connection. See the <see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for possible values.</description>
<description>N</description>
<description>Default</description>
</item>
<item>
<description>SetDefaults</description>
<description>
<b>True</b> - Apply the default connection settings to the opened database.<br/>
<b>False</b> - Skip applying the default connection settings to the opened database.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>ToFullPath</description>
<description>
<b>True</b> - Attempt to expand the data source file name to a fully qualified path before opening.
<br/>
<b>False</b> - Skip attempting to expand the data source file name to a fully qualified path before opening.
</description>
<description>N</description>
<description>True</description>
</item>
<item>
<description>PrepareRetries</description>
<description>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</description>
<description>N</description>
<description>3</description>
</item>
<item>
<description>ProgressOps</description>
<description>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as well.
</description>
<description>N</description>
<description>0</description>
</item>
<item>
<description>Recursive Triggers</description>
<description>
<b>True</b> - Enable the recursive trigger capability.
<b>False</b> - Disable the recursive trigger capability.
</description>
<description>N</description>
<description>False</description>
</item>
</list>
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.BadDbType">
<summary>
The "invalid value" for the <see cref="T:System.Data.DbType"/> enumeration used
by the <see cref="P:System.Data.SQLite.SQLiteConnection.DefaultDbType"/> property. This constant is shared
by this class and the SQLiteConnectionStringBuilder class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection.DefaultBaseSchemaName">
<summary>
The default "stub" (i.e. placeholder) base schema name to use when
returning column schema information. Used as the initial value of
the BaseSchemaName property. This should start with "sqlite_*"
because those names are reserved for use by SQLite (i.e. they cannot
be confused with the names of user objects).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._assembly">
<summary>
The managed assembly containing this type.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
<summary>
State of the current connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._connectionString">
<summary>
The connection string
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._transactionLevel">
<summary>
Nesting level of the transactions open on the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._noDispose">
<summary>
If this flag is non-zero, the <see cref="M:System.Data.SQLite.SQLiteConnection.Dispose"/> method will have
no effect; however, the <see cref="M:System.Data.SQLite.SQLiteConnection.Close"/> method will continue to
behave as normal.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._disposing">
<summary>
If set, then the connection is currently being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultIsolation">
<summary>
The default isolation level for new transactions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._enlistment">
<summary>
Whether or not the connection is enlisted in a distrubuted transaction
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._typeNames">
<summary>
The per-connection mappings between type names and <see cref="T:System.Data.DbType"/>
values. These mappings override the corresponding global mappings.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._sql">
<summary>
The base SQLite object to interop with
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._dataSource">
<summary>
The database filename minus path and extension
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._password">
<summary>
Temporary password storage, emptied after the database has been opened
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._flags">
<summary>
The extra behavioral flags for this connection, if any. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._cachedSettings">
<summary>
The cached values for all settings that have been fetched on behalf
of this connection. This cache may be cleared by calling the
<see cref="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings"/> method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultDbType">
<summary>
The default databse type for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTypeName">
<summary>
The default databse type name for this connection. This value will only
be used if the <see cref="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
flag is set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._vfsName">
<summary>
The name of the VFS to be used when opening the database connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._defaultTimeout">
<summary>
Default command timeout
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._busyTimeout">
<summary>
The default busy timeout to use with the SQLite core library. This is
only used when opening a connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._prepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._progressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when opening the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnection._parseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor">
<overloads>
Constructs a new SQLiteConnection object
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">The connection string to use.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.IntPtr,System.String,System.Boolean)">
<summary>
Initializes the connection with a pre-existing native connection handle.
This constructor overload is intended to be used only by the private
<see cref="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="db">
The native connection handle to use.
</param>
<param name="fileName">
The file name corresponding to the native connection handle.
</param>
<param name="ownHandle">
Non-zero if this instance owns the native connection handle and
should dispose of it when it is no longer needed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String,System.Boolean)">
<summary>
Initializes the connection with the specified connection string.
</summary>
<param name="connectionString">
The connection string to use.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.Data.SQLite.SQLiteConnection)">
<summary>
Clones the settings and connection string from an existing connection. If the existing connection is already open, this
function will open its own connection, enumerate any attached databases of the original connection, and automatically
attach to them.
</summary>
<param name="connection">The connection to copy the settings from.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnChanged(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.ConnectionEventArgs)">
<summary>
Raises the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/> event.
</summary>
<param name="connection">
The connection associated with this event. If this parameter is not
null and the specified connection cannot raise events, then the
registered event handlers will not be invoked.
</param>
<param name="e">
A <see cref="T:System.Data.SQLite.ConnectionEventArgs"/> that contains the event data.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateHandle(System.IntPtr)">
<summary>
Creates and returns a new managed database connection handle. This
method is intended to be used by implementations of the
<see cref="T:System.Data.SQLite.ISQLiteConnectionPool"/> interface only. In theory, it
could be used by other classes; however, that usage is not supported.
</summary>
<param name="nativeHandle">
This must be a native database connection handle returned by the
SQLite core library and it must remain valid and open during the
entire duration of the calling method.
</param>
<returns>
The new managed database connection handle or null if it cannot be
created.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BackupDatabase(System.Data.SQLite.SQLiteConnection,System.String,System.String,System.Int32,System.Data.SQLite.SQLiteBackupCallback,System.Int32)">
<summary>
Backs up the database, using the specified database connection as the
destination.
</summary>
<param name="destination">The destination database connection.</param>
<param name="destinationName">The destination database name.</param>
<param name="sourceName">The source database name.</param>
<param name="pages">
The number of pages to copy or negative to copy all remaining pages.
</param>
<param name="callback">
The method to invoke between each step of the backup process. This
parameter may be null (i.e. no callbacks will be performed).
</param>
<param name="retryMilliseconds">
The number of milliseconds to sleep after encountering a locking error
during the backup process. A value less than zero means that no sleep
should be performed.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings">
<summary>
Clears the per-connection cached settings.
</summary>
<returns>
The total number of per-connection settings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryGetCachedSetting(System.String,System.String,System.Object@)">
<summary>
Queries and returns the value of the specified setting, using the
cached setting names and values for this connection, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<param name="value">
The value of the cached setting is stored here if found; otherwise,
the value of <paramref name="default" /> is stored here.
</param>
<returns>
Non-zero if the cached setting was found; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetCachedSetting(System.String,System.Object)">
<summary>
Adds or sets the cached setting specified by <paramref name="name" />
to the value specified by <paramref name="value" />.
</summary>
<param name="name">
The name of the cached setting to add or replace.
</param>
<param name="value">
The new value of the cached setting.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings">
<summary>
Clears the per-connection type mappings.
</summary>
<returns>
The total number of per-connection type mappings cleared.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings">
<summary>
Returns the per-connection type mappings.
</summary>
<returns>
The per-connection type mappings -OR- null if they are unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)">
<summary>
Adds a per-connection type mapping, possibly replacing one or more
that already exist.
</summary>
<param name="typeName">
The case-insensitive database type name (e.g. "MYDATE"). The value
of this parameter cannot be null. Using an empty string value (or
a string value consisting entirely of whitespace) for this parameter
is not recommended.
</param>
<param name="dataType">
The <see cref="T:System.Data.DbType"/> value that should be associated with the
specified type name.
</param>
<param name="primary">
Non-zero if this mapping should be considered to be the primary one
for the specified <see cref="T:System.Data.DbType"/>.
</param>
<returns>
A negative value if nothing was done. Zero if no per-connection type
mappings were replaced (i.e. it was a pure add operation). More than
zero if some per-connection type mappings were replaced.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Delegate,System.Delegate)">
<summary>
Attempts to bind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="callback1">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For scalar functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type. For aggregate functions,
this corresponds to the <see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type. For
collation functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type.
</param>
<param name="callback2">
A <see cref="T:System.Delegate"/> object instance that helps implement the
function to be bound. For aggregate functions, this corresponds to the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type. For other callback types, it
is not used and must be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute)">
<summary>
Attempts to unbind the specified <see cref="T:System.Data.SQLite.SQLiteFunction"/> object
instance to this connection.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be unbound.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnbindAllFunctions(System.Boolean)">
<summary>
This method unbinds all registered (known) functions -OR- all previously
bound user-defined functions from this connection.
</summary>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind
all functions currently bound to the connection.
</param>
<returns>
Non-zero if all the specified user-defined functions were unbound.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the algorithm provided
by the framework itself. This is not applicable when running on the
.NET Compact Framework.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose">
<summary>
Disposes and finalizes the connection, if applicable.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Clone">
<summary>
Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection
will also be opened.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateFile(System.String)">
<summary>
Creates a database file. This just creates a zero-byte file which SQLite
will turn into a database when the file is opened properly.
</summary>
<param name="databaseFileName">The file to create</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OnStateChange(System.Data.ConnectionState,System.Data.StateChangeEventArgs@)">
<summary>
Raises the state change event when the state of the connection changes
</summary>
<param name="newState">The new connection state. If this is different
from the previous state, the <see cref="E:System.Data.SQLite.SQLiteConnection.StateChange"/> event is
raised.</param>
<param name="eventArgs">The event data created for the raised event, if
it was actually raised.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetFallbackDefaultIsolationLevel">
<summary>
Determines and returns the fallback default isolation level when one cannot be
obtained from an existing connection instance.
</summary>
<returns>
The fallback default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultIsolationLevel">
<summary>
Determines and returns the default isolation level for this connection instance.
</summary>
<returns>
The default isolation level for this connection instance -OR-
<see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel,System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="isolationLevel">This parameter is ignored.</param>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Boolean)">
<summary>
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
</summary>
<param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already active on the connection.
</summary>
<param name="isolationLevel">Supported isolation levels are Serializable, ReadCommitted and Unspecified.</param>
<remarks>
Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the
connection string, Serializable is used.
Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads
may begin a transaction. Other threads may read from the database, but not write.
With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start
a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
</remarks>
<returns>Returns a SQLiteTransaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction">
<summary>
Creates a new <see cref="T:System.Data.SQLite.SQLiteTransaction"/> if one isn't already
active on the connection.
</summary>
<returns>Returns the new transaction object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.BeginDbTransaction(System.Data.IsolationLevel)">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)"/> function
</summary>
<param name="isolationLevel">Supported isolation levels are Unspecified, Serializable, and ReadCommitted</param>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangeDatabase(System.String)">
<summary>
This method is not implemented; however, the <see cref="E:System.Data.SQLite.SQLiteConnection.Changed"/>
event will still be raised.
</summary>
<param name="databaseName"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Close">
<summary>
When the database connection is closed, all commands linked to this connection are automatically reset.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearPool(System.Data.SQLite.SQLiteConnection)">
<summary>
Clears the connection pool associated with the connection. Any other active connections using the same database file
will be discarded instead of returned to the pool when they are closed.
</summary>
<param name="connection"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ClearAllPools">
<summary>
Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateCommand">
<summary>
Create a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> and associate it with this connection.
</summary>
<returns>Returns a new command object already assigned to this connection.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateDbCommand">
<summary>
Forwards to the local <see cref="M:System.Data.SQLite.SQLiteConnection.CreateCommand"/> function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean)">
<summary>
Parses a connection string into component parts using the custom
connection string parser. An exception may be thrown if the syntax
of the connection string is incorrect.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="allowNameOnly">
Non-zero if names are allowed without values.
</param>
<returns>
The list of key/value pairs corresponding to the parameters specified
within the connection string.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionStringViaFramework(System.String,System.Boolean)">
<summary>
Parses a connection string using the built-in (i.e. framework provided)
connection string parser class and returns the key/value pairs. An
exception may be thrown if the connection string is invalid or cannot be
parsed. When compiled for the .NET Compact Framework, the custom
connection string parser is always used instead because the framework
provided one is unavailable there.
</summary>
<param name="connectionString">
The connection string to parse.
</param>
<param name="strict">
Non-zero to throw an exception if any connection string values are not of
the <see cref="T:System.String"/> type. This is not applicable when running on
the .NET Compact Framework.
</param>
<returns>The list of key/value pairs.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnlistTransaction(System.Transactions.Transaction)">
<summary>
Manual distributed transaction enlistment support
</summary>
<param name="transaction">The distributed transaction to enlist in</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FindKey(System.Collections.Generic.SortedList{System.String,System.String},System.String,System.String)">
<summary>
Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value
</summary>
<param name="items">The list to look in</param>
<param name="key">The key to find</param>
<param name="defValue">The default value to return if the key is not found</param>
<returns>The value corresponding to the specified key, or the default value if not found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseEnum(System.Type,System.String,System.Boolean)">
<summary>
Attempts to convert the string value to an enumerated value of the specified type.
</summary>
<param name="type">The enumerated type to convert the string value to.</param>
<param name="value">The string value to be converted.</param>
<param name="ignoreCase">Non-zero to make the conversion case-insensitive.</param>
<returns>The enumerated value upon success or null upon error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.TryParseByte(System.String,System.Globalization.NumberStyles,System.Byte@)">
<summary>
Attempts to convert an input string into a byte value.
</summary>
<param name="value">
The string value to be converted.
</param>
<param name="style">
The number styles to use for the conversion.
</param>
<param name="result">
Upon sucess, this will contain the parsed byte value.
Upon failure, the value of this parameter is undefined.
</param>
<returns>
Non-zero upon success; zero on failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.EnableExtensions(System.Boolean)">
<summary>
Enables or disabled extension loading.
</summary>
<param name="enable">
True to enable loading of extensions, false to disable.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String,System.String)">
<summary>
Loads a SQLite extension library from the named dynamic link library file.
</summary>
<param name="fileName">
The name of the dynamic link library file containing the extension.
</param>
<param name="procName">
The name of the exported function used to initialize the extension.
If null, the default "sqlite3_extension_init" will be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)">
<summary>
Creates a disposable module containing the implementation of a virtual
table.
</summary>
<param name="module">
The module object to be used when creating the disposable module.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ToHexString(System.Byte[])">
<summary>
Creates and returns a string containing the hexadecimal encoded byte
values from the input array.
</summary>
<param name="array">
The input array of bytes.
</param>
<returns>
The resulting string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String,System.String@)">
<summary>
Parses a string containing a sequence of zero or more hexadecimal
encoded byte values and returns the resulting byte array. The
"0x" prefix is not allowed on the input string.
</summary>
<param name="text">
The input string containing zero or more hexadecimal encoded byte
values.
</param>
<param name="error">
Upon failure, this will contain an appropriate error message.
</param>
<returns>
A byte array containing the parsed byte values or null if an error
was encountered.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultPooling">
<summary>
This method figures out what the default connection pool setting should
be based on the connection flags. When present, the "Pooling" connection
string property value always overrides the value returned by this method.
</summary>
<returns>
Non-zero if the connection pool should be enabled by default; otherwise,
zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetEffectiveIsolationLevel(System.Data.IsolationLevel)">
<summary>
Determines the transaction isolation level that should be used by
the caller, primarily based upon the one specified by the caller.
If mapping of transaction isolation levels is enabled, the returned
transaction isolation level may be significantly different than the
originally specified one.
</summary>
<param name="isolationLevel">
The originally specified transaction isolation level.
</param>
<returns>
The transaction isolation level that should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Open">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.OpenAndReturn">
<summary>
Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString"/> and then returns it.
</summary>
<returns>The current connection object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Cancel">
<summary>
This method causes any pending database operation to abort and return at
its earliest opportunity. This routine is typically called in response
to a user action such as pressing "Cancel" or Ctrl-C where the user wants
a long query operation to halt immediately. It is safe to call this
routine from any thread. However, it is not safe to call this routine
with a database connection that is closed or might close before this method
returns.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetMemoryStatistics(System.Collections.Generic.IDictionary{System.String,System.Int64}@)">
<summary>
Returns various global memory statistics for the SQLite core library via
a dictionary of key/value pairs. Currently, only the "MemoryUsed" and
"MemoryHighwater" keys are returned and they have values that correspond
to the values that could be obtained via the <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryUsed"/>
and <see cref="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater"/> connection properties.
</summary>
<param name="statistics">
This dictionary will be populated with the global memory statistics. It
will be created if necessary.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory">
<summary>
Attempts to free as much heap memory as possible for this database connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
<summary>
Attempts to free N bytes of heap memory by deallocating non-essential memory
allocations held by the database library. Memory used to cache database pages
to improve performance is an example of non-essential memory. This is a no-op
returning zero if the SQLite core library was not compiled with the compile-time
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
compact the Win32 native heap, if applicable.
</summary>
<param name="nBytes">
The requested number of bytes to free.
</param>
<param name="reset">
Non-zero to attempt a heap reset.
</param>
<param name="compact">
Non-zero to attempt heap compaction.
</param>
<param name="nFree">
The number of bytes actually freed. This value may be zero.
</param>
<param name="resetOk">
This value will be non-zero if the heap reset was successful.
</param>
<param name="nLargest">
The size of the largest committed free block in the heap, in bytes.
This value will be zero unless heap compaction is enabled.
</param>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero
for failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetMemoryStatus(System.Boolean)">
<summary>
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
global to the process.
</summary>
<param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
<returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown">
<summary>
Passes a shutdown request to the SQLite core library. Does not throw
an exception if the shutdown request fails.
</summary>
<returns>
A standard SQLite return code (i.e. zero for success and non-zero for
failure).
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Shutdown(System.Boolean,System.Boolean)">
<summary>
Passes a shutdown request to the SQLite core library. Throws an
exception if the shutdown request fails and the no-throw parameter
is non-zero.
</summary>
<param name="directories">
Non-zero to reset the database and temporary directories to their
default values, which should be null for both.
</param>
<param name="noThrow">
When non-zero, throw an exception if the shutdown request fails.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetExtendedResultCodes(System.Boolean)">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExtendedResultCode">
Enables or disabled extended result codes returned by SQLite
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Int32,System.String)">
Add a log message via the SQLite sqlite3_log interface.
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.String)">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.Byte[])">
<summary>
Change the password (or assign a password) to an open database.
</summary>
<remarks>
No readers or writers may be active for this process. The database must already be open
and if it already was password protected, the existing password must already have been supplied.
</remarks>
<param name="newPassword">The new password to assign to the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.String)">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.Byte[])">
<summary>
Sets the password for a password-protected database. A password-protected database is
unusable for any operation until the password has been set.
</summary>
<param name="databasePassword">The password for the database</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetAvRetry(System.Int32@,System.Int32@)">
<summary>
Queries or modifies the number of retries or the retry interval (in milliseconds) for
certain I/O operations that may fail due to anti-virus software.
</summary>
<param name="count">The number of times to retry the I/O operation. A negative value
will cause the current count to be queried and replace that negative value.</param>
<param name="interval">The number of milliseconds to wait before retrying the I/O
operation. This number is multiplied by the number of retry attempts so far to come
up with the final number of milliseconds to wait. A negative value will cause the
current interval to be queried and replace that negative value.</param>
<returns>Zero for success, non-zero for error.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.SetChunkSize(System.Int32)">
<summary>
Sets the chunk size for the primary file associated with this database
connection.
</summary>
<param name="size">
The new chunk size for the main database, in bytes.
</param>
<returns>
Zero for success, non-zero for error.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.UnwrapString(System.String)">
<summary>
Removes one set of surrounding single -OR- double quotes from the string
value and returns the resulting string value. If the string is null, empty,
or contains quotes that are not balanced, nothing is done and the original
string value will be returned.
</summary>
<param name="value">The string value to process.</param>
<returns>
The string value, modified to remove one set of surrounding single -OR-
double quotes, if applicable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.ExpandFileName(System.String,System.Boolean)">
<summary>
Expand the filename of the data source, resolving the |DataDirectory|
macro as appropriate.
</summary>
<param name="sourceFile">The database filename to expand</param>
<param name="toFullPath">
Non-zero if the returned file name should be converted to a full path
(except when using the .NET Compact Framework).
</param>
<returns>The expanded path and filename of the filename</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
<overloads>
The following commands are used to extract schema information out of the database. Valid schema types are:
<list type="bullet">
<item>
<description>MetaDataCollections</description>
</item>
<item>
<description>DataSourceInformation</description>
</item>
<item>
<description>Catalogs</description>
</item>
<item>
<description>Columns</description>
</item>
<item>
<description>ForeignKeys</description>
</item>
<item>
<description>Indexes</description>
</item>
<item>
<description>IndexColumns</description>
</item>
<item>
<description>Tables</description>
</item>
<item>
<description>Views</description>
</item>
<item>
<description>ViewColumns</description>
</item>
</list>
</overloads>
<summary>
Returns the MetaDataCollections schema
</summary>
<returns>A DataTable of the MetaDataCollections schema</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String)">
<summary>
Returns schema information of the specified collection
</summary>
<param name="collectionName">The schema collection to retrieve</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String,System.String[])">
<summary>
Retrieves schema information using the specified constraint(s) for the specified collection
</summary>
<param name="collectionName">The collection to retrieve.</param>
<param name="restrictionValues">
The restrictions to impose. Typically, this may include:
<list type="table">
<listheader>
<term>restrictionValues element index</term>
<term>usage</term>
</listheader>
<item>
<description>0</description>
<description>The database (or catalog) name, if applicable.</description>
</item>
<item>
<description>1</description>
<description>The schema name. This is not used by this provider.</description>
</item>
<item>
<description>2</description>
<description>The table name, if applicable.</description>
</item>
<item>
<description>3</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the index name; otherwise, it is the column name.
</description>
</item>
<item>
<description>4</description>
<description>
Depends on <paramref name="collectionName" />.
When "IndexColumns", it is the column name; otherwise, it is not used.
</description>
</item>
</list>
</param>
<returns>A DataTable of the specified collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_MetaDataCollections">
<summary>
Builds a MetaDataCollections schema datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_DataSourceInformation">
<summary>
Builds a DataSourceInformation datatable
</summary>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Columns(System.String,System.String,System.String)">
<summary>
Build a Columns schema
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strTable">The table to retrieve schema information for, must not be null</param>
<param name="strColumn">The column to retrieve schema information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Indexes(System.String,System.String,System.String)">
<summary>
Returns index information for the given database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to query, can be null</param>
<param name="strIndex">The name of the index to retrieve information for, can be null</param>
<param name="strTable">The table to retrieve index information for, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Tables(System.String,System.String,System.String)">
<summary>
Retrieves table schema information for the database and catalog
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve tables on</param>
<param name="strTable">The table to retrieve, can be null</param>
<param name="strType">The table type, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Views(System.String,System.String)">
<summary>
Retrieves view schema information for the database
</summary>
<param name="strCatalog">The catalog (attached database) to retrieve views on</param>
<param name="strView">The view name, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_Catalogs(System.String)">
<summary>
Retrieves catalog (attached databases) schema information for the database
</summary>
<param name="strCatalog">The catalog to retrieve, can be null</param>
<returns>DataTable</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_IndexColumns(System.String,System.String,System.String,System.String)">
<summary>
Returns the base column information for indexes in a database
</summary>
<param name="strCatalog">The catalog to retrieve indexes for (can be null)</param>
<param name="strTable">The table to restrict index information by (can be null)</param>
<param name="strIndex">The index to restrict index information by (can be null)</param>
<param name="strColumn">The source column to restrict index information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ViewColumns(System.String,System.String,System.String)">
<summary>
Returns detailed column information for a specified view
</summary>
<param name="strCatalog">The catalog to retrieve columns for (can be null)</param>
<param name="strView">The view to restrict column information by (can be null)</param>
<param name="strColumn">The source column to restrict column information by (can be null)</param>
<returns>A DataTable containing the results</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnection.Schema_ForeignKeys(System.String,System.String,System.String)">
<summary>
Retrieves foreign key information from the specified set of filters
</summary>
<param name="strCatalog">An optional catalog to restrict results on</param>
<param name="strTable">An optional table to restrict results on</param>
<param name="strKeyName">An optional foreign key name to restrict results on</param>
<returns>A DataTable with the results of the query</returns>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection._handlers">
<summary>
Static variable to store the connection event handlers to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.StateChange">
<summary>
This event is raised whenever the database is opened or closed.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Changed">
<summary>
This event is raised when events related to the lifecycle of a
SQLiteConnection object occur.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionPool">
<summary>
This property is used to obtain or set the custom connection pool
implementation to use, if any. Setting this property to null will
cause the default connection pool implementation to be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PoolCount">
<summary>
Returns the number of pool entries for the file name associated with this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ConnectionString">
<summary>
The connection string containing the parameters for the connection
</summary>
<remarks>
For the complete list of supported connection string properties,
please see <see cref="T:System.Data.SQLite.SQLiteConnection"/>.
</remarks>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
<summary>
Returns the data source file name without extension or path.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Database">
<summary>
Returns the string "main".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
This can also be set in the ConnectionString with "Default Timeout"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.BusyTimeout">
<summary>
Gets/sets the default busy timeout to use with the SQLite core library. This is only used when
opening a connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.PrepareRetries">
<summary>
The maximum number of retries when preparing SQL to be executed. This
normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProgressOps">
<summary>
The approximate number of virtual machine instructions between progress
events. In order for progress events to actually fire, the event handler
must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event as
well. This value will only be used when the underlying native progress
callback needs to be changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ParseViaFramework">
<summary>
Non-zero if the built-in (i.e. framework provided) connection string
parser should be used when opening the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Flags">
<summary>
Gets/sets the extra behavioral flags for this connection. See the
<see cref="T:System.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
possible values.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultDbType">
<summary>
Gets/sets the default database type for this connection. This value
will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName">
<summary>
Gets/sets the default database type name for this connection. This
value will only be used when not null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.VfsName">
<summary>
Gets/sets the VFS name for this connection. This value will only be
used when opening the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.OwnHandle">
<summary>
Returns non-zero if the underlying native connection handle is
owned by this instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ServerVersion">
<summary>
Returns the version of the underlying SQLite database engine
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.LastInsertRowId">
<summary>
Returns the rowid of the most recent successful INSERT into the database from this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.Changes">
<summary>
Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
this connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.AutoCommit">
<summary>
Returns non-zero if the given database connection is in autocommit mode.
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryUsed">
<summary>
Returns the amount of memory (in bytes) currently in use by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater">
<summary>
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefineConstants">
<summary>
Returns a string containing the define constants (i.e. compile-time
options) used to compile the core managed assembly, delimited with
spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteVersion">
<summary>
Returns the version of the underlying SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteSourceId">
<summary>
This method returns the string whose value is the same as the
SQLITE_SOURCE_ID C preprocessor macro used when compiling the
SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SQLiteCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite core native library, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropVersion">
<summary>
This method returns the version of the interop SQLite assembly
used. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the interop
assembly. If the SQLite interop assembly is not in use or the
necessary information cannot be obtained for any reason, a null
value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.InteropCompileOptions">
<summary>
Returns a string containing the compile-time options used to
compile the SQLite interop assembly, delimited with spaces.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderVersion">
<summary>
This method returns the version of the managed components used
to interact with the SQLite core library. If the necessary
information cannot be obtained for any reason, a null value may
be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.ProviderSourceId">
<summary>
This method returns the string whose value contains the unique
identifier for the source checkout used to build the managed
components currently executing. If the necessary information
cannot be obtained for any reason, a null value may be returned.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DefaultFlags">
<summary>
The default connection flags to be used for all opened connections
when they are not present in the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.SharedFlags">
<summary>
The extra connection flags to be used for all opened connections.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.State">
<summary>
Returns the state of the connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Progress">
<summary>
This event is raised periodically during long running queries. Changing
the value of the <see cref="F:System.Data.SQLite.ProgressEventArgs.ReturnCode"/> property will
determine if the operation in progress will continue or be interrupted.
For the entire duration of the event, the associated connection and
statement objects must not be modified, either directly or indirectly, by
the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Authorize">
<summary>
This event is raised whenever SQLite encounters an action covered by the
authorizer during query preparation. Changing the value of the
<see cref="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode"/> property will determine if
the specific action will be allowed, ignored, or denied. For the entire
duration of the event, the associated connection and statement objects
must not be modified, either directly or indirectly, by the called code.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Update">
<summary>
This event is raised whenever SQLite makes an update/delete/insert into the database on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Commit">
<summary>
This event is raised whenever SQLite is committing a transaction.
Return non-zero to trigger a rollback.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.Trace">
<summary>
This event is raised whenever SQLite statement first begins executing on
this connection. It only applies to the given connection.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteConnection.RollBack">
<summary>
This event is raised whenever SQLite is rolling back a transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnection.DbProviderFactory">
<summary>
Returns the <see cref="T:System.Data.SQLite.SQLiteFactory"/> instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SynchronizationModes">
<summary>
The I/O file cache flushing behavior for the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Normal">
<summary>
Normal file flushing at critical sections of the code
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Full">
<summary>
Full file flushing after every write operation
</summary>
</member>
<member name="F:System.Data.SQLite.SynchronizationModes.Off">
<summary>
Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressEventHandler">
<summary>
Raised each time the number of virtual machine instructions is
approximately equal to the value of the
<see cref="P:System.Data.SQLite.SQLiteConnection.ProgressOps"/> property.
</summary>
<param name="sender">The connection performing the operation.</param>
<param name="e">A <see cref="T:System.Data.SQLite.ProgressEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerEventHandler">
<summary>
Raised when authorization is required to perform an action contained
within a SQL query.
</summary>
<param name="sender">The connection performing the action.</param>
<param name="e">A <see cref="T:System.Data.SQLite.AuthorizerEventArgs"/> that contains the
event data.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCommitHandler">
<summary>
Raised when a transaction is about to be committed. To roll back a transaction, set the
rollbackTrans boolean value to true.
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">Event arguments on the transaction</param>
</member>
<member name="T:System.Data.SQLite.SQLiteUpdateEventHandler">
<summary>
Raised when data is inserted, updated and deleted on a given connection
</summary>
<param name="sender">The connection committing the transaction</param>
<param name="e">The event parameters which triggered the event</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTraceEventHandler">
<summary>
Raised when a statement first begins executing on a given connection
</summary>
<param name="sender">The connection executing the statement</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteBackupCallback">
<summary>
Raised between each backup step.
</summary>
<param name="source">
The source database connection.
</param>
<param name="sourceName">
The source database name.
</param>
<param name="destination">
The destination database connection.
</param>
<param name="destinationName">
The destination database name.
</param>
<param name="pages">
The number of pages copied with each step.
</param>
<param name="remainingPages">
The number of pages remaining to be copied.
</param>
<param name="totalPages">
The total number of pages in the source database.
</param>
<param name="retry">
Set to true if the operation needs to be retried due to database
locking issues; otherwise, set to false.
</param>
<returns>
True to continue with the backup process or false to halt the backup
process, rolling back any changes that have been made so far.
</returns>
</member>
<member name="T:System.Data.SQLite.ProgressEventArgs">
<summary>
The event data associated with progress reporting events.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.ProgressEventArgs.ReturnCode">
<summary>
The return code for the current call into the progress callback.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.ProgressEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteProgressReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="returnCode">
The progress return code.
</param>
</member>
<member name="T:System.Data.SQLite.AuthorizerEventArgs">
<summary>
The data associated with a call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.UserData">
<summary>
The user-defined native data associated with this event. Currently,
this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument1">
<summary>
The first string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument2">
<summary>
The second string argument for the current call into the authorizer.
The exact value will vary based on the action code, see the
<see cref="T:System.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
values.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Database">
<summary>
The database name for the current call into the authorizer, if
applicable.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.Context">
<summary>
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</summary>
</member>
<member name="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor">
<summary>
Constructs an instance of this class with default property values.
</summary>
</member>
<member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteAuthorizerActionCode,System.String,System.String,System.String,System.String,System.Data.SQLite.SQLiteAuthorizerReturnCode)">
<summary>
Constructs an instance of this class with specific property values.
</summary>
<param name="pUserData">
The user-defined native data associated with this event.
</param>
<param name="actionCode">
The authorizer action code.
</param>
<param name="argument1">
The first authorizer argument.
</param>
<param name="argument2">
The second authorizer argument.
</param>
<param name="database">
The database name, if applicable.
</param>
<param name="context">
The name of the inner-most trigger or view that is responsible for
the access attempt or a null value if this access attempt is directly
from top-level SQL code.
</param>
<param name="returnCode">
The authorizer return code.
</param>
</member>
<member name="T:System.Data.SQLite.UpdateEventType">
<summary>
Whenever an update event is triggered on a connection, this enum will indicate
exactly what type of operation is being performed.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Delete">
<summary>
A row is being deleted from the given database and table
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Insert">
<summary>
A row is being inserted into the table.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventType.Update">
<summary>
A row is being updated in the table.
</summary>
</member>
<member name="T:System.Data.SQLite.UpdateEventArgs">
<summary>
Passed during an Update callback, these event arguments detail the type of update operation being performed
on the given connection.
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Database">
<summary>
The name of the database being updated (usually "main" but can be any attached or temporary database)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Table">
<summary>
The name of the table being updated
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.Event">
<summary>
The type of update being performed (insert/update/delete)
</summary>
</member>
<member name="F:System.Data.SQLite.UpdateEventArgs.RowId">
<summary>
The RowId affected by this update.
</summary>
</member>
<member name="T:System.Data.SQLite.CommitEventArgs">
<summary>
Event arguments raised when a transaction is being committed
</summary>
</member>
<member name="F:System.Data.SQLite.CommitEventArgs.AbortTransaction">
<summary>
Set to true to abort the transaction and trigger a rollback
</summary>
</member>
<member name="T:System.Data.SQLite.TraceEventArgs">
<summary>
Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text
</summary>
</member>
<member name="F:System.Data.SQLite.TraceEventArgs.Statement">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteConnectionPool">
<summary>
This interface represents a custom connection pool implementation
usable by System.Data.SQLite.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Add(System.String,System.Object,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.ISQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool">
<summary>
This default method implementations in this class should not be used by
applications that make use of COM (either directly or indirectly) due
to possible deadlocks that can occur during finalization of some COM
objects.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._syncRoot">
<summary>
This field is used to synchronize access to the private static data
in this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._connectionPool">
<summary>
When this field is non-null, it will be used to provide the
implementation of all the connection pool methods; otherwise,
the default method implementations will be used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._queueList">
<summary>
The dictionary of connection pools, based on the normalized file
name of the SQLite database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolVersion">
<summary>
The default version number new pools will get.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolOpened">
<summary>
The number of connections successfully opened from any pool.
This value is incremented by the Remove method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool._poolClosed">
<summary>
The number of connections successfully closed from any pool.
This value is incremented by the Add method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
<summary>
Counts the number of pool entries matching the specified file name.
</summary>
<param name="fileName">
The file name to match or null to match all files.
</param>
<param name="counts">
The pool entry counts for each matching file.
</param>
<param name="openCount">
The total number of connections successfully opened from any pool.
</param>
<param name="closeCount">
The total number of connections successfully closed from any pool.
</param>
<param name="totalCount">
The total number of pool entries for all matching files.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearPool(System.String)">
<summary>
Disposes of all pooled connections associated with the specified
database file name.
</summary>
<param name="fileName">
The database file name.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearAllPools">
<summary>
Disposes of all pooled connections.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Add(System.String,System.Data.SQLite.SQLiteConnectionHandle,System.Int32)">
<summary>
Adds a connection to the pool of those associated with the
specified database file name.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="handle">
The database connection handle.
</param>
<param name="version">
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
<summary>
Removes a connection from the pool of those associated with the
specified database file name with the intent of using it to
interact with the database.
</summary>
<param name="fileName">
The database file name.
</param>
<param name="maxPoolSize">
The new maximum size of the connection pool for the specified
database file name.
</param>
<param name="version">
The connection pool version associated with the returned database
connection handle, if any.
</param>
<returns>
The database connection handle associated with the specified
database file name or null if it cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.GetConnectionPool">
<summary>
This method is used to obtain a reference to the custom connection
pool implementation currently in use, if any.
</summary>
<returns>
The custom connection pool implementation or null if the default
connection pool implementation should be used.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.SetConnectionPool(System.Data.SQLite.ISQLiteConnectionPool)">
<summary>
This method is used to set the reference to the custom connection
pool implementation to use, if any.
</summary>
<param name="connectionPool">
The custom connection pool implementation to use or null if the
default connection pool implementation should be used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.ResizePool(System.Data.SQLite.SQLiteConnectionPool.PoolQueue,System.Boolean)">
<summary>
We do not have to thread-lock anything in this function, because it
is only called by other functions above which already take the lock.
</summary>
<param name="queue">
The pool queue to resize.
</param>
<param name="add">
If a function intends to add to the pool, this is true, which
forces the resize to take one more than it needs from the pool.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionPool.PoolQueue">
<summary>
Keeps track of connections made on a specified file. The PoolVersion
dictates whether old objects get returned to the pool or discarded
when no longer in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.Queue">
<summary>
The queue of weak references to the actual database connection
handles.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.PoolVersion">
<summary>
This pool version associated with the database connection
handles in this pool queue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.MaxPoolSize">
<summary>
The maximum size of this pool queue.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.#ctor(System.Int32,System.Int32)">
<summary>
Constructs a connection pool queue using the specified version
and maximum size. Normally, all the database connection
handles in this pool are associated with a single database file
name.
</summary>
<param name="version">
The initial pool version for this connection pool queue.
</param>
<param name="maxSize">
The initial maximum size for this connection pool queue.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionStringBuilder">
<summary>
SQLite implementation of DbConnectionStringBuilder.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionStringBuilder._properties">
<summary>
Properties of this class
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor">
<overloads>
Constructs a new instance of the class
</overloads>
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor(System.String)">
<summary>
Constructs a new instance of the class using the specified connection string.
</summary>
<param name="connectionString">The connection string to parse</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.Initialize(System.String)">
<summary>
Private initializer, which assigns the connection string and resets the builder
</summary>
<param name="cnnString">The connection string to assign</param>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.TryGetValue(System.String,System.Object@)">
<summary>
Helper function for retrieving values from the connectionstring
</summary>
<param name="keyword">The keyword to retrieve settings for</param>
<param name="value">The resulting parameter value</param>
<returns>Returns true if the value was found and returned</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.FallbackGetProperties(System.Collections.Hashtable)">
<summary>
Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties()
</summary>
<param name="propertyList">The hashtable to fill with property descriptors</param>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Version">
<summary>
Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SyncMode">
<summary>
Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal".
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.UseUTF16Encoding">
<summary>
Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Pooling">
<summary>
Gets/Sets whether or not to use connection pooling. The default is "False"
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BinaryGUID">
<summary>
Gets/Sets whethor not to store GUID's in binary format. The default is True
which saves space in the database.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
<summary>
Gets/Sets the filename to open on the connection string.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Uri">
<summary>
An alternate to the data source property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FullUri">
<summary>
An alternate to the data source property that uses the SQLite URI syntax.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTimeout">
<summary>
Gets/sets the default command timeout for newly-created commands. This is especially useful for
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BusyTimeout">
<summary>
Gets/sets the busy timeout to use with the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PrepareRetries">
<summary>
Gets/sets the maximum number of retries when preparing SQL to be executed.
This normally only applies to preparation errors resulting from the database
schema being changed.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ProgressOps">
<summary>
Gets/sets the approximate number of virtual machine instructions between
progress events. In order for progress events to actually fire, the event
handler must be added to the <see cref="E:System.Data.SQLite.SQLiteConnection.Progress"/> event
as well.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Enlist">
<summary>
Determines whether or not the connection will automatically participate
in the current distributed transaction (if one exists)
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FailIfMissing">
<summary>
If set to true, will throw an exception if the database specified in the connection
string does not exist. If false, the database will be created automatically.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.LegacyFormat">
<summary>
If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger
database sizes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ReadOnly">
<summary>
When enabled, the database will be opened for read-only access and writing will be disabled.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Password">
<summary>
Gets/sets the database encryption password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.HexPassword">
<summary>
Gets/sets the database encryption hexadecimal password
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
<summary>
Gets/Sets the page size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.MaxPageCount">
<summary>
Gets/Sets the maximum number of pages the database may hold
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.CacheSize">
<summary>
Gets/Sets the cache size for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormat">
<summary>
Gets/Sets the DateTime format for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeKind">
<summary>
Gets/Sets the DateTime kind for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormatString">
<summary>
Gets/sets the DateTime format string used for formatting
and parsing purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BaseSchemaName">
<summary>
Gets/Sets the placeholder base schema name used for
.NET Framework compatibility purposes.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.JournalMode">
<summary>
Determines how SQLite handles the transaction journal file.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultIsolationLevel">
<summary>
Sets the default isolation level for transactions on the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultDbType">
<summary>
Gets/sets the default database type for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTypeName">
<summary>
Gets/sets the default type name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.VfsName">
<summary>
Gets/sets the VFS name for the connection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ForeignKeys">
<summary>
If enabled, use foreign key constraints
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.RecursiveTriggers">
<summary>
Enable or disable the recursive trigger capability.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ZipVfsVersion">
<summary>
If non-null, this is the version of ZipVFS to use. This requires the
System.Data.SQLite interop assembly -AND- primary managed assembly to
be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
property does nothing.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Flags">
<summary>
Gets/Sets the extra behavioral flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SetDefaults">
<summary>
If enabled, apply the default connection settings to opened databases.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ToFullPath">
<summary>
If enabled, attempt to resolve the provided data source file name to a
full path before opening.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoDefaultFlags">
<summary>
If enabled, skip using the configured default connection flags.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoSharedFlags">
<summary>
If enabled, skip using the configured shared connection flags.
</summary>
</member>
<member name="T:System.Data.SQLite.TypeAffinity">
<summary>
SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite
understands. The DateTime extension to the spec is for internal use only.
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
<summary>
Not used
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Int64">
<summary>
All integers in SQLite default to Int64
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Double">
<summary>
All floating point numbers in SQLite default to double
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Text">
<summary>
The default data type of SQLite is text
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Blob">
<summary>
Typically blob types are only seen when returned from a function
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.Null">
<summary>
Null types can be returned from functions
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.DateTime">
<summary>
Used internally by this provider
</summary>
</member>
<member name="F:System.Data.SQLite.TypeAffinity.None">
<summary>
Used internally by this provider
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteConnectionEventType">
<summary>
These are the event types associated with the
<see cref="T:System.Data.SQLite.SQLiteConnectionEventHandler"/>
delegate (and its corresponding event) and the
<see cref="T:System.Data.SQLite.ConnectionEventArgs"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Invalid">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Unknown">
<summary>
Not used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opening">
<summary>
The connection is being opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ConnectionString">
<summary>
The connection string has been parsed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opened">
<summary>
The connection was opened.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase">
<summary>
The <see cref="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase"/> method was called on the
connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewTransaction">
<summary>
A transaction was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.EnlistTransaction">
<summary>
The connection was enlisted into a transaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCommand">
<summary>
A command was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewDataReader">
<summary>
A data reader was created using the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCriticalHandle">
<summary>
An instance of a <see cref="T:System.Runtime.InteropServices.CriticalHandle"/> derived class has
been created to wrap a native resource.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closing">
<summary>
The connection is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closed">
<summary>
The connection was closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingCommand">
<summary>
A command is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingDataReader">
<summary>
A data reader is being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosingDataReader">
<summary>
A data reader is being closed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.OpenedFromPool">
<summary>
A native resource was opened (i.e. obtained) from the pool.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosedToPool">
<summary>
A native resource was closed (i.e. released) to the pool.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDateFormats">
<summary>
This implementation of SQLite for ADO.NET can process date/time fields in
databases in one of six formats.
</summary>
<remarks>
ISO8601 format is more compatible, readable, fully-processable, but less
accurate as it does not provide time down to fractions of a second.
JulianDay is the numeric format the SQLite uses internally and is arguably
the most compatible with 3rd party tools. It is not readable as text
without post-processing. Ticks less compatible with 3rd party tools that
query the database, and renders the DateTime field unreadable as text
without post-processing. UnixEpoch is more compatible with Unix systems.
InvariantCulture allows the configured format for the invariant culture
format to be used and is human readable. CurrentCulture allows the
configured format for the current culture to be used and is also human
readable.
The preferred order of choosing a DateTime format is JulianDay, ISO8601,
and then Ticks. Ticks is mainly present for legacy code support.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
<summary>
Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
<summary>
Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and
"yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
<summary>
The interval of time in days and fractions of a day since January 1, 4713 BC.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.UnixEpoch">
<summary>
The whole number of seconds since the Unix epoch (January 1, 1970).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.InvariantCulture">
<summary>
Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.CurrentCulture">
<summary>
Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDateFormats.Default">
<summary>
The default format for this provider.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
<summary>
This enum determines how SQLite treats its journal file.
</summary>
<remarks>
By default SQLite will create and delete the journal file when needed during a transaction.
However, for some computers running certain filesystem monitoring tools, the rapid
creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
when starting a transaction. If this is happening, you may want to change the default journal mode to Persist.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Default">
<summary>
The default mode, this causes SQLite to use the existing journaling mode for the database.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
<summary>
SQLite will create and destroy the journal file as-needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
<summary>
When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased,
and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
<summary>
This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database
corruption in this mode!
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Truncate">
<summary>
SQLite will truncate the journal file to zero-length instead of deleting it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Memory">
<summary>
SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity.
If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the
database file will very likely go corrupt.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Wal">
<summary>
SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent;
after being set it stays in effect across multiple database connections and after closing and reopening the database. A database
in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteSynchronousEnum">
<summary>
Possible values for the "synchronous" database setting. This setting determines
how often the database engine calls the xSync method of the VFS.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Default">
<summary>
Use the default "synchronous" database setting. Currently, this should be
the same as using the FULL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Off">
<summary>
The database engine continues without syncing as soon as it has handed
data off to the operating system. If the application running SQLite
crashes, the data will be safe, but the database might become corrupted
if the operating system crashes or the computer loses power before that
data has been written to the disk surface.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Normal">
<summary>
The database engine will still sync at the most critical moments, but
less often than in FULL mode. There is a very small (though non-zero)
chance that a power failure at just the wrong time could corrupt the
database in NORMAL mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Full">
<summary>
The database engine will use the xSync method of the VFS to ensure that
all content is safely written to the disk surface prior to continuing.
This ensures that an operating system crash or power failure will not
corrupt the database. FULL synchronous is very safe, but it is also
slower.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteExecuteType">
<summary>
The requested command execution type. This controls which method of the
<see cref="T:System.Data.SQLite.SQLiteCommand"/> object will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.None">
<summary>
Do nothing. No method will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.NonQuery">
<summary>
The command is not expected to return a result -OR- the result is not
needed. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)"/> method
will be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Scalar">
<summary>
The command is expected to return a scalar result -OR- the result should
be limited to a scalar result. The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar"/>
or <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Reader">
<summary>
The command is expected to return <see cref="T:System.Data.SQLite.SQLiteDataReader"/> result.
The <see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader"/> or
<see cref="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)"/> method will
be called.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteExecuteType.Default">
<summary>
Use the default command execution type. Using this value is the same
as using the <see cref="F:System.Data.SQLite.SQLiteExecuteType.NonQuery"/> value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerActionCode">
<summary>
The action code responsible for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.None">
<summary>
No action is being performed. This value should not be used from
external code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Copy">
<summary>
No longer used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateIndex">
<summary>
An index will be created. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTable">
<summary>
A table will be created. The action-specific arguments are the
table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempIndex">
<summary>
A temporary index will be created. The action-specific arguments
are the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTable">
<summary>
A temporary table will be created. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTrigger">
<summary>
A temporary trigger will be created. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempView">
<summary>
A temporary view will be created. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTrigger">
<summary>
A trigger will be created. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateView">
<summary>
A view will be created. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Delete">
<summary>
A DELETE statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropIndex">
<summary>
An index will be dropped. The action-specific arguments are the
index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTable">
<summary>
A table will be dropped. The action-specific arguments are the tables
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempIndex">
<summary>
A temporary index will be dropped. The action-specific arguments are
the index name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTable">
<summary>
A temporary table will be dropped. The action-specific arguments are
the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTrigger">
<summary>
A temporary trigger will be dropped. The action-specific arguments
are the trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempView">
<summary>
A temporary view will be dropped. The action-specific arguments are
the view name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTrigger">
<summary>
A trigger will be dropped. The action-specific arguments are the
trigger name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropView">
<summary>
A view will be dropped. The action-specific arguments are the view
name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Insert">
<summary>
An INSERT statement will be executed. The action-specific arguments
are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Pragma">
<summary>
A PRAGMA statement will be executed. The action-specific arguments
are the name of the PRAGMA and the new value or a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Read">
<summary>
A table column will be read. The action-specific arguments are the
table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Select">
<summary>
A SELECT statement will be executed. The action-specific arguments
are both null values.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Transaction">
<summary>
A transaction will be started, committed, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
COMMIT, or ROLLBACK) and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Update">
<summary>
An UPDATE statement will be executed. The action-specific arguments
are the table name and the column name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Attach">
<summary>
A database will be attached to the connection. The action-specific
arguments are the database file name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Detach">
<summary>
A database will be detached from the connection. The action-specific
arguments are the database name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.AlterTable">
<summary>
The schema of a table will be altered. The action-specific arguments
are the database name and the table name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Reindex">
<summary>
An index will be deleted and then recreated. The action-specific
arguments are the index name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Analyze">
<summary>
A table will be analyzed to gathers statistics about it. The
action-specific arguments are the table name and a null value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateVtable">
<summary>
A virtual table will be created. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropVtable">
<summary>
A virtual table will be dropped. The action-specific arguments are
the table name and the module name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Function">
<summary>
A SQL function will be called. The action-specific arguments are a
null value and the function name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Savepoint">
<summary>
A savepoint will be created, released, or rolled back. The
action-specific arguments are the name of the operation (BEGIN,
RELEASE, or ROLLBACK) and the savepoint name.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Recursive">
<summary>
A recursive query will be executed. The action-specific arguments
are two null values.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteProgressReturnCode">
<summary>
The possible return codes for the progress callback.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Continue">
<summary>
The operation should continue.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Interrupt">
<summary>
The operation should be interrupted.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteAuthorizerReturnCode">
<summary>
The return code for the current call into the authorizer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ok">
<summary>
The action will be allowed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Deny">
<summary>
The overall action will be disallowed and an error message will be
returned from the query preparation method.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ignore">
<summary>
The specific action will be disallowed; however, the overall action
will continue. The exact effects of this return code vary depending
on the specific action, please refer to the SQLite core library
documentation for futher details.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteType">
<summary>
Class used internally to determine the datatype of a column in a resultset
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Type">
<summary>
The DbType of the column, or DbType.Object if it cannot be determined
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteType.Affinity">
<summary>
The affinity of a column, used for expressions or when Type is DbType.Object
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor">
<summary>
Constructs a default instance of this type.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteType.#ctor(System.Data.SQLite.TypeAffinity,System.Data.DbType)">
<summary>
Constructs an instance of this type with the specified field values.
</summary>
<param name="affinity">
The type affinity to use for the new instance.
</param>
<param name="type">
The database type to use for the new instance.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteDataAdapter">
<summary>
SQLite implementation of DbDataAdapter.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor">
<overloads>
This class is just a shell around the DbDataAdapter. Nothing from
DbDataAdapter is overridden here, just a few constructors are defined.
</overloads>
<summary>
Default constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Constructs a data adapter using the specified select command.
</summary>
<param name="cmd">
The select command to associate with the adapter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
<summary>
Constructs a data adapter with the supplied select command text and
associated with the specified connection.
</summary>
<param name="commandText">
The select command text to associate with the data adapter.
</param>
<param name="connection">
The connection to associate with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String,System.Boolean)">
<summary>
Constructs a data adapter with the specified select command text,
and using the specified database connection string.
</summary>
<param name="commandText">
The select command text to use to construct a select command.
</param>
<param name="connectionString">
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
</param>
<param name="parseViaFramework">
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdating(System.Data.Common.RowUpdatingEventArgs)">
<summary>
Raised by the underlying DbDataAdapter when a row is being updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdated(System.Data.Common.RowUpdatedEventArgs)">
<summary>
Raised by DbDataAdapter after a row is updated
</summary>
<param name="value">The event's specifics</param>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdating">
<summary>
Row updating event handler
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdated">
<summary>
Row updated event handler
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.SelectCommand">
<summary>
Gets/sets the select command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.InsertCommand">
<summary>
Gets/sets the insert command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.UpdateCommand">
<summary>
Gets/sets the update command for this DataAdapter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataAdapter.DeleteCommand">
<summary>
Gets/sets the delete command for this DataAdapter
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteDataReader">
<summary>
SQLite implementation of DbDataReader.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._command">
<summary>
Underlying command this reader is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._flags">
<summary>
The flags pertaining to the associated connection (via the command).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatementIndex">
<summary>
Index of the current statement in the command being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._activeStatement">
<summary>
Current statement being Read()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._readingState">
<summary>
State of the current statement being processed.
-1 = First Step() executed, so the first Read() will be ignored
0 = Actively reading
1 = Finished reading
2 = Non-row-returning statement, no records
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._rowsAffected">
<summary>
Number of records affected by the insert/update statements executed on the command
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldCount">
<summary>
Count of fields (columns) in the row-returning statement currently being processed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._stepCount">
<summary>
The number of calls to Step() that have returned true (i.e. the number of rows that
have been read in the current result set).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldIndexes">
<summary>
Maps the field (column) names to their corresponding indexes within the results.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._fieldTypeArray">
<summary>
Datatypes of active fields (columns) in the current statement, used for type-restricting data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._commandBehavior">
<summary>
The behavior of the datareader
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._disposeCommand">
<summary>
If set, then dispose of the command object when the reader is finished
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._throwOnDisposed">
<summary>
If set, then raise an exception when the object is accessed after being disposed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._keyInfo">
<summary>
An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._version">
<summary>
Matches the version of the connection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDataReader._baseSchemaName">
<summary>
The "stub" (i.e. placeholder) base schema name to use when returning
column schema information. Matches the base schema name used by the
associated connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.#ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)">
<summary>
Internal constructor, initializes the datareader and sets up to begin executing statements
</summary>
<param name="cmd">The SQLiteCommand this data reader is for</param>
<param name="behave">The expected behavior of the data reader</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Dispose(System.Boolean)">
<summary>
Dispose of all resources used by this datareader.
</summary>
<param name="disposing"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Close">
<summary>
Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckClosed">
<summary>
Throw an error if the datareader is closed
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.CheckValidRow">
<summary>
Throw an error if a row is not loaded
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetEnumerator">
<summary>
Enumerator support
</summary>
<returns>Returns a DbEnumerator object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.RefreshFlags">
<summary>
Forces the connection flags cached by this data reader to be refreshed
from the underlying connection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyForGet">
<summary>
This method is used to make sure the result set is open and a row is currently available.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.VerifyType(System.Int32,System.Data.DbType)">
<summary>
SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table
and the affinity of returned types are all we have to go on to type-restrict data in the reader.
This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In
the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do.
</summary>
<returns>
This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
</returns>
<param name="i">The index of the column to type-check</param>
<param name="typ">The type we want to get out of the column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBoolean(System.Int32)">
<summary>
Retrieves the column as a boolean value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>bool</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetByte(System.Int32)">
<summary>
Retrieves the column as a single byte value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>byte</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of bytes (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldOffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the bytes into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of bytes written into the array</returns>
<remarks>
To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChar(System.Int32)">
<summary>
Returns the column as a single character
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>char</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
<summary>
Retrieves a column as an array of chars (blob)
</summary>
<param name="i">The index of the column to retrieve</param>
<param name="fieldoffset">The zero-based index of where to begin reading the data</param>
<param name="buffer">The buffer to write the characters into</param>
<param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
<param name="length">The number of bytes to retrieve</param>
<returns>The actual number of characters written into the array</returns>
<remarks>
To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDataTypeName(System.Int32)">
<summary>
Retrieves the name of the back-end datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDateTime(System.Int32)">
<summary>
Retrieve the column as a date/time value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>DateTime</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDecimal(System.Int32)">
<summary>
Retrieve the column as a decimal value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>decimal</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetDouble(System.Int32)">
<summary>
Returns the column as a double
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>double</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFieldType(System.Int32)">
<summary>
Returns the .NET type of a given column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Type</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetFloat(System.Int32)">
<summary>
Returns a column as a float value
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>float</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetGuid(System.Int32)">
<summary>
Returns the column as a Guid
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Guid</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt16(System.Int32)">
<summary>
Returns the column as a short
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int16</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt32(System.Int32)">
<summary>
Retrieves the column as an int
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int32</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetInt64(System.Int32)">
<summary>
Retrieves the column as a long
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>Int64</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetName(System.Int32)">
<summary>
Retrieves the name of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetOrdinal(System.String)">
<summary>
Retrieves the i of a column, given its name
</summary>
<param name="name">The name of the column to retrieve</param>
<returns>The int i of the column</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSchemaTable">
<summary>
Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done
to gather the necessary information so it can be represented in an ADO.NET manner.
</summary>
<returns>Returns a DataTable containing the schema information for the active SELECT statement being processed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetString(System.Int32)">
<summary>
Retrieves the column as a string
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>string</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValue(System.Int32)">
<summary>
Retrieves the column as an object corresponding to the underlying datatype of the column
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues(System.Object[])">
<summary>
Retreives the values of multiple columns, up to the size of the supplied array
</summary>
<param name="values">The array to fill with values from the columns in the current resultset</param>
<returns>The number of columns retrieved</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetValues">
<summary>
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no
current row or no current resultset, an exception may be thrown.
</summary>
<returns>
The collection containing the column name and value information for the
current row of data in the current resultset or null if this information
cannot be obtained.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.IsDBNull(System.Int32)">
<summary>
Returns True if the specified column is null
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>True or False</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.NextResult">
<summary>
Moves to the next resultset in multiple row-returning SQL command.
</summary>
<returns>True if the command was successful and a new resultset is available, False otherwise.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetConnection(System.Data.SQLite.SQLiteDataReader)">
<summary>
This method attempts to query the database connection associated with
the data reader in use. If the underlying command or connection is
unavailable, a null value will be returned.
</summary>
<returns>
The connection object -OR- null if it is unavailable.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteType,System.String)">
<summary>
Retrieves the SQLiteType for a given column and row value.
</summary>
<param name="oldType">
The original SQLiteType structure, based only on the column.
</param>
<param name="text">
The textual value of the column for a given row.
</param>
<returns>
The SQLiteType structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteConnectionFlags,System.Int32)">
<summary>
Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
</summary>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="i">The index of the column to retrieve</param>
<returns>A SQLiteType structure</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDataReader.Read">
<summary>
Reads the next row from the resultset
</summary>
<returns>True if a new row was successfully loaded and is ready for processing</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Depth">
<summary>
Not implemented. Returns 0
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.FieldCount">
<summary>
Returns the number of columns in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.StepCount">
<summary>
Returns the number of rows seen so far in the current result set.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.VisibleFieldCount">
<summary>
Returns the number of visible fields in the current resultset
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.HasRows">
<summary>
Returns True if the resultset has rows that can be fetched
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.IsClosed">
<summary>
Returns True if the data reader is closed
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.RecordsAffected">
<summary>
Returns the number of rows affected by the statement being executed.
The value returned may not be accurate for DDL statements. Also, it
will be -1 for any statement that does not modify the database (e.g.
SELECT). If an otherwise read-only statement modifies the database
indirectly (e.g. via a virtual table or user-defined function), the
value returned is undefined.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.String)">
<summary>
Indexer to retrieve data from a column given its name
</summary>
<param name="name">The name of the column to retrieve data for</param>
<returns>The value contained in the column</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.Int32)">
<summary>
Indexer to retrieve data from a column given its i
</summary>
<param name="i">The index of the column to retrieve</param>
<returns>The value contained in the column</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteException">
<summary>
SQLite exception class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Private constructor for use with serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Public constructor for generating a SQLite exception given the error
code and message.
</summary>
<param name="errorCode">
The SQLite return code to report.
</param>
<param name="message">
Message text to go along with the return code message text.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String)">
<summary>
Public constructor that uses the base class constructor for the error
message.
</summary>
<param name="message">Error message text.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor">
<summary>
Public constructor that uses the default base class constructor.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String,System.Exception)">
<summary>
Public constructor that uses the base class constructor for the error
message and inner exception.
</summary>
<param name="message">Error message text.</param>
<param name="innerException">The original (inner) exception.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Adds extra information to the serialized object data specific to this
class type. This is only used for serialization.
</summary>
<param name="info">
Holds the serialized object data about the exception being thrown.
</param>
<param name="context">
Contains contextual information about the source or destination.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Returns the error message for the specified SQLite return code.
</summary>
<param name="errorCode">The SQLite return code.</param>
<returns>The error message or null if it cannot be found.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteException.GetStockErrorMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Returns the composite error message based on the SQLite return code
and the optional detailed error message.
</summary>
<param name="errorCode">The SQLite return code.</param>
<param name="message">Optional detailed error message.</param>
<returns>Error message text for the return code.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ResultCode">
<summary>
Gets the associated SQLite result code for this exception as a
<see cref="T:System.Data.SQLite.SQLiteErrorCode"/>. This property returns the same
underlying value as the <see cref="P:System.Data.SQLite.SQLiteException.ErrorCode"/> property.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteException.ErrorCode">
<summary>
Gets the associated SQLite return code for this exception as an
<see cref="T:System.Int32"/>. For desktop versions of the .NET Framework,
this property overrides the property of the same name within the
<see cref="T:System.Runtime.InteropServices.ExternalException"/>
class. This property returns the same underlying value as the
<see cref="P:System.Data.SQLite.SQLiteException.ResultCode"/> property.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteErrorCode">
<summary>
SQLite error codes. Actually, this enumeration represents a return code,
which may also indicate success in one of several ways (e.g. SQLITE_OK,
SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is
something of a misnomer.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Unknown">
<summary>
The error code is unknown. This error code
is only used by the managed wrapper itself.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Ok">
<summary>
Successful result
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Error">
<summary>
SQL error or missing database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Internal">
<summary>
Internal logic error in SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Perm">
<summary>
Access permission denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort">
<summary>
Callback routine requested an abort
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy">
<summary>
The database file is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked">
<summary>
A table in the database is locked
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoMem">
<summary>
A malloc() failed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly">
<summary>
Attempt to write a readonly database
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Interrupt">
<summary>
Operation terminated by sqlite3_interrupt()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr">
<summary>
Some kind of disk I/O error occurred
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt">
<summary>
The database disk image is malformed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotFound">
<summary>
Unknown opcode in sqlite3_file_control()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Full">
<summary>
Insertion failed because database is full
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen">
<summary>
Unable to open the database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Protocol">
<summary>
Database lock protocol error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Empty">
<summary>
Database is empty
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Schema">
<summary>
The database schema changed
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.TooBig">
<summary>
String or BLOB exceeds size limit
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint">
<summary>
Abort due to constraint violation
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Mismatch">
<summary>
Data type mismatch
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Misuse">
<summary>
Library used incorrectly
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NoLfs">
<summary>
Uses OS features not supported on host
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth">
<summary>
Authorization denied
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Format">
<summary>
Auxiliary database format error
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Range">
<summary>
2nd parameter to sqlite3_bind out of range
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NotADb">
<summary>
File opened that is not a database file
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice">
<summary>
Notifications from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning">
<summary>
Warnings from sqlite3_log()
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Row">
<summary>
sqlite3_step() has another row ready
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Done">
<summary>
sqlite3_step() has finished executing
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.NonExtendedMask">
<summary>
Used to mask off extended result codes
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Read">
<summary>
A file read operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Short_Read">
<summary>
A file read operation returned less data than requested.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Write">
<summary>
A file write operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fsync">
<summary>
A file synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Fsync">
<summary>
A directory synchronization operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Truncate">
<summary>
A file truncate operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fstat">
<summary>
A file metadata operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Unlock">
<summary>
A file unlock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_RdLock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete">
<summary>
A file delete operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Blocked">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_NoMem">
<summary>
Out-of-memory during a file operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Access">
<summary>
A file existence/status operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_CheckReservedLock">
<summary>
A check for a reserved lock failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Lock">
<summary>
A file lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Close">
<summary>
A file close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Close">
<summary>
A directory close operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmOpen">
<summary>
A shared memory open operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmSize">
<summary>
A shared memory size operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmLock">
<summary>
A shared memory lock operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmMap">
<summary>
A shared memory map operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Seek">
<summary>
A file seek operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete_NoEnt">
<summary>
A file delete operation failed because it does not exist.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Mmap">
<summary>
A file memory mapping operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_GetTempPath">
<summary>
The temporary directory path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ConvPath">
<summary>
A path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Locked_SharedCache">
<summary>
A database table is locked in shared-cache mode.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Recovery">
<summary>
A database file is locked due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Snapshot">
<summary>
A database file is locked due to snapshot semantics.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_NoTempDir">
<summary>
A database file cannot be opened because no temporary directory is available.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_IsDir">
<summary>
A database file cannot be opened because its path represents a directory.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_FullPath">
<summary>
A database file cannot be opened because its full path could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_ConvPath">
<summary>
A database file cannot be opened because a path string conversion operation failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt_Vtab">
<summary>
A virtual table is malformed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Recovery">
<summary>
A database file is read-only due to a recovery operation.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_CantLock">
<summary>
A database file is read-only because a lock could not be obtained.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Rollback">
<summary>
A database file is read-only because it needs rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_DbMoved">
<summary>
A database file is read-only because it was moved while open.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Abort_Rollback">
<summary>
An operation is being aborted due to rollback processing.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Check">
<summary>
A CHECK constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_CommitHook">
<summary>
A commit hook produced a unsuccessful return code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_ForeignKey">
<summary>
A FOREIGN KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Function">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_NotNull">
<summary>
A NOT NULL constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_PrimaryKey">
<summary>
A PRIMARY KEY constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Trigger">
<summary>
The RAISE function was used by a trigger-program.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Unique">
<summary>
A UNIQUE constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Vtab">
<summary>
Not currently used.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_RowId">
<summary>
A ROWID constraint failed.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Wal">
<summary>
Frames were recovered from the WAL log file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Rollback">
<summary>
Pages were recovered from the journal file.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Warning_AutoIndex">
<summary>
An automatic index was created to process a query.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteErrorCode.Auth_User">
<summary>
User authentication failed.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFactory">
<summary>
SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
</summary>
<summary>
SQLite implementation of <see cref="T:System.IServiceProvider"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.#ctor">
<summary>
Constructs a new instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Dispose">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFactory.Instance">
<summary>
Static instance member which returns an instanced <see cref="T:System.Data.SQLite.SQLiteFactory"/> class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommand">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommand"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateCommandBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteCommandBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnection">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnection"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateConnectionStringBuilder">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteConnectionStringBuilder"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateDataAdapter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteDataAdapter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.CreateParameter">
<summary>
Creates and returns a new <see cref="T:System.Data.SQLite.SQLiteParameter"/> object.
</summary>
<returns>The new object.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFactory.System#IServiceProvider#GetService(System.Type)">
<summary>
Will provide a <see cref="T:System.IServiceProvider"/> object in .NET 3.5.
</summary>
<param name="serviceType">The class or interface type to query for.</param>
<returns></returns>
</member>
<member name="E:System.Data.SQLite.SQLiteFactory.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application. This event is provided for backward compatibility only.
New code should use the <see cref="T:System.Data.SQLite.SQLiteLog"/> class instead.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunction">
<summary>
This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each
connection to the database.
</summary>
<remarks>
Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database
calls during processing.
It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class
services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement
information in member variables of user-defined function classes.
For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will
be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes.
</remarks>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._base">
<summary>
The base connection this function is attached to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._contextDataList">
<summary>
Internal array used to keep track of aggregate function context data
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._flags">
<summary>
The connection flags associated with this object (this should be the
same value as the flags associated with the parent connection object).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._InvokeFunc">
<summary>
Holds a reference to the callback function for user functions
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._StepFunc">
<summary>
Holds a reference to the callbakc function for stepping in an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._FinalFunc">
<summary>
Holds a reference to the callback function for finalizing an aggregate function
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._CompareFunc">
<summary>
Holds a reference to the callback function for collating sequences
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._context">
<summary>
Current context of the current callback. Only valid during a callback
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteFunction._registeredFunctions">
<summary>
This static dictionary contains all the registered (known) user-defined
functions declared using the proper attributes. The contained dictionary
values are always null and are not currently used.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor">
<summary>
Internal constructor, initializes the function's internal variables.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.Boolean)">
<summary>
Constructs an instance of this class using the specified data-type
conversion parameters.
</summary>
<param name="format">
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
</param>
<param name="kind">
The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
values.
</param>
<param name="formatString">
The format string to be used when parsing and formatting DateTime
values.
</param>
<param name="utf16">
Non-zero to create a UTF-16 data-type conversion context; otherwise,
a UTF-8 data-type conversion context will be created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose">
<summary>
Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if
someone closes the connection while a DataReader is open.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Dispose(System.Boolean)">
<summary>
Placeholder for a user-defined disposal routine
</summary>
<param name="disposing">True if the object is being disposed explicitly</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Finalize">
<summary>
Cleans up resources associated with the current instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])">
<summary>
Scalar functions override this method to do their magic.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="args">The arguments for the command to process</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
Aggregate functions override this method to do their magic.
</summary>
<remarks>
Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible.
</remarks>
<param name="args">The arguments for the command to process</param>
<param name="stepNumber">The 1-based step number. This is incrememted each time the step method is called.</param>
<param name="contextData">A placeholder for implementers to store contextual data pertaining to the current context.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)">
<summary>
Aggregate functions override this method to finish their aggregate processing.
</summary>
<remarks>
If you implemented your aggregate function properly,
you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have
all the information you need in there to figure out what to return.
NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will
be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value
if that is the case.
</remarks>
<param name="contextData">Your own assigned contextData, provided for you so you can return your final results.</param>
<returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
just return it!
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)">
<summary>
User-defined collating sequences override this method to provide a custom string sorting algorithm.
</summary>
<param name="param1">The first string to compare.</param>
<param name="param2">The second strnig to compare.</param>
<returns>1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ConvertParams(System.Int32,System.IntPtr)">
<summary>
Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to.
</summary>
<remarks>
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
to force them into a certain type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
</remarks>
<param name="nArgs">The number of arguments</param>
<param name="argsptr">A pointer to the array of arguments</param>
<returns>An object array of the arguments once they've been converted to .NET values</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.SetReturnValue(System.IntPtr,System.Object)">
<summary>
Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context.
</summary>
<param name="context">The context the return value applies to</param>
<param name="returnValue">The parameter to return to SQLite</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.ScalarCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback16(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
WARNING: Must not throw exceptions.
</summary>
<param name="ptr">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="ptr1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="ptr2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second. Returns 0 if an exception is caught.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.StepCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method.
WARNING: Must not throw exceptions.
</summary>
<remarks>
This function takes care of doing the lookups and getting the important information put together to call the Step() function.
That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so
binary searches can be done to find the data.
</remarks>
<param name="context">A raw context pointer</param>
<param name="nArgs">Number of arguments passed in</param>
<param name="argsptr">A pointer to the array of arguments</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr)">
<summary>
An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
WARNING: Must not throw exceptions.
</summary>
<param name="context">A raw context pointer</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.#cctor">
<summary>
Using reflection, enumerate all assemblies in the current appdomain looking for classes that
have a SQLiteFunctionAttribute attribute, and registering them accordingly.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.Type)">
<summary>
Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work
properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported.
</summary>
<param name="typ">The type of the function to register</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.String,System.Int32,System.Data.SQLite.FunctionType,System.Type,System.Delegate,System.Delegate)">
<summary>
Alternative method of registering a function. This method
does not require the specified type to be annotated with
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="name">
The name of the function to register.
</param>
<param name="argumentCount">
The number of arguments accepted by the function.
</param>
<param name="functionType">
The type of SQLite function being resitered (e.g. scalar,
aggregate, or collating sequence).
</param>
<param name="instanceType">
The <see cref="T:System.Type"/> that actually implements the function.
This will only be used if the <paramref name="callback1"/>
and <paramref name="callback2"/> parameters are null.
</param>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/>,
<see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/>,
and <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> virtual methods.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> virtual method. This
parameter is only necessary for aggregate functions.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.CreateFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction@)">
<summary>
Creates a <see cref="T:System.Data.SQLite.SQLiteFunction"/> instance based on the specified
<see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/>.
</summary>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> containing the metadata about
the function to create.
</param>
<param name="function">
The created function -OR- null if the function could not be created.
</param>
<returns>
Non-zero if the function was created; otherwise, zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection.
It is done this way so that all user-defined functions will access the database using the same encoding scheme
as the connection (UTF-8 or UTF-16).
</summary>
<remarks>
The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks.
</remarks>
<param name="sqlbase">The base object on which the functions are to bind.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<returns>Returns a logical list of functions which the connection should retain until it is closed.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindAllFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Boolean)">
<summary>
Called by the SQLiteBase derived classes, this method unbinds all registered (known)
functions -OR- all previously bound user-defined functions from a connection.
</summary>
<param name="sqlbase">The base object from which the functions are to be unbound.</param>
<param name="flags">The flags associated with the parent connection object.</param>
<param name="registered">
Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions
currently bound to the connection.
</param>
<returns>Non-zero if all the specified user-defined functions were unbound.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.BindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function binds a user-defined function to a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteFunction.UnbindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
<summary>
This function unbinds a user-defined functions from a connection.
</summary>
<param name="sqliteBase">
The <see cref="T:System.Data.SQLite.SQLiteBase"/> object instance associated with the
<see cref="T:System.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
</param>
<param name="functionAttribute">
The <see cref="T:System.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
the metadata for the function to be bound.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance that implements the
function to be bound.
</param>
<param name="flags">
The flags associated with the parent connection object.
</param>
<returns>Non-zero if the function was unbound.</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteFunction.SQLiteConvert">
<summary>
Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
strings and DateTime's into the current connection's encoding schema.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteInvokeDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</summary>
<param name="param0">
This is always the string literal "Invoke".
</param>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStepDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</summary>
<param name="param0">
This is always the string literal "Step".
</param>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method.
</summary>
<param name="param0">
This is always the string literal "Final".
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteCompareDelegate">
<summary>
This <see cref="T:System.Delegate"/> type is used with the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method.
</summary>
<param name="param0">
This is always the string literal "Compare".
</param>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteDelegateFunction">
<summary>
This class implements a SQLite function using a <see cref="T:System.Delegate"/>.
All the virtual methods of the <see cref="T:System.Data.SQLite.SQLiteFunction"/> class are
implemented using calls to the <see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/>,
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/>, <see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/>,
and <see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> strongly typed delegate types
or via the <see cref="M:System.Delegate.DynamicInvoke(System.Object[])"/> method.
The arguments are presented in the same order they appear in
the associated <see cref="T:System.Data.SQLite.SQLiteFunction"/> methods with one exception:
the first argument is the name of the virtual method being implemented.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.NoCallbackError">
<summary>
This error message is used by the overridden virtual methods when
a required <see cref="T:System.Delegate"/> property (e.g.
<see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1"/> or <see cref="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2"/>) has not been
set.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteDelegateFunction.ResultInt32Error">
<summary>
This error message is used by the overridden <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/>
method when the result does not have a type of <see cref="T:System.Int32"/>.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor">
<summary>
Constructs an empty instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor(System.Delegate,System.Delegate)">
<summary>
Constructs an instance of this class using the specified
<see cref="T:System.Delegate"/> as the <see cref="T:System.Data.SQLite.SQLiteFunction"/>
implementation.
</summary>
<param name="callback1">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
<param name="callback2">
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetInvokeArgs(System.Object[],System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Invoke".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteInvokeDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetStepArgs(System.Object[],System.Int32,System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step".
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.UpdateStepArgs(System.Object[],System.Object@,System.Boolean)">
<summary>
Updates the output arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
using an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Step". Currently, only the
<paramref name="contextData"/> parameter is updated.
</summary>
<param name="args">
The original arguments received by the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetFinalArgs(System.Object,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Final".
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteFinalDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetCompareArgs(System.String,System.String,System.Boolean)">
<summary>
Returns the list of arguments for the <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method,
as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>. The first
argument is always the literal string "Compare".
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<param name="earlyBound">
Non-zero if the returned arguments are going to be used with the
<see cref="T:System.Data.SQLite.SQLiteCompareDelegate"/> type; otherwise, zero.
</param>
<returns>
The arguments to pass to the configured <see cref="T:System.Delegate"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])">
<summary>
This virtual method is the implementation for scalar functions.
See the <see cref="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/> method for more
details.
</summary>
<param name="args">
The arguments for the scalar function.
</param>
<returns>
The result of the scalar function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/> method
for more details.
</summary>
<param name="args">
The arguments for the aggregate function.
</param>
<param name="stepNumber">
The step number (one based). This is incrememted each time the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
</param>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)">
<summary>
This virtual method is part of the implementation for aggregate
functions. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)"/> method
for more details.
</summary>
<param name="contextData">
A placeholder for implementers to store contextual data pertaining
to the current context.
</param>
<returns>
The result of the aggregate function.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)">
<summary>
This virtual method is part of the implementation for collating
sequences. See the <see cref="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> method
for more details.
</summary>
<param name="param1">
The first string to compare.
</param>
<param name="param2">
The second strnig to compare.
</param>
<returns>
A positive integer if the <paramref name="param1"/> parameter is
greater than the <paramref name="param2"/> parameter, a negative
integer if the <paramref name="param1"/> parameter is less than
the <paramref name="param2"/> parameter, or zero if they are
equal.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2">
<summary>
The <see cref="T:System.Delegate"/> to be used for all calls into the
<see cref="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> base class.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionEx">
<summary>
Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
</summary>
<remarks>
User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
</remarks>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.GetCollationSequence">
<summary>
Obtains the collating sequence in effect for the given function.
</summary>
<returns></returns>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionEx.Dispose(System.Boolean)">
<summary>
Cleans up resources (native and managed) associated with the current instance.
</summary>
<param name="disposing">
Zero when being disposed via garbage collection; otherwise, non-zero.
</param>
</member>
<member name="T:System.Data.SQLite.FunctionType">
<summary>
The type of user-defined function to declare
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Scalar">
<summary>
Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Aggregate">
<summary>
Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
Examples include SUM(), COUNT(), AVG(), etc.
</summary>
</member>
<member name="F:System.Data.SQLite.FunctionType.Collation">
<summary>
Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is
sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting
in a user-defined manner.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteCallback">
<summary>
An internal callback delegate declaration.
</summary>
<param name="context">Raw native context pointer for the user function.</param>
<param name="argc">Total number of arguments to the user function.</param>
<param name="argv">Raw native pointer to the array of raw native argument pointers.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteFinalCallback">
<summary>
An internal final callback delegate declaration.
</summary>
<param name="context">Raw context pointer for the user function</param>
</member>
<member name="T:System.Data.SQLite.SQLiteCollation">
<summary>
Internal callback delegate for implementing collating sequences
</summary>
<param name="puser">Not used</param>
<param name="len1">Length of the string pv1</param>
<param name="pv1">Pointer to the first string to compare</param>
<param name="len2">Length of the string pv2</param>
<param name="pv2">Pointer to the second string to compare</param>
<returns>Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater
than the second.</returns>
</member>
<member name="T:System.Data.SQLite.CollationTypeEnum">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Binary">
<summary>
The built-in BINARY collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.NoCase">
<summary>
The built-in NOCASE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Reverse">
<summary>
The built-in REVERSE collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationTypeEnum.Custom">
<summary>
A custom user-defined collating sequence
</summary>
</member>
<member name="T:System.Data.SQLite.CollationEncodingEnum">
<summary>
The encoding type the collation sequence uses
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF8">
<summary>
The collation sequence is UTF8
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16LE">
<summary>
The collation sequence is UTF16 little-endian
</summary>
</member>
<member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16BE">
<summary>
The collation sequence is UTF16 big-endian
</summary>
</member>
<member name="T:System.Data.SQLite.CollationSequence">
<summary>
A struct describing the collating sequence a function is executing in
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Name">
<summary>
The name of the collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Type">
<summary>
The type of collating sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence.Encoding">
<summary>
The text encoding of the collation sequence
</summary>
</member>
<member name="F:System.Data.SQLite.CollationSequence._func">
<summary>
Context of the function that requested the collating sequence
</summary>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.String,System.String)">
<summary>
Calls the base collating sequence to compare two strings
</summary>
<param name="s1">The first string to compare</param>
<param name="s2">The second string to compare</param>
<returns>-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2</returns>
</member>
<member name="M:System.Data.SQLite.CollationSequence.Compare(System.Char[],System.Char[])">
<summary>
Calls the base collating sequence to compare two character arrays
</summary>
<param name="c1">The first array to compare</param>
<param name="c2">The second array to compare</param>
<returns>-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
<summary>
A simple custom attribute to enable us to easily find user-defined functions in
the loaded assemblies and initialize them in SQLite as connections are made.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor">
<summary>
Default constructor, initializes the internal variables for the function.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor(System.String,System.Int32,System.Data.SQLite.FunctionType)">
<summary>
Constructs an instance of this class. This sets the initial
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/>, <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/>, and
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> properties to null.
</summary>
<param name="name">
The name of the function, as seen by the SQLite core library.
</param>
<param name="argumentCount">
The number of arguments that the function will accept.
</param>
<param name="functionType">
The type of function being declared. This will either be Scalar,
Aggregate, or Collation.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Name">
<summary>
The function's name as it will be used in SQLite command text.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Arguments">
<summary>
The number of arguments this function expects. -1 if the number of arguments is variable.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.FuncType">
<summary>
The type of function this implementation will be.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType">
<summary>
The <see cref="T:System.Type"/> object instance that describes the class
containing the implementation for the associated function. The value of
this property will not be used if either the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1"/> or
<see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> property values are set to non-null.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2">
<summary>
The <see cref="T:System.Delegate"/> that refers to the implementation for the
associated function. If this property value is set to non-null, it will
be used instead of the <see cref="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader">
<summary>
This class provides key info for a given SQLite statement.
<remarks>
Providing key information for a given statement is non-trivial :(
</remarks>
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.#ctor(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteDataReader,System.Data.SQLite.SQLiteStatement)">
<summary>
This function does all the nasty work at determining what keys need to be returned for
a given statement.
</summary>
<param name="cnn"></param>
<param name="reader"></param>
<param name="stmt"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Sync">
<summary>
Make sure all the subqueries are open and ready and sync'd with the current rowid
of the table they're supporting
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.Reset">
<summary>
Release any readers on any subqueries
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteKeyReader.AppendSchemaTable(System.Data.DataTable)">
<summary>
Append all the columns we've added to the original query to the schema
</summary>
<param name="tbl"></param>
</member>
<member name="P:System.Data.SQLite.SQLiteKeyReader.Count">
<summary>
How many additional columns of keyinfo we're holding
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyInfo">
<summary>
Used to support CommandBehavior.KeyInfo
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteKeyReader.KeyQuery">
<summary>
A single sub-query for a given table/database.
</summary>
</member>
<member name="T:System.Data.SQLite.LogEventArgs">
<summary>
Event data for logging event handlers.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.ErrorCode">
<summary>
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Message">
<summary>
SQL statement text as the statement first begins executing
</summary>
</member>
<member name="F:System.Data.SQLite.LogEventArgs.Data">
<summary>
Extra data associated with this event, if any.
</summary>
</member>
<member name="M:System.Data.SQLite.LogEventArgs.#ctor(System.IntPtr,System.Object,System.String,System.Object)">
<summary>
Constructs the object.
</summary>
<param name="pUserData">Should be null.</param>
<param name="errorCode">
The error code. The type of this object value should be
<see cref="T:System.Int32"/> or <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>.
</param>
<param name="message">The error message, if any.</param>
<param name="data">The extra data, if any.</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLogEventHandler">
<summary>
Raised when a log event occurs.
</summary>
<param name="sender">The current connection</param>
<param name="e">Event arguments of the trace</param>
</member>
<member name="T:System.Data.SQLite.SQLiteLog">
<summary>
Manages the SQLite custom logging functionality and the associated
callback for the whole process.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog.syncRoot">
<summary>
Object used to synchronize access to the static instance data
for this class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._domainUnload">
<summary>
Member variable to store the AppDomain.DomainUnload event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._defaultHandler">
<summary>
The default log event handler.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._callback">
<summary>
The log callback passed to native SQLite engine. This must live
as long as the SQLite library has a pointer to it.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._sql">
<summary>
The base SQLite object to interop with.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteLog._enabled">
<summary>
This will be non-zero if logging is currently enabled.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.Initialize">
<summary>
Initializes the SQLite logging facilities.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.DomainUnload(System.Object,System.EventArgs)">
<summary>
Handles the AppDomain being unloaded.
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The SQLite error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Int32,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">The integer error code.</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Object,System.String)">
<summary>
Log a message to all the registered log event handlers without going
through the SQLite library.
</summary>
<param name="errorCode">
The error code. The type of this object value should be
System.Int32 or SQLiteErrorCode.
</param>
<param name="message">The message to be logged.</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.InitializeDefaultHandler">
<summary>
Creates and initializes the default log event handler.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.AddDefaultHandler">
<summary>
Adds the default log event handler to the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.RemoveDefaultHandler">
<summary>
Removes the default log event handler from the list of handlers.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogCallback(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Internal proxy function that calls any registered application log
event handlers.
WARNING: This method is used more-or-less directly by native code,
do not modify its type signature.
</summary>
<param name="pUserData">
The extra data associated with this message, if any.
</param>
<param name="errorCode">
The error code associated with this message.
</param>
<param name="pMessage">
The message string to be logged.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteLog.LogEventHandler(System.Object,System.Data.SQLite.LogEventArgs)">
<summary>
Default logger. Currently, uses the Trace class (i.e. sends events
to the current trace listeners, if any).
</summary>
<param name="sender">Should be null.</param>
<param name="e">The data associated with this event.</param>
</member>
<member name="E:System.Data.SQLite.SQLiteLog._handlers">
<summary>
Member variable to store the application log handler to call.
</summary>
</member>
<member name="E:System.Data.SQLite.SQLiteLog.Log">
<summary>
This event is raised whenever SQLite raises a logging event.
Note that this should be set as one of the first things in the
application.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteLog.Enabled">
<summary>
If this property is true, logging is enabled; otherwise, logging is
disabled. When logging is disabled, no logging events will fire.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMetaDataCollectionNames">
<summary>
MetaDataCollections specific to SQLite
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Catalogs">
<summary>
Returns a list of databases attached to the connection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Columns">
<summary>
Returns column information for the specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Indexes">
<summary>
Returns index information for the optionally-specified table
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.IndexColumns">
<summary>
Returns base columns for the given index
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Tables">
<summary>
Returns the tables in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Views">
<summary>
Returns user-defined views in the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ViewColumns">
<summary>
Returns underlying column information on the given view
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ForeignKeys">
<summary>
Returns foreign key information for the given catalog
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Triggers">
<summary>
Returns the triggers on the database
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameter">
<summary>
SQLite implementation of DbParameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter.UnknownDbType">
<summary>
This value represents an "unknown" <see cref="P:System.Data.SQLite.SQLiteParameter.DbType"/>.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dbType">
<summary>
The data type of the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._rowVersion">
<summary>
The version information for mapping the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._objValue">
<summary>
The value of the data in the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._sourceColumn">
<summary>
The source column for the parameter
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._parameterName">
<summary>
The column name
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameter._dataSize">
<summary>
The data size, unused by SQLite
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.IDbCommand)">
<summary>
Constructor used when creating for use with a specific command.
</summary>
<param name="command">
The command associated with this parameter.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String)">
<summary>
Constructs a named parameter given the specified parameter name
</summary>
<param name="parameterName">The parameter name</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Object)">
<summary>
Constructs a named parameter given the specified parameter name and initial value
</summary>
<param name="parameterName">The parameter name</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType)">
<summary>
Constructs a named parameter of the specified type
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String)">
<summary>
Constructs a named parameter of the specified type and source column reference
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, source column and row version
</summary>
<param name="parameterName">The parameter name</param>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType)">
<summary>
Constructs an unnamed parameter of the specified data type
</summary>
<param name="dbType">The datatype of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Object)">
<summary>
Constructs an unnamed parameter of the specified data type and sets the initial value
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="value">The initial value of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String)">
<summary>
Constructs an unnamed parameter of the specified data type and source column
</summary>
<param name="dbType">The datatype of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified data type, source column and row version
</summary>
<param name="dbType">The data type</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32)">
<summary>
Constructs a named parameter of the specified type and size
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs a named parameter of the specified type, size and source column
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object)">
<summary>
Constructs a named parameter of the specified type, size, source column and row version
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="isNullable">Ignored</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="value">The initial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object)">
<summary>
Constructs a named parameter, yet another flavor
</summary>
<param name="parameterName">The name of the parameter</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="direction">Only input parameters are supported in SQLite</param>
<param name="precision">Ignored</param>
<param name="scale">Ignored</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
<param name="sourceColumnNullMapping">Whether or not this parameter is for comparing NULL's</param>
<param name="value">The intial value to assign the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32)">
<summary>
Constructs an unnamed parameter of the specified type and size
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String)">
<summary>
Constructs an unnamed parameter of the specified type, size, and source column
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
<summary>
Constructs an unnamed parameter of the specified type, size, source column and row version
</summary>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the parameter</param>
<param name="sourceColumn">The source column</param>
<param name="rowVersion">The row version information</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.ResetDbType">
<summary>
Resets the DbType of the parameter so it can be inferred from the value
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameter.Clone">
<summary>
Clones a parameter
</summary>
<returns>A new, unassociated SQLiteParameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Command">
<summary>
The command associated with this parameter.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.IsNullable">
<summary>
Whether or not the parameter can contain a null value
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.DbType">
<summary>
Returns the datatype of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Direction">
<summary>
Supports only input parameters
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.ParameterName">
<summary>
Returns the parameter name
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Size">
<summary>
Returns the size of the parameter
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumn">
<summary>
Gets/sets the source column
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceColumnNullMapping">
<summary>
Used by DbCommandBuilder to determine the mapping for nullable fields
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.SourceVersion">
<summary>
Gets and sets the row version
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameter.Value">
<summary>
Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteParameterCollection">
<summary>
SQLite implementation of DbParameterCollection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._command">
<summary>
The underlying command to which this collection belongs
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._parameterList">
<summary>
The internal array of parameters in this collection
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteParameterCollection._unboundFlag">
<summary>
Determines whether or not all parameters have been bound to their statement(s)
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.#ctor(System.Data.SQLite.SQLiteCommand)">
<summary>
Initializes the collection
</summary>
<param name="cmd">The command to which the collection belongs</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetEnumerator">
<summary>
Retrieves an enumerator for the collection
</summary>
<returns>An enumerator for the underlying array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32,System.String)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<param name="sourceColumn">The source column</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<param name="parameterSize">The size of the value</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameterName">The parameter name</param>
<param name="parameterType">The data type</param>
<returns>A SQLiteParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Data.SQLite.SQLiteParameter)">
<summary>
Adds a parameter to the collection
</summary>
<param name="parameter">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Object)">
<summary>
Adds a parameter to the collection
</summary>
<param name="value">The parameter to add</param>
<returns>A zero-based index of where the parameter is located in the array</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddWithValue(System.String,System.Object)">
<summary>
Adds a named/unnamed parameter and its value to the parameter collection.
</summary>
<param name="parameterName">Name of the parameter, or null to indicate an unnamed parameter</param>
<param name="value">The initial value of the parameter</param>
<returns>Returns the SQLiteParameter object created during the call.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Data.SQLite.SQLiteParameter[])">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Array)">
<summary>
Adds an array of parameters to the collection
</summary>
<param name="values">The array of parameters to add</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Clear">
<summary>
Clears the array and resets the collection
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.String)">
<summary>
Determines if the named parameter exists in the collection
</summary>
<param name="parameterName">The name of the parameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.Object)">
<summary>
Determines if the parameter exists in the collection
</summary>
<param name="value">The SQLiteParameter to check</param>
<returns>True if the parameter is in the collection</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.CopyTo(System.Array,System.Int32)">
<summary>
Not implemented
</summary>
<param name="array"></param>
<param name="index"></param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.String)">
<summary>
Retrieve a parameter by name from the collection
</summary>
<param name="parameterName">The name of the parameter to fetch</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.Int32)">
<summary>
Retrieves a parameter by its index in the collection
</summary>
<param name="index">The index of the parameter to retrieve</param>
<returns>A DbParameter object</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.String)">
<summary>
Returns the index of a parameter given its name
</summary>
<param name="parameterName">The name of the parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.Object)">
<summary>
Returns the index of a parameter
</summary>
<param name="value">The parameter to find</param>
<returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Insert(System.Int32,System.Object)">
<summary>
Inserts a parameter into the array at the specified location
</summary>
<param name="index">The zero-based index to insert the parameter at</param>
<param name="value">The parameter to insert</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Remove(System.Object)">
<summary>
Removes a parameter from the collection
</summary>
<param name="value">The parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.String)">
<summary>
Removes a parameter from the collection given its name
</summary>
<param name="parameterName">The name of the parameter to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.Int32)">
<summary>
Removes a parameter from the collection given its index
</summary>
<param name="index">The zero-based parameter index to remove</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.String,System.Data.Common.DbParameter)">
<summary>
Re-assign the named parameter to a new parameter object
</summary>
<param name="parameterName">The name of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.Int32,System.Data.Common.DbParameter)">
<summary>
Re-assign a parameter at the specified index
</summary>
<param name="index">The zero-based index of the parameter to replace</param>
<param name="value">The new parameter</param>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.Unbind">
<summary>
Un-binds all parameters from their statements
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteParameterCollection.MapParameters(System.Data.SQLite.SQLiteStatement)">
<summary>
This function attempts to map all parameters in the collection to all statements in a Command.
Since named parameters may span multiple statements, this function makes sure all statements are bound
to the same named parameter. Unnamed parameters are bound in sequence.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsSynchronized">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsFixedSize">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.IsReadOnly">
<summary>
Returns false
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.SyncRoot">
<summary>
Returns null
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Count">
<summary>
Returns a count of parameters in the collection
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.String)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="parameterName">Name of the parameter to get/set</param>
<returns>The specified named SQLite parameter</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.Int32)">
<summary>
Overloaded to specialize the return value of the default indexer
</summary>
<param name="index">The index of the parameter to get/set</param>
<returns>The specified SQLite parameter</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteStatement">
<summary>
Represents a single SQL statement in SQLite.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sql">
<summary>
The underlying SQLite object this statement is bound to
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlStatement">
<summary>
The command text of this SQL statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._sqlite_stmt">
<summary>
The actual statement pointer
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._unnamedParameters">
<summary>
An index from which unnamed parameters begin
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramNames">
<summary>
Names of the parameters as SQLite understands them to be
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._paramValues">
<summary>
Parameters for this statement
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._command">
<summary>
Command this statement belongs to (if any)
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteStatement._flags">
<summary>
The flags associated with the parent connection object.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteStatementHandle,System.String,System.Data.SQLite.SQLiteStatement)">
<summary>
Initializes the statement and attempts to get all information about parameters in the statement
</summary>
<param name="sqlbase">The base SQLite object</param>
<param name="flags">The flags associated with the parent connection object</param>
<param name="stmt">The statement</param>
<param name="strCommand">The command text for this statement</param>
<param name="previous">The previous command in a multi-statement command</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.Dispose">
<summary>
Disposes and finalizes the statement
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.TryGetChanges(System.Int32@,System.Boolean@)">
<summary>
If the underlying database connection is open, fetches the number of changed rows
resulting from the most recent query; otherwise, does nothing.
</summary>
<param name="changes">
The number of changes when true is returned.
Undefined if false is returned.
</param>
<param name="readOnly">
The read-only flag when true is returned.
Undefined if false is returned.
</param>
<returns>Non-zero if the number of changed rows was fetched.</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.MapParameter(System.String,System.Data.SQLite.SQLiteParameter)">
<summary>
Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to
this statement, and if so, keeps a reference to the parameter so it can be bound later.
</summary>
<param name="s">The parameter name to map</param>
<param name="p">The parameter to assign it</param>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameters">
<summary>
Bind all parameters, making sure the caller didn't miss any
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteStatement.BindParameter(System.Int32,System.Data.SQLite.SQLiteParameter)">
<summary>
Perform the bind operation for an individual parameter
</summary>
<param name="index">The index of the parameter to bind</param>
<param name="param">The parameter we're binding</param>
</member>
<member name="T:System.Data.SQLite.SQLiteTransaction">
<summary>
SQLite implementation of DbTransaction.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteTransaction._cnn">
<summary>
The connection to which this transaction is bound
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.#ctor(System.Data.SQLite.SQLiteConnection,System.Boolean)">
<summary>
Constructs the transaction object, binding it to the supplied connection
</summary>
<param name="connection">The connection to open a transaction on</param>
<param name="deferredLock">TRUE to defer the writelock, or FALSE to lock immediately</param>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Dispose(System.Boolean)">
<summary>
Disposes the transaction. If it is currently active, any changes are rolled back.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Commit">
<summary>
Commits the current transaction.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteTransaction.Rollback">
<summary>
Rolls back the active transaction.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.Connection">
<summary>
Returns the underlying connection to which this transaction applies.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.DbConnection">
<summary>
Forwards to the local Connection property
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteTransaction.IsolationLevel">
<summary>
Gets the isolation level of the transaction. SQLite only supports Serializable transactions.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.DllFileExtension">
<summary>
The file extension used for dynamic link libraries.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.ConfigFileExtension">
<summary>
The file extension used for the XML configuration file.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.XmlConfigFileName">
<summary>
This is the name of the XML configuration file specific to the
System.Data.SQLite assembly.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.staticSyncRoot">
<summary>
This lock is used to protect the static _SQLiteNativeModuleFileName,
_SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.processorArchitecturePlatforms">
<summary>
This dictionary stores the mappings between processor architecture
names and platform names. These mappings are now used for two
purposes. First, they are used to determine if the assembly code
base should be used instead of the location, based upon whether one
or more of the named sub-directories exist within the assembly code
base. Second, they are used to assist in loading the appropriate
SQLite interop assembly into the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.#cctor">
<summary>
For now, this method simply calls the Initialize method.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.MonoRuntimeType">
<summary>
This type is only present when running on Mono.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.isMono">
<summary>
Keeps track of whether we are running on Mono. Initially null, it is
set by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method on its first call. Later, it
is returned verbatim by the <see cref="M:System.Data.SQLite.UnsafeNativeMethods.IsMono"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.IsMono">
<summary>
Determines whether or not this assembly is running on Mono.
</summary>
<returns>
Non-zero if this assembly is running on Mono.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.StringFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
This is a wrapper around the
<see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method.
On Mono, it has to call the method overload without the
<see cref="T:System.IFormatProvider"/> parameter, due to a bug in Mono.
</summary>
<param name="provider">
This is used for culture-specific formatting.
</param>
<param name="format">
The format string.
</param>
<param name="args">
An array the objects to format.
</param>
<returns>
The resulting string.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.Initialize">
<summary>
Attempts to initialize this class by pre-loading the native SQLite
library for the processor architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetXmlConfigFileName">
<summary>
Queries and returns the XML configuration file name for the assembly
containing the managed System.Data.SQLite components.
</summary>
<returns>
The XML configuration file name -OR- null if it cannot be determined
or does not exist.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetSettingValue(System.String,System.String)">
<summary>
Queries and returns the value of the specified setting, using the XML
configuration file and/or the environment variables for the current
process and/or the current system, when available.
</summary>
<param name="name">
The name of the setting.
</param>
<param name="default">
The value to be returned if the setting has not been set explicitly
or cannot be determined.
</param>
<returns>
The value of the setting -OR- the default value specified by
<paramref name="default" /> if it has not been set explicitly or
cannot be determined. By default, all references to existing
environment variables will be expanded to their corresponding values
within the value to be returned unless either the "No_Expand" or
"No_Expand_<paramref name="name" />" environment variable is set [to
anything].
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetAssemblyDirectory">
<summary>
Queries and returns the directory for the assembly currently being
executed.
</summary>
<returns>
The directory for the assembly currently being executed -OR- null if
it cannot be determined.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods.PROCESSOR_ARCHITECTURE">
<summary>
The name of the environment variable containing the processor
architecture of the current process.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.LoadLibrary(System.String)">
<summary>
This is the P/Invoke method that wraps the native Win32 LoadLibrary
function. See the MSDN documentation for full details on what it
does.
</summary>
<param name="fileName">
The name of the executable library.
</param>
<returns>
The native module handle upon success -OR- IntPtr.Zero on failure.
</returns>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleFileName">
<summary>
The native module file name for the native SQLite library or null.
</summary>
</member>
<member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleHandle">
<summary>
The native module handle for the native SQLite library or the value
IntPtr.Zero.
</summary>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.SearchForDirectory(System.String@,System.String@)">
<summary>
Searches for the native SQLite library in the directory containing
the assembly currently being executed as well as the base directory
for the current application domain.
</summary>
<param name="baseDirectory">
Upon success, this parameter will be modified to refer to the base
directory containing the native SQLite library.
</param>
<param name="processorArchitecture">
Upon success, this parameter will be modified to refer to the name
of the immediate directory (i.e. the offset from the base directory)
containing the native SQLite library.
</param>
<returns>
Non-zero (success) if the native SQLite library was found; otherwise,
zero (failure).
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetBaseDirectory">
<summary>
Queries and returns the base directory of the current application
domain.
</summary>
<returns>
The base directory for the current application domain -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.FixUpDllFileName(System.String)">
<summary>
Determines if the dynamic link library file name requires a suffix
and adds it if necessary.
</summary>
<param name="fileName">
The original dynamic link library file name to inspect.
</param>
<returns>
The dynamic link library file name, possibly modified to include an
extension.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetProcessorArchitecture">
<summary>
Queries and returns the processor architecture of the current
process.
</summary>
<returns>
The processor architecture of the current process -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.GetPlatformName(System.String)">
<summary>
Given the processor architecture, returns the name of the platform.
</summary>
<param name="processorArchitecture">
The processor architecture to be translated to a platform name.
</param>
<returns>
The platform name for the specified processor architecture -OR- null
if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.UnsafeNativeMethods.PreLoadSQLiteDll(System.String,System.String,System.String@,System.IntPtr@)">
<summary>
Attempts to load the native SQLite library based on the specified
directory and processor architecture.
</summary>
<param name="baseDirectory">
The base directory to use, null for default (the base directory of
the current application domain). This directory should contain the
processor architecture specific sub-directories.
</param>
<param name="processorArchitecture">
The requested processor architecture, null for default (the
processor architecture of the current process). This caller should
almost always specify null for this parameter.
</param>
<param name="nativeModuleFileName">
The candidate native module file name to load will be stored here,
if necessary.
</param>
<param name="nativeModuleHandle">
The native module handle as returned by LoadLibrary will be stored
here, if necessary. This value will be IntPtr.Zero if the call to
LoadLibrary fails.
</param>
<returns>
Non-zero if the native module was loaded successfully; otherwise,
zero.
</returns>
</member>
<member name="T:System.Data.SQLite.SR">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.DataTypes">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot;?&gt;
&lt;DocumentElement&gt;
&lt;DataTypes&gt;
&lt;TypeName&gt;smallint&lt;/TypeName&gt;
&lt;ProviderDbType&gt;10&lt;/ProviderDbType&gt;
&lt;ColumnSize&gt;5&lt;/ColumnSize&gt;
&lt;DataType&gt;System.Int16&lt;/DataType&gt;
&lt;CreateFormat&gt;smallint&lt;/CreateFormat&gt;
&lt;IsAutoIncrementable&gt;false&lt;/IsAutoIncrementable&gt;
&lt;IsCaseSensitive&gt;false&lt;/IsCaseSensitive&gt;
&lt;IsFixedLength&gt;true&lt;/IsFixedLength&gt;
&lt;IsFixedPrecisionScale&gt;true&lt;/IsFixedPrecisionScale&gt;
&lt;IsLong&gt;false&lt;/IsLong&gt;
&lt;IsNullable&gt;true&lt;/ [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.Keywords">
<summary>
Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE.
</summary>
</member>
<member name="P:System.Data.SQLite.SR.MetaDataCollections">
<summary>
Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;DocumentElement&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;MetaDataCollections&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataCollections&gt;
&lt;CollectionName&gt;DataSourceInformation&lt;/CollectionName&gt;
&lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
&lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
&lt;/MetaDataCollections&gt;
&lt;MetaDataC [rest of string was truncated]&quot;;.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteContext">
<summary>
This class represents a context from the SQLite core library that can
be passed to the sqlite3_result_*() and associated functions.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeHandle">
<summary>
This interface represents a native handle provided by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteNativeHandle.NativeHandle">
<summary>
The native handle value.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteContext.pContext">
<summary>
The native context handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
context handle.
</summary>
<param name="pContext">
The native context handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetNull">
<summary>
Sets the context result to NULL.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetDouble(System.Double)">
<summary>
Sets the context result to the specified <see cref="T:System.Double"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Double"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt(System.Int32)">
<summary>
Sets the context result to the specified <see cref="T:System.Int32"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int32"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetInt64(System.Int64)">
<summary>
Sets the context result to the specified <see cref="T:System.Int64"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Int64"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetString(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value.
</summary>
<param name="value">
The <see cref="T:System.String"/> value to use. This value will be
converted to the UTF-8 encoding prior to being used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetError(System.String)">
<summary>
Sets the context result to the specified <see cref="T:System.String"/>
value containing an error message.
</summary>
<param name="value">
The <see cref="T:System.String"/> value containing the error message text.
This value will be converted to the UTF-8 encoding prior to being
used.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorCode(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
value.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorTooBig">
<summary>
Sets the context result to contain the error code SQLITE_TOOBIG.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetErrorNoMemory">
<summary>
Sets the context result to contain the error code SQLITE_NOMEM.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetBlob(System.Byte[])">
<summary>
Sets the context result to the specified <see cref="T:System.Byte"/> array
value.
</summary>
<param name="value">
The <see cref="T:System.Byte"/> array value to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetZeroBlob(System.Int32)">
<summary>
Sets the context result to a BLOB of zeros of the specified size.
</summary>
<param name="value">
The number of zero bytes to use for the BLOB context result.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteContext.SetValue(System.Data.SQLite.SQLiteValue)">
<summary>
Sets the context result to the specified <see cref="T:System.Data.SQLite.SQLiteValue"/>.
</summary>
<param name="value">
The <see cref="T:System.Data.SQLite.SQLiteValue"/> to use.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteContext.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteValue">
<summary>
This class represents a value from the SQLite core library that can be
passed to the sqlite3_value_*() and associated functions.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteValue.pValue">
<summary>
The native value handle.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.#ctor(System.IntPtr)">
<summary>
Constructs an instance of this class using the specified native
value handle.
</summary>
<param name="pValue">
The native value handle to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.PreventNativeAccess">
<summary>
Invalidates the native value handle, thereby preventing further
access to it from this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.ArrayFromSizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native pointers to native sqlite3_value
structures into a managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/>
object instances.
</summary>
<param name="argc">
The number of elements in the logical array of native sqlite3_value
structures.
</param>
<param name="argv">
The native pointer to the logical array of native sqlite3_value
structures to convert.
</param>
<returns>
The managed array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances or
null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetTypeAffinity">
<summary>
Gets and returns the type affinity associated with this value.
</summary>
<returns>
The type affinity associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBytes">
<summary>
Gets and returns the number of bytes associated with this value, if
it refers to a UTF-8 encoded string.
</summary>
<returns>
The number of bytes associated with this value. The returned value
may be zero.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt">
<summary>
Gets and returns the <see cref="T:System.Int32"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Int32"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetInt64">
<summary>
Gets and returns the <see cref="T:System.Int64"/> associated with
this value.
</summary>
<returns>
The <see cref="T:System.Int64"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetDouble">
<summary>
Gets and returns the <see cref="T:System.Double"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.Double"/> associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetString">
<summary>
Gets and returns the <see cref="T:System.String"/> associated with this
value.
</summary>
<returns>
The <see cref="T:System.String"/> associated with this value. The value is
converted from the UTF-8 encoding prior to being returned.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.GetBlob">
<summary>
Gets and returns the <see cref="T:System.Byte"/> array associated with this
value.
</summary>
<returns>
The <see cref="T:System.Byte"/> array associated with this value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteValue.Persist">
<summary>
Uses the native value handle to obtain and store the managed value
for this object instance, thus saving it for later use. The type
of the managed value is determined by the type affinity of the
native value. If the type affinity is not recognized by this
method, no work is done and false is returned.
</summary>
<returns>
Non-zero if the native value was persisted successfully.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Persisted">
<summary>
Returns non-zero if the native SQLite value has been successfully
persisted as a managed value within this object instance (i.e. the
<see cref="P:System.Data.SQLite.SQLiteValue.Value"/> property may then be read successfully).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteValue.Value">
<summary>
If the managed value for this object instance is available (i.e. it
has been previously persisted via the <see cref="M:System.Data.SQLite.SQLiteValue.Persist"/>) method,
that value is returned; otherwise, an exception is thrown. The
returned value may be null.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintOp">
<summary>
These are the allowed values for the operators that are part of a
constraint term in the WHERE clause of a query that uses a virtual
table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.EqualTo">
<summary>
This value represents the equality operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThan">
<summary>
This value represents the greater than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThanOrEqualTo">
<summary>
This value represents the less than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThan">
<summary>
This value represents the less than operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThanOrEqualTo">
<summary>
This value represents the greater than or equal to operator.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.Match">
<summary>
This value represents the MATCH operator.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraint">
<summary>
This class represents the native sqlite3_index_constraint structure
from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint structure.
</summary>
<param name="constraint">
The native sqlite3_index_constraint structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Int32,System.Data.SQLite.SQLiteIndexConstraintOp,System.Byte,System.Int32)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column on left-hand side of constraint.
</param>
<param name="op">
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</param>
<param name="usable">
True if this constraint is usable.
</param>
<param name="iTermOffset">
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iColumn">
<summary>
Column on left-hand side of constraint.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.op">
<summary>
Constraint operator (<see cref="T:System.Data.SQLite.SQLiteIndexConstraintOp"/>).
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.usable">
<summary>
True if this constraint is usable.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraint.iTermOffset">
<summary>
Used internally - <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
should ignore.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOrderBy">
<summary>
This class represents the native sqlite3_index_orderby structure from
the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_orderby)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_orderby structure.
</summary>
<param name="orderBy">
The native sqlite3_index_orderby structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="iColumn">
Column number.
</param>
<param name="desc">
True for DESC. False for ASC.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.iColumn">
<summary>
Column number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexOrderBy.desc">
<summary>
True for DESC. False for ASC.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexConstraintUsage">
<summary>
This class represents the native sqlite3_index_constraint_usage
structure from the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor">
<summary>
Constructs a default instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint_usage)">
<summary>
Constructs an instance of this class using the specified native
sqlite3_index_constraint_usage structure.
</summary>
<param name="constraintUsage">
The native sqlite3_index_constraint_usage structure to use.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Int32,System.Byte)">
<summary>
Constructs an instance of this class using the specified field
values.
</summary>
<param name="argvIndex">
If greater than 0, constraint is part of argv to xFilter.
</param>
<param name="omit">
Do not code a test for this constraint.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.argvIndex">
<summary>
If greater than 0, constraint is part of argv to xFilter.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.omit">
<summary>
Do not code a test for this constraint.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexInputs">
<summary>
This class represents the various inputs provided by the SQLite core
library to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexInputs.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.Constraints">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexInputs.OrderBys">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> object instances,
each containing information supplied by the SQLite core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndexOutputs">
<summary>
This class represents the various outputs provided to the SQLite core
library by the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.#ctor(System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> instances
to pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndexOutputs.CanUseEstimatedRows">
<summary>
Determines if the native estimatedRows field can be used, based on
the available version of the SQLite core library.
</summary>
<returns>
Non-zero if the <see cref="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows"/> property is supported
by the SQLite core library.
</returns>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.ConstraintUsages">
<summary>
An array of <see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/> object
instances, each containing information to be supplied to the SQLite
core library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexString">
<summary>
String used to help identify the selected index. This value will
later be provided to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.NeedToFreeIndexString">
<summary>
Non-zero if the index string must be freed by the SQLite core
library.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.OrderByConsumed">
<summary>
True if output is already ordered.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedCost">
<summary>
Estimated cost of using this index. Using a null value here
indicates that a default estimated cost value should be used.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows">
<summary>
Estimated number of rows returned. Using a null value here
indicates that a default estimated rows value should be used.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteIndex">
<summary>
This class represents the various inputs and outputs used with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.#ctor(System.Int32,System.Int32)">
<summary>
Constructs an instance of this class.
</summary>
<param name="nConstraint">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexConstraint"/> (and
<see cref="T:System.Data.SQLite.SQLiteIndexConstraintUsage"/>) instances to
pre-allocate space for.
</param>
<param name="nOrderBy">
The number of <see cref="T:System.Data.SQLite.SQLiteIndexOrderBy"/> instances to
pre-allocate space for.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.FromIntPtr(System.IntPtr,System.Data.SQLite.SQLiteIndex@)">
<summary>
Converts a native pointer to a native sqlite3_index_info structure
into a new <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</summary>
<param name="pIndex">
The native pointer to the native sqlite3_index_info structure to
convert.
</param>
<param name="index">
Upon success, this parameter will be modified to contain the newly
created <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteIndex.ToIntPtr(System.Data.SQLite.SQLiteIndex,System.IntPtr)">
<summary>
Populates the outputs of a pre-allocated native sqlite3_index_info
structure using an existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object
instance.
</summary>
<param name="index">
The existing <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing
the output data to use.
</param>
<param name="pIndex">
The native pointer to the pre-allocated native sqlite3_index_info
structure.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Inputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexInputs"/> object instance containing
the inputs to the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteIndex.Outputs">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndexOutputs"/> object instance containing
the outputs from the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
method.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTable">
<summary>
This class represents a managed virtual table implementation. It is
not sealed and should be used as the base class for any user-defined
virtual table classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.ModuleNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the module implementing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.DatabaseNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the database containing this virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTable.TableNameIndex">
<summary>
The index within the array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
name of the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.#ctor(System.String[])">
<summary>
Constructs an instance of this class.
</summary>
<param name="arguments">
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.BestIndex(System.Data.SQLite.SQLiteIndex)">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method in order to
perform index selection based on the constraints provided by the
SQLite core library.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Rename(System.String)">
<summary>
Attempts to record the renaming of the virtual table associated
with this object instance.
</summary>
<param name="name">
The new name for the virtual table.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTable.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTable.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Arguments">
<summary>
The original array of strings provided to the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.ModuleName">
<summary>
The name of the module implementing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.DatabaseName">
<summary>
The name of the database containing this virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.TableName">
<summary>
The name of the virtual table.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.Index">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to the most recent index
selection.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTable.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursor">
<summary>
This class represents a managed virtual table cursor implementation.
It is not sealed and should be used as the base class for any
user-defined virtual table cursor classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.InvalidRowIndex">
<summary>
This value represents an invalid integer row sequence number.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.rowIndex">
<summary>
The field holds the integer row sequence number for the current row
pointed to by this cursor object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor">
<summary>
Constructs an instance of this class.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.TryPersistValues(System.Data.SQLite.SQLiteValue[])">
<summary>
Attempts to persist the specified <see cref="T:System.Data.SQLite.SQLiteValue"/> object
instances in order to make them available after the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method returns.
</summary>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances to be
persisted.
</param>
<returns>
The number of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances that were
successfully persisted.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method should normally be used by the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method in order to
perform filtering of the result rows and/or to record the filtering
criteria provided by the SQLite core library.
</summary>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.GetRowIndex">
<summary>
Determines the integer row sequence number for the current row.
</summary>
<returns>
The integer row sequence number for the current row -OR- zero if
it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.NextRowIndex">
<summary>
Adjusts the integer row sequence number so that it refers to the
next row.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose"/> method. Zero if this method is being called
from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Table">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexNumber">
<summary>
Number used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexString">
<summary>
String used to help identify the selected index. This value will
be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Values">
<summary>
The values used to filter the rows returned via this cursor object
instance. This value will be set via the <see cref="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
method.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.NativeHandle">
<summary>
Returns the underlying SQLite native handle associated with this
object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.ISQLiteNativeModule">
<summary>
This interface represents a virtual table implementation written in
native code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
This method is called to create a new instance of a virtual table
in response to a CREATE VIRTUAL TABLE statement. The db parameter
is a pointer to the SQLite database connection that is executing
the CREATE VIRTUAL TABLE statement. The pAux argument is the copy
of the client data pointer that was the fourth argument to the
sqlite3_create_module() or sqlite3_create_module_v2() call that
registered the virtual table module. The argv parameter is an
array of argc pointers to null terminated strings. The first
string, argv[0], is the name of the module being invoked. The
module name is the name provided as the second argument to
sqlite3_create_module() and as the argument to the USING clause of
the CREATE VIRTUAL TABLE statement that is running. The second,
argv[1], is the name of the database in which the new virtual table
is being created. The database name is "main" for the primary
database, or "temp" for TEMP database, or the name given at the
end of the ATTACH statement for attached databases. The third
element of the array, argv[2], is the name of the new virtual
table, as specified following the TABLE keyword in the CREATE
VIRTUAL TABLE statement. If present, the fourth and subsequent
strings in the argv[] array report the arguments to the module name
in the CREATE VIRTUAL TABLE statement.
</para>
<para>
The job of this method is to construct the new virtual table object
(an sqlite3_vtab object) and return a pointer to it in *ppVTab.
</para>
<para>
As part of the task of creating a new sqlite3_vtab structure, this
method must invoke sqlite3_declare_vtab() to tell the SQLite core
about the columns and datatypes in the virtual table. The
sqlite3_declare_vtab() API has the following prototype:
</para>
<para>
<code>
int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
</code>
</para>
<para>
The first argument to sqlite3_declare_vtab() must be the same
database connection pointer as the first parameter to this method.
The second argument to sqlite3_declare_vtab() must a
zero-terminated UTF-8 string that contains a well-formed CREATE
TABLE statement that defines the columns in the virtual table and
their data types. The name of the table in this CREATE TABLE
statement is ignored, as are all constraints. Only the column names
and datatypes matter. The CREATE TABLE statement string need not to
be held in persistent memory. The string can be deallocated and/or
reused as soon as the sqlite3_declare_vtab() routine returns.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
<para>
The xConnect method is very similar to xCreate. It has the same
parameters and constructs a new sqlite3_vtab structure just like
xCreate. And it must also call sqlite3_declare_vtab() like xCreate.
</para>
<para>
The difference is that xConnect is called to establish a new
connection to an existing virtual table whereas xCreate is called
to create a new virtual table from scratch.
</para>
<para>
The xCreate and xConnect methods are only different when the
virtual table has some kind of backing store that must be
initialized the first time the virtual table is created. The
xCreate method creates and initializes the backing store. The
xConnect method just connects to an existing backing store.
</para>
<para>
As an example, consider a virtual table implementation that
provides read-only access to existing comma-separated-value (CSV)
files on disk. There is no backing store that needs to be created
or initialized for such a virtual table (since the CSV files
already exist on disk) so the xCreate and xConnect methods will be
identical for that module.
</para>
<para>
Another example is a virtual table that implements a full-text
index. The xCreate method must create and initialize data
structures to hold the dictionary and posting lists for that index.
The xConnect method, on the other hand, only has to locate and use
an existing dictionary and posting lists that were created by a
prior xCreate call.
</para>
<para>
The xConnect method must return SQLITE_OK if it is successful in
creating the new virtual table, or SQLITE_ERROR if it is not
successful. If not successful, the sqlite3_vtab structure must not
be allocated. An error message may optionally be returned in *pzErr
if unsuccessful. Space to hold the error message string must be
allocated using an SQLite memory allocation function like
sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
attempt to free the space using sqlite3_free() after the error has
been reported up to the application.
</para>
<para>
The xConnect method is required for every virtual table
implementation, though the xCreate and xConnect pointers of the
sqlite3_module object may point to the same function the virtual
table does not need to initialize backing store.
</para>
</summary>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
<para>
SQLite uses the xBestIndex method of a virtual table module to
determine the best way to access the virtual table. The xBestIndex
method has a prototype like this:
</para>
<code>
int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
</code>
<para>
The SQLite core communicates with the xBestIndex method by filling
in certain fields of the sqlite3_index_info structure and passing a
pointer to that structure into xBestIndex as the second parameter.
The xBestIndex method fills out other fields of this structure
which forms the reply. The sqlite3_index_info structure looks like
this:
</para>
<code>
struct sqlite3_index_info {
/* Inputs */
const int nConstraint; /* Number of entries in aConstraint */
const struct sqlite3_index_constraint {
int iColumn; /* Column on left-hand side of
* constraint */
unsigned char op; /* Constraint operator */
unsigned char usable; /* True if this constraint is usable */
int iTermOffset; /* Used internally - xBestIndex should
* ignore */
} *const aConstraint; /* Table of WHERE clause constraints */
const int nOrderBy; /* Number of terms in the ORDER BY
* clause */
const struct sqlite3_index_orderby {
int iColumn; /* Column number */
unsigned char desc; /* True for DESC. False for ASC. */
} *const aOrderBy; /* The ORDER BY clause */
/* Outputs */
struct sqlite3_index_constraint_usage {
int argvIndex; /* if greater than zero, constraint is
* part of argv to xFilter */
unsigned char omit; /* Do not code a test for this
* constraint */
} *const aConstraintUsage;
int idxNum; /* Number used to identify the index */
char *idxStr; /* String, possibly obtained from
* sqlite3_malloc() */
int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if
* true */
int orderByConsumed; /* True if output is already ordered */
double estimatedCost; /* Estimated cost of using this index */
};
</code>
<para>
In addition, there are some defined constants:
</para>
<code>
#define SQLITE_INDEX_CONSTRAINT_EQ 2
#define SQLITE_INDEX_CONSTRAINT_GT 4
#define SQLITE_INDEX_CONSTRAINT_LE 8
#define SQLITE_INDEX_CONSTRAINT_LT 16
#define SQLITE_INDEX_CONSTRAINT_GE 32
#define SQLITE_INDEX_CONSTRAINT_MATCH 64
</code>
<para>
The SQLite core calls the xBestIndex method when it is compiling a
query that involves a virtual table. In other words, SQLite calls
this method when it is running sqlite3_prepare() or the equivalent.
By calling this method, the SQLite core is saying to the virtual
table that it needs to access some subset of the rows in the
virtual table and it wants to know the most efficient way to do
that access. The xBestIndex method replies with information that
the SQLite core can then use to conduct an efficient search of the
virtual table.
</para>
<para>
While compiling a single SQL query, the SQLite core might call
xBestIndex multiple times with different settings in
sqlite3_index_info. The SQLite core will then select the
combination that appears to give the best performance.
</para>
<para>
Before calling this method, the SQLite core initializes an instance
of the sqlite3_index_info structure with information about the
query that it is currently trying to process. This information
derives mainly from the WHERE clause and ORDER BY or GROUP BY
clauses of the query, but also from any ON or USING clauses if the
query is a join. The information that the SQLite core provides to
the xBestIndex method is held in the part of the structure that is
marked as "Inputs". The "Outputs" section is initialized to zero.
</para>
<para>
The information in the sqlite3_index_info structure is ephemeral
and may be overwritten or deallocated as soon as the xBestIndex
method returns. If the xBestIndex method needs to remember any part
of the sqlite3_index_info structure, it should make a copy. Care
must be take to store the copy in a place where it will be
deallocated, such as in the idxStr field with needToFreeIdxStr set
to 1.
</para>
<para>
Note that xBestIndex will always be called before xFilter, since
the idxNum and idxStr outputs from xBestIndex are required inputs
to xFilter. However, there is no guarantee that xFilter will be
called following a successful xBestIndex.
</para>
<para>
The xBestIndex method is required for every virtual table
implementation.
</para>
<para>
2.3.1 Inputs
</para>
<para>
The main thing that the SQLite core is trying to communicate to the
virtual table is the constraints that are available to limit the
number of rows that need to be searched. The aConstraint[] array
contains one entry for each constraint. There will be exactly
nConstraint entries in that array.
</para>
<para>
Each constraint will correspond to a term in the WHERE clause or in
a USING or ON clause that is of the form
</para>
<code>
column OP EXPR
</code>
<para>
Where "column" is a column in the virtual table, OP is an operator
like "=" or "&lt;", and EXPR is an arbitrary expression. So, for
example, if the WHERE clause contained a term like this:
</para>
<code>
a = 5
</code>
<para>
Then one of the constraints would be on the "a" column with
operator "=" and an expression of "5". Constraints need not have a
literal representation of the WHERE clause. The query optimizer
might make transformations to the WHERE clause in order to extract
as many constraints as it can. So, for example, if the WHERE clause
contained something like this:
</para>
<code>
x BETWEEN 10 AND 100 AND 999&gt;y
</code>
<para>
The query optimizer might translate this into three separate
constraints:
</para>
<code>
x &gt;= 10
x &lt;= 100
y &lt; 999
</code>
<para>
For each constraint, the aConstraint[].iColumn field indicates
which column appears on the left-hand side of the constraint. The
first column of the virtual table is column 0. The rowid of the
virtual table is column -1. The aConstraint[].op field indicates
which operator is used. The SQLITE_INDEX_CONSTRAINT_* constants map
integer constants into operator values. Columns occur in the order
they were defined by the call to sqlite3_declare_vtab() in the
xCreate or xConnect method. Hidden columns are counted when
determining the column index.
</para>
<para>
The aConstraint[] array contains information about all constraints
that apply to the virtual table. But some of the constraints might
not be usable because of the way tables are ordered in a join. The
xBestIndex method must therefore only consider constraints that
have an aConstraint[].usable flag which is true.
</para>
<para>
In addition to WHERE clause constraints, the SQLite core also tells
the xBestIndex method about the ORDER BY clause. (In an aggregate
query, the SQLite core might put in GROUP BY clause information in
place of the ORDER BY clause information, but this fact should not
make any difference to the xBestIndex method.) If all terms of the
ORDER BY clause are columns in the virtual table, then nOrderBy
will be the number of terms in the ORDER BY clause and the
aOrderBy[] array will identify the column for each term in the
order by clause and whether or not that column is ASC or DESC.
</para>
<para>
2.3.2 Outputs
</para>
<para>
Given all of the information above, the job of the xBestIndex
method it to figure out the best way to search the virtual table.
</para>
<para>
The xBestIndex method fills the idxNum and idxStr fields with
information that communicates an indexing strategy to the xFilter
method. The information in idxNum and idxStr is arbitrary as far as
the SQLite core is concerned. The SQLite core just copies the
information through to the xFilter method. Any desired meaning can
be assigned to idxNum and idxStr as long as xBestIndex and xFilter
agree on what that meaning is.
</para>
<para>
The idxStr value may be a string obtained from an SQLite memory
allocation function such as sqlite3_mprintf(). If this is the case,
then the needToFreeIdxStr flag must be set to true so that the
SQLite core will know to call sqlite3_free() on that string when it
has finished with it, and thus avoid a memory leak.
</para>
<para>
If the virtual table will output rows in the order specified by the
ORDER BY clause, then the orderByConsumed flag may be set to true.
If the output is not automatically in the correct order then
orderByConsumed must be left in its default false setting. This
will indicate to the SQLite core that it will need to do a separate
sorting pass over the data after it comes out of the virtual table.
</para>
<para>
The estimatedCost field should be set to the estimated number of
disk access operations required to execute this query against the
virtual table. The SQLite core will often call xBestIndex multiple
times with different constraints, obtain multiple cost estimates,
then choose the query plan that gives the lowest estimate.
</para>
<para>
The aConstraintUsage[] array contains one element for each of the
nConstraint constraints in the inputs section of the
sqlite3_index_info structure. The aConstraintUsage[] array is used
by xBestIndex to tell the core how it is using the constraints.
</para>
<para>
The xBestIndex method may set aConstraintUsage[].argvIndex entries
to values greater than one. Exactly one entry should be set to 1,
another to 2, another to 3, and so forth up to as many or as few as
the xBestIndex method wants. The EXPR of the corresponding
constraints will then be passed in as the argv[] parameters to
xFilter.
</para>
<para>
For example, if the aConstraint[3].argvIndex is set to 1, then when
xFilter is called, the argv[0] passed to xFilter will have the EXPR
value of the aConstraint[3] constraint.
</para>
<para>
By default, the SQLite core double checks all constraints on each
row of the virtual table that it receives. If such a check is
redundant, the xBestFilter method can suppress that double-check by
setting aConstraintUsage[].omit.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pIndex">
The native pointer to the sqlite3_index_info structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table. Only the
sqlite3_vtab object is destroyed. The virtual table is not
destroyed and any backing store associated with the virtual table
persists. This method undoes the work of xConnect.
</para>
<para>
This method is a destructor for a connection to the virtual table.
Contrast this method with xDestroy. The xDestroy is a destructor
for the entire virtual table.
</para>
<para>
The xDisconnect method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
<para>
This method releases a connection to a virtual table, just like the
xDisconnect method, and it also destroys the underlying table
implementation. This method undoes the work of xCreate.
</para>
<para>
The xDisconnect method is called whenever a database connection
that uses a virtual table is closed. The xDestroy method is only
called when a DROP TABLE statement is executed against the virtual
table.
</para>
<para>
The xDestroy method is required for every virtual table
implementation, though it is acceptable for the xDisconnect and
xDestroy methods to be the same function if that makes sense for
the particular virtual table.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
<para>
The xOpen method creates a new cursor used for accessing (read
and/or writing) a virtual table. A successful invocation of this
method will allocate the memory for the sqlite3_vtab_cursor (or a
subclass), initialize the new object, and make *ppCursor point to
the new object. The successful call then returns SQLITE_OK.
</para>
<para>
For every successful call to this method, the SQLite core will
later invoke the xClose method to destroy the allocated cursor.
</para>
<para>
The xOpen method need not initialize the pVtab field of the
sqlite3_vtab_cursor structure. The SQLite core will take care of
that chore automatically.
</para>
<para>
A virtual table implementation must be able to support an arbitrary
number of simultaneously open cursors.
</para>
<para>
When initially opened, the cursor is in an undefined state. The
SQLite core will invoke the xFilter method on the cursor prior to
any attempt to position or read from the cursor.
</para>
<para>
The xOpen method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)">
<summary>
<para>
The xClose method closes a cursor previously opened by xOpen. The
SQLite core will always call xClose once for each cursor opened
using xOpen.
</para>
<para>
This method must release all resources allocated by the
corresponding xOpen call. The routine will not be called again even
if it returns an error. The SQLite core will not use the
sqlite3_vtab_cursor again after it has been closed.
</para>
<para>
The xClose method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
<para>
This method begins a search of a virtual table. The first argument
is a cursor opened by xOpen. The next two argument define a
particular search index previously chosen by xBestIndex. The
specific meanings of idxNum and idxStr are unimportant as long as
xFilter and xBestIndex agree on what that meaning is.
</para>
<para>
The xBestIndex function may have requested the values of certain
expressions using the aConstraintUsage[].argvIndex values of the
sqlite3_index_info structure. Those values are passed to xFilter
using the argc and argv parameters.
</para>
<para>
If the virtual table contains one or more rows that match the
search criteria, then the cursor must be left point at the first
row. Subsequent calls to xEof must return false (zero). If there
are no rows match, then the cursor must be left in a state that
will cause the xEof to return true (non-zero). The SQLite engine
will use the xColumn and xRowid methods to access that row content.
The xNext method will be used to advance to the next row.
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xFilter method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="idxNum">
Number used to help identify the selected index.
</param>
<param name="idxStr">
The native pointer to the UTF-8 encoded string containing the
string used to help identify the selected index.
</param>
<param name="argc">
The number of native pointers to sqlite3_value structures specified
in <paramref name="argv" />.
</param>
<param name="argv">
An array of native pointers to sqlite3_value structures containing
filtering criteria for the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)">
<summary>
<para>
The xNext method advances a virtual table cursor to the next row of
a result set initiated by xFilter. If the cursor is already
pointing at the last row when this routine is called, then the
cursor no longer points to valid data and a subsequent call to the
xEof method must return true (non-zero). If the cursor is
successfully advanced to another row of content, then subsequent
calls to xEof must return false (zero).
</para>
<para>
This method must return SQLITE_OK if successful, or an sqlite error
code if an error occurs.
</para>
<para>
The xNext method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)">
<summary>
<para>
The xEof method must return false (zero) if the specified cursor
currently points to a valid row of data, or true (non-zero)
otherwise. This method is called by the SQL engine immediately
after each xFilter and xNext invocation.
</para>
<para>
The xEof method is required for every virtual table implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
<para>
The SQLite core invokes this method in order to find the value for
the N-th column of the current row. N is zero-based so the first
column is numbered 0. The xColumn method may return its result back
to SQLite using one of the following interface:
</para>
<code>
sqlite3_result_blob()
sqlite3_result_double()
sqlite3_result_int()
sqlite3_result_int64()
sqlite3_result_null()
sqlite3_result_text()
sqlite3_result_text16()
sqlite3_result_text16le()
sqlite3_result_text16be()
sqlite3_result_zeroblob()
</code>
<para>
If the xColumn method implementation calls none of the functions
above, then the value of the column defaults to an SQL NULL.
</para>
<para>
To raise an error, the xColumn method should use one of the
result_text() methods to set the error message text, then return an
appropriate error code. The xColumn method must return SQLITE_OK on
success.
</para>
<para>
The xColumn method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="pContext">
The native pointer to the sqlite3_context structure to be used
for returning the specified column value to the SQLite core
library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
<para>
A successful invocation of this method will cause *pRowid to be
filled with the rowid of row that the virtual table cursor pCur is
currently pointing at. This method returns SQLITE_OK on success. It
returns an appropriate error code on failure.
</para>
<para>
The xRowid method is required for every virtual table
implementation.
</para>
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
<para>
All changes to a virtual table are made using the xUpdate method.
This one method can be used to insert, delete, or update.
</para>
<para>
The argc parameter specifies the number of entries in the argv
array. The value of argc will be 1 for a pure delete operation or
N+2 for an insert or replace or update where N is the number of
columns in the table. In the previous sentence, N includes any
hidden columns.
</para>
<para>
Every argv entry will have a non-NULL value in C but may contain
the SQL value NULL. In other words, it is always true that
argv[i]!=0 for i between 0 and argc-1. However, it might be the
case that sqlite3_value_type(argv[i])==SQLITE_NULL.
</para>
<para>
The argv[0] parameter is the rowid of a row in the virtual table
to be deleted. If argv[0] is an SQL NULL, then no deletion occurs.
</para>
<para>
The argv[1] parameter is the rowid of a new row to be inserted into
the virtual table. If argv[1] is an SQL NULL, then the
implementation must choose a rowid for the newly inserted row.
Subsequent argv[] entries contain values of the columns of the
virtual table, in the order that the columns were declared. The
number of columns will match the table declaration that the
xConnect or xCreate method made using the sqlite3_declare_vtab()
call. All hidden columns are included.
</para>
<para>
When doing an insert without a rowid (argc>1, argv[1] is an SQL
NULL), the implementation must set *pRowid to the rowid of the
newly inserted row; this will become the value returned by the
sqlite3_last_insert_rowid() function. Setting this value in all the
other cases is a harmless no-op; the SQLite engine ignores the
*pRowid return value if argc==1 or argv[1] is not an SQL NULL.
</para>
<para>
Each call to xUpdate will fall into one of cases shown below. Note
that references to argv[i] mean the SQL value held within the
argv[i] object, not the argv[i] object itself.
</para>
<code>
argc = 1
</code>
<para>
The single row with rowid equal to argv[0] is deleted. No
insert occurs.
</para>
<code>
argc > 1
argv[0] = NULL
</code>
<para>
A new row is inserted with a rowid argv[1] and column
values in argv[2] and following. If argv[1] is an SQL NULL,
the a new unique rowid is generated automatically.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] = argv[1]
</code>
<para>
The row with rowid argv[0] is updated with new values in
argv[2] and following parameters.
</para>
<code>
argc > 1
argv[0] ? NULL
argv[0] ? argv[1]
</code>
<para>
The row with rowid argv[0] is updated with rowid argv[1]
and new values in argv[2] and following parameters. This
will occur when an SQL statement updates a rowid, as in
the statement:
</para>
<code>
UPDATE table SET rowid=rowid+1 WHERE ...;
</code>
<para>
The xUpdate method must return SQLITE_OK if and only if it is
successful. If a failure occurs, the xUpdate must return an
appropriate error code. On a failure, the pVTab->zErrMsg element
may optionally be replaced with error message text stored in memory
allocated from SQLite using functions such as sqlite3_mprintf() or
sqlite3_malloc().
</para>
<para>
If the xUpdate method violates some constraint of the virtual table
(including, but not limited to, attempting to store a value of the
wrong datatype, attempting to store a value that is too large or
too small, or attempting to change a read-only value) then the
xUpdate must fail with an appropriate error code.
</para>
<para>
There might be one or more sqlite3_vtab_cursor objects open and in
use on the virtual table instance and perhaps even on the row of
the virtual table when the xUpdate method is invoked. The
implementation of xUpdate must be prepared for attempts to delete
or modify rows of the table out from other existing cursors. If the
virtual table cannot accommodate such changes, the xUpdate method
must return an error code.
</para>
<para>
The xUpdate method is optional. If the xUpdate pointer in the
sqlite3_module for a virtual table is a NULL pointer, then the
virtual table is read-only.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="argc">
The number of new or modified column values contained in
<paramref name="argv" />.
</param>
<param name="argv">
The array of native pointers to sqlite3_value structures containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
<para>
This method begins a transaction on a virtual table. This is method
is optional. The xBegin pointer of sqlite3_module may be NULL.
</para>
<para>
This method is always followed by one call to either the xCommit or
xRollback method. Virtual table transactions do not nest, so the
xBegin method will not be invoked more than once on a single
virtual table without an intervening call to either xCommit or
xRollback. Multiple calls to other methods can and likely will
occur in between the xBegin and the corresponding xCommit or
xRollback.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)">
<summary>
<para>
This method signals the start of a two-phase commit on a virtual
table. This is method is optional. The xSync pointer of
sqlite3_module may be NULL.
</para>
<para>
This method is only invoked after call to the xBegin method and
prior to an xCommit or xRollback. In order to implement two-phase
commit, the xSync method on all virtual tables is invoked prior to
invoking the xCommit method on any virtual table. If any of the
xSync methods fail, the entire transaction is rolled back.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to commit. This is
method is optional. The xCommit pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin and
xSync.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
<para>
This method causes a virtual table transaction to rollback. This is
method is optional. The xRollback pointer of sqlite3_module may be
NULL.
</para>
<para>
A call to this method always follows a prior call to xBegin.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="nArg">
The number of arguments to the function being sought.
</param>
<param name="zName">
The name of the function being sought.
</param>
<param name="callback">
Upon success, this parameter must be modified to contain the
delegate responsible for implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="callback" />.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
<para>
This method provides notification that the virtual table
implementation that the virtual table will be given a new name. If
this method returns SQLITE_OK then SQLite renames the table. If
this method returns an error code then the renaming is prevented.
</para>
<para>
The xRename method is required for every virtual table
implementation.
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="zNew">
The native pointer to the UTF-8 encoded string containing the new
name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
<para>
These methods provide the virtual table implementation an
opportunity to implement nested transactions. They are always
optional and will only be called in SQLite version 3.7.7 and later.
</para>
<para>
When xSavepoint(X,N) is invoked, that is a signal to the virtual
table X that it should save its current state as savepoint N. A
subsequent call to xRollbackTo(X,R) means that the state of the
virtual table should return to what it was when xSavepoint(X,R) was
last called. The call to xRollbackTo(X,R) will invalidate all
savepoints with N>R; none of the invalided savepoints will be
rolled back or released without first being reinitialized by a call
to xSavepoint(). A call to xRelease(X,M) invalidates all savepoints
where N>=M.
</para>
<para>
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will
ever be called except in between calls to xBegin() and either
xCommit() or xRollback().
</para>
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="iSavepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="T:System.Data.SQLite.ISQLiteManagedModule">
<summary>
This interface represents a virtual table implementation written in
managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.ISQLiteManagedModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteMemory">
<summary>
This class contains static methods that are used to allocate,
manipulate, and free native memory provided by the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)">
<summary>
Allocates at least the specified number of bytes of native memory
via the SQLite core library sqlite3_malloc() function and returns
the resulting native pointer.
</summary>
<param name="size">
The number of bytes to allocate.
</param>
<returns>
The native pointer that points to a block of memory of at least the
specified size -OR- <see cref="F:System.IntPtr.Zero"/> if the memory could
not be allocated.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Size(System.IntPtr)">
<summary>
Gets and returns the actual size of the specified memory block that
was previously obtained from the <see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
<returns>
The actual size, in bytes, of the memory block specified via the
native pointer.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMemory.Free(System.IntPtr)">
<summary>
Frees a memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</summary>
<param name="pMemory">
The native pointer to the memory block previously obtained from the
<see cref="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteString">
<summary>
This class contains static methods that are used to deal with native
UTF-8 string pointers to be used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.ThirtyBits">
<summary>
This is the maximum possible length for the native UTF-8 encoded
strings used with the SQLite core library.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteString.Utf8Encoding">
<summary>
This is the <see cref="T:System.Text.Encoding"/> object instance used to handle
conversions from/to UTF-8.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetUtf8BytesFromString(System.String)">
<summary>
Converts the specified managed string into the UTF-8 encoding and
returns the array of bytes containing its representation in that
encoding.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The array of bytes containing the representation of the managed
string in the UTF-8 encoding or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.GetStringFromUtf8Bytes(System.Byte[])">
<summary>
Converts the specified array of bytes representing a string in the
UTF-8 encoding and returns a managed string.
</summary>
<param name="bytes">
The array of bytes to convert.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.ProbeForUtf8ByteLength(System.IntPtr,System.Int32)">
<summary>
Probes a native pointer to a string in the UTF-8 encoding for its
terminating NUL character, within the specified length limit.
</summary>
<param name="pValue">
The native NUL-terminated string pointer.
</param>
<param name="limit">
The maximum length of the native string, in bytes.
</param>
<returns>
The length of the native string, in bytes -OR- zero if the length
could not be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr)">
<summary>
Converts the specified native NUL-terminated UTF-8 string pointer
into a managed string.
</summary>
<param name="pValue">
The native NUL-terminated UTF-8 string pointer.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr,System.Int32)">
<summary>
Converts the specified native UTF-8 string pointer of the specified
length into a managed string.
</summary>
<param name="pValue">
The native UTF-8 string pointer.
</param>
<param name="length">
The length of the native string, in bytes.
</param>
<returns>
The managed string or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrFromString(System.String)">
<summary>
Converts the specified managed string into a native NUL-terminated
UTF-8 string pointer using memory obtained from the SQLite core
library.
</summary>
<param name="value">
The managed string to convert.
</param>
<returns>
The native NUL-terminated UTF-8 string pointer or
<see cref="F:System.IntPtr.Zero"/> upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.StringArrayFromUtf8SizeAndIntPtr(System.Int32,System.IntPtr)">
<summary>
Converts a logical array of native NUL-terminated UTF-8 string
pointers into an array of managed strings.
</summary>
<param name="argc">
The number of elements in the logical array of native
NUL-terminated UTF-8 string pointers.
</param>
<param name="argv">
The native pointer to the logical array of native NUL-terminated
UTF-8 string pointers to convert.
</param>
<returns>
The array of managed strings or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrArrayFromStringArray(System.String[])">
<summary>
Converts an array of managed strings into an array of native
NUL-terminated UTF-8 string pointers.
</summary>
<param name="values">
The array of managed strings to convert.
</param>
<returns>
The array of native NUL-terminated UTF-8 string pointers or null
upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteBytes">
<summary>
This class contains static methods that are used to deal with native
pointers to memory blocks that logically contain arrays of bytes to be
used with the SQLite core library.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.FromIntPtr(System.IntPtr,System.Int32)">
<summary>
Converts a native pointer to a logical array of bytes of the
specified length into a managed byte array.
</summary>
<param name="pValue">
The native pointer to the logical array of bytes to convert.
</param>
<param name="length">
The length, in bytes, of the logical array of bytes to convert.
</param>
<returns>
The managed byte array or null upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteBytes.ToIntPtr(System.Byte[])">
<summary>
Converts a managed byte array into a native pointer to a logical
array of bytes.
</summary>
<param name="value">
The managed byte array to convert.
</param>
<returns>
The native pointer to a logical byte array or null upon failure.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteMarshal">
<summary>
This class contains static methods that are used to perform several
low-level data marshalling tasks between native and managed code.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.IntPtrForOffset(System.IntPtr,System.Int32)">
<summary>
Returns a new <see cref="T:System.IntPtr"/> object instance based on the
specified <see cref="T:System.IntPtr"/> object instance and an integer
offset.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location that the new
<see cref="T:System.IntPtr"/> object instance should point to.
</param>
<returns>
The new <see cref="T:System.IntPtr"/> object instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.RoundUp(System.Int32,System.Int32)">
<summary>
Rounds up an integer size to the next multiple of the alignment.
</summary>
<param name="size">
The size, in bytes, to be rounded up.
</param>
<param name="alignment">
The required alignment for the return value.
</param>
<returns>
The size, in bytes, rounded up to the next multiple of the
alignment. This value may end up being the same as the original
size.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.NextOffsetOf(System.Int32,System.Int32,System.Int32)">
<summary>
Determines the offset, in bytes, of the next structure member.
</summary>
<param name="offset">
The offset, in bytes, of the current structure member.
</param>
<param name="size">
The size, in bytes, of the current structure member.
</param>
<param name="alignment">
The alignment, in bytes, of the next structure member.
</param>
<returns>
The offset, in bytes, of the next structure member.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadInt32(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Int32"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.Int32"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadDouble(System.IntPtr,System.Int32)">
<summary>
Reads a <see cref="T:System.Double"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> to be read is located.
</param>
<returns>
The <see cref="T:System.Double"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.ReadIntPtr(System.IntPtr,System.Int32)">
<summary>
Reads an <see cref="T:System.IntPtr"/> value from the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be read is located.
</param>
<returns>
The <see cref="T:System.IntPtr"/> value at the specified memory location.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt32(System.IntPtr,System.Int32,System.Int32)">
<summary>
Writes an <see cref="T:System.Int32"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int32"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int32"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt64(System.IntPtr,System.Int32,System.Int64)">
<summary>
Writes an <see cref="T:System.Int64"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Int64"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Int64"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteDouble(System.IntPtr,System.Int32,System.Double)">
<summary>
Writes a <see cref="T:System.Double"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.Double"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.Double"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.WriteIntPtr(System.IntPtr,System.Int32,System.IntPtr)">
<summary>
Writes a <see cref="T:System.IntPtr"/> value to the specified memory
location.
</summary>
<param name="pointer">
The <see cref="T:System.IntPtr"/> object instance representing the base
memory location.
</param>
<param name="offset">
The integer offset from the base memory location where the
<see cref="T:System.IntPtr"/> value to be written is located.
</param>
<param name="value">
The <see cref="T:System.IntPtr"/> value to write.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteMarshal.GetHashCode(System.Object,System.Boolean)">
<summary>
Generates a hash code value for the object.
</summary>
<param name="value">
The object instance used to calculate the hash code.
</param>
<param name="identity">
Non-zero if different object instances with the same value should
generate different hash codes, where applicable. This parameter
has no effect on the .NET Compact Framework.
</param>
<returns>
The hash code value -OR- zero if the object is null.
</returns>
</member>
<member name="T:System.Data.SQLite.SQLiteModule">
<summary>
This class represents a managed virtual table module implementation.
It is not sealed and must be used as the base class for any
user-defined virtual table module classes implemented in managed code.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.DefaultModuleVersion">
<summary>
The default version of the native sqlite3_module structure in use.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.nativeModule">
<summary>
This field is used to store the native sqlite3_module structure
associated with this object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.destroyModule">
<summary>
This field is used to store the destructor delegate to be passed to
the SQLite core library via the sqlite3_create_disposable_module()
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.disposableModule">
<summary>
This field is used to store a pointer to the native sqlite3_module
structure returned by the sqlite3_create_disposable_module
function.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.tables">
<summary>
This field is used to store the virtual table instances associated
with this module. The native pointer to the sqlite3_vtab derived
structure is used to key into this collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.cursors">
<summary>
This field is used to store the virtual table cursor instances
associated with this module. The native pointer to the
sqlite3_vtab_cursor derived structure is used to key into this
collection.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.functions">
<summary>
This field is used to store the virtual table function instances
associated with this module. The case-insensitive function name
and the number of arguments (with -1 meaning "any") are used to
construct the string that is used to key into this collection.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateDisposableModule(System.IntPtr)">
<summary>
Calls the native SQLite core library in order to create a new
disposable module containing the implementation of a virtual table.
</summary>
<param name="pDb">
The native database connection pointer to use.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroyModule(System.IntPtr)">
<summary>
This method is called by the SQLite core library when the native
module associated with this object instance is being destroyed due
to its parent connection being closed. It may also be called by
the "vtshim" module if/when the sqlite3_dispose_module() function
is called.
</summary>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule">
<summary>
Creates and returns the native sqlite_module structure using the
configured (or default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation.
</summary>
<returns>
The native sqlite_module structure using the configured (or
default) <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule(System.Data.SQLite.ISQLiteNativeModule)">
<summary>
Creates and returns the native sqlite_module structure using the
specified <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
use.
</param>
<returns>
The native sqlite_module structure using the specified
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CopyNativeModule(System.Data.SQLite.UnsafeNativeMethods.sqlite3_module)">
<summary>
Creates a copy of the specified
<see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object instance,
using default implementations for the contained delegates when
necessary.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance to copy.
</param>
<returns>
The new <see cref="T:System.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
Calls one of the virtual table initialization methods.
</summary>
<param name="create">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method; otherwise, the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
method will be called.
</param>
<param name="pDb">
The native database connection handle.
</param>
<param name="pAux">
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
</param>
<param name="argc">
The number of arguments from the CREATE VIRTUAL TABLE statement.
</param>
<param name="argv">
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
</param>
<param name="pVtab">
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
</param>
<param name="pError">
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DestroyOrDisconnect(System.Boolean,System.IntPtr)">
<summary>
Calls one of the virtual table finalization methods.
</summary>
<param name="destroy">
Non-zero to call the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/>
method; otherwise, the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method will be
called.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTable,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
used to get the native pointer to the sqlite3_vtab derived
structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTableCursor,System.Boolean,System.Boolean,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="logErrors">
Non-zero if this error message should also be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="logExceptions">
Non-zero if caught exceptions should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetNativeModuleImpl">
<summary>
Gets and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface
implementation to be used when creating the native sqlite3_module
structure. Derived classes may override this method to supply an
alternate implementation for the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
be used when populating the native sqlite3_module structure. If
the returned value is null, the private methods provided by the
<see cref="T:System.Data.SQLite.SQLiteModule"/> class and relating to the
<see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface will be used to
create the necessary delegates.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CreateNativeModuleImpl">
<summary>
Creates and returns the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface implementation corresponding to the current
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> interface implementation
corresponding to the current <see cref="T:System.Data.SQLite.SQLiteModule"/> object
instance.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateTable">
<summary>
Allocates a native sqlite3_vtab derived structure and returns a
native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.ZeroTable(System.IntPtr)">
<summary>
Zeros out the fields of a native sqlite3_vtab derived structure.
</summary>
<param name="pVtab">
The native pointer to the native sqlite3_vtab derived structure to
zero.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeTable(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab structure using the provided native
pointer to it.
</summary>
<param name="pVtab">
A native pointer to a native sqlite3_vtab derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.AllocateCursor">
<summary>
Allocates a native sqlite3_vtab_cursor derived structure and
returns a native pointer to it.
</summary>
<returns>
A native pointer to a native sqlite3_vtab_cursor derived structure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FreeCursor(System.IntPtr)">
<summary>
Frees a native sqlite3_vtab_cursor structure using the provided
native pointer to it.
</summary>
<param name="pCursor">
A native pointer to a native sqlite3_vtab_cursor derived structure.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.Data.SQLite.SQLiteModule,System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance to be used.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.IntPtr)">
<summary>
Reads and returns the native pointer to the sqlite3_vtab derived
structure based on the native pointer to the sqlite3_vtab_cursor
derived structure.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure
from which to read the native pointer to the sqlite3_vtab derived
structure.
</param>
<returns>
The native pointer to the sqlite3_vtab derived structure -OR-
<see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableFromIntPtr(System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object
instance based on the native pointer to the sqlite3_vtab derived
structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance or null if
the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.TableToIntPtr(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab derived
structure and creates an association between it and the specified
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance to be used
when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorFromIntPtr(System.IntPtr,System.IntPtr)">
<summary>
Looks up and returns the <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/>
object instance based on the native pointer to the
sqlite3_vtab_cursor derived structure.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived structure.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance or null
if the corresponding one cannot be found.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CursorToIntPtr(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Allocates and returns a native pointer to a sqlite3_vtab_cursor
derived structure and creates an association between it and the
specified <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance to be
used when creating the association.
</param>
<returns>
The native pointer to a sqlite3_vtab_cursor derived structure or
<see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.GetFunctionKey(System.Int32,System.String,System.Data.SQLite.SQLiteFunction)">
<summary>
Deterimines the key that should be used to identify and store the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance for the virtual table
(i.e. to be returned via the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method).
</summary>
<param name="argumentCount">
The number of arguments to the virtual table function.
</param>
<param name="name">
The name of the virtual table function.
</param>
<param name="function">
The <see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance associated with
this virtual table function.
</param>
<returns>
The string that should be used to identify and store the virtual
table function instance. This method cannot return null. If null
is returned from this method, the behavior is undefined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareTable(System.Data.SQLite.SQLiteConnection,System.String,System.String@)">
<summary>
Attempts to declare the schema for the virtual table using the
specified database connection.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table. This parameter may not
be null.
</param>
<param name="sql">
The string containing the CREATE TABLE statement that completely
describes the schema for the virtual table. This parameter may not
be null.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.DeclareFunction(System.Data.SQLite.SQLiteConnection,System.Int32,System.String,System.String@)">
<summary>
Calls the native SQLite core library in order to declare a virtual
table function in response to a call into the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
or <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table
methods.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance to use when
declaring the schema of the virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being declared.
</param>
<param name="name">
The name of the function being declared.
</param>
<param name="error">
Upon success, the contents of this parameter are undefined. Upon
failure, it should contain an appropriate error message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteVirtualTableCursor,System.String)">
<summary>
Arranges for the specified error message to be placed into the
zErrMsg field of a sqlite3_vtab derived structure, freeing the
existing error message, if any.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
lookup the native pointer to the sqlite3_vtab derived structure.
</param>
<param name="error">
The error message.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Double})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedCost">
The estimated cost value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated cost.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Int64})">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the specified estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<param name="estimatedRows">
The estimated rows value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex)">
<summary>
Modifies the specified <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance
to contain the default estimated rows.
</summary>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance to modify.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="connection">
The <see cref="T:System.Data.SQLite.SQLiteConnection"/> object instance associated with
the virtual table.
</param>
<param name="pClientData">
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
</param>
<param name="arguments">
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
</param>
<param name="table">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
the virtual table.
</param>
<param name="error">
Upon failure, this parameter must be modified to contain an error
message.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="index">
The <see cref="T:System.Data.SQLite.SQLiteIndex"/> object instance containing all the
data for the inputs and outputs relating to index selection.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="cursor">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
with the newly opened virtual table cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="indexNumber">
Number used to help identify the selected index.
</param>
<param name="indexString">
String used to help identify the selected index.
</param>
<param name="values">
The values corresponding to each column in the selected index.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<returns>
Non-zero if no more rows are available; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="context">
The <see cref="T:System.Data.SQLite.SQLiteContext"/> object instance to be used for
returning the specified column value to the SQLite core library.
</param>
<param name="index">
The zero-based index corresponding to the column containing the
value to be returned.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="values">
The array of <see cref="T:System.Data.SQLite.SQLiteValue"/> object instances containing
the new or modified column values, if any.
</param>
<param name="rowId">
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="argumentCount">
The number of arguments to the function being sought.
</param>
<param name="name">
The name of the function being sought.
</param>
<param name="function">
Upon success, this parameter must be modified to contain the
<see cref="T:System.Data.SQLite.SQLiteFunction"/> object instance responsible for
implementing the specified function.
</param>
<param name="pClientData">
Upon success, this parameter must be modified to contain the
native user-data pointer associated with
<paramref name="function"/>.
</param>
<returns>
Non-zero if the specified function was found; zero otherwise.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="newName">
The new name for the virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier under which the the current state of
the virtual table should be saved.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the
virtual table.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
This method is called in response to the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this virtual table.
</param>
<param name="savepoint">
This is an integer identifier used to specify a specific saved
state for the virtual table for it to restore itself back to, which
should also have the effect of deleting all saved states with an
integer identifier greater than this one.
</param>
<returns>
A standard SQLite return code.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrorsNoThrow">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptionsNoThrow">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method,
the <see cref="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method,
and the <see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogErrors">
<summary>
Returns or sets a boolean value indicating whether virtual table
errors should be logged using the <see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.LogExceptions">
<summary>
Returns or sets a boolean value indicating whether exceptions
caught in the
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
<see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method, and the
<see cref="M:System.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
<see cref="T:System.Data.SQLite.SQLiteLog"/> class.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Declared">
<summary>
Returns non-zero if the schema for the virtual table has been
declared.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteModule.Name">
<summary>
Returns the name of the module as it was registered with the SQLite
core library.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModule.SQLiteNativeModule">
<summary>
This class implements the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface by forwarding those method calls to the
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance it contains. If the
contained <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is null, all
the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/> methods simply generate an
error.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogErrors">
<summary>
This is the value that is always used for the "logErrors"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogExceptions">
<summary>
This is the value that is always used for the "logExceptions"
parameter to the various static error handling methods provided
by the <see cref="T:System.Data.SQLite.SQLiteModule"/> class.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableErrorMessage">
<summary>
This is the error message text used when the contained
<see cref="T:System.Data.SQLite.SQLiteModule"/> object instance is not available
for any reason.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.module">
<summary>
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.#ctor(System.Data.SQLite.SQLiteModule)">
<summary>
Constructs an instance of this class.
</summary>
<param name="module">
The <see cref="T:System.Data.SQLite.SQLiteModule"/> object instance used to provide
an implementation of the <see cref="T:System.Data.SQLite.ISQLiteNativeModule"/>
interface.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableTableError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pVtab">
The native pointer to the sqlite3_vtab derived structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableCursorError(System.IntPtr)">
<summary>
Sets the table error message to one that indicates the native
module implementation is not available.
</summary>
<param name="pCursor">
The native pointer to the sqlite3_vtab_cursor derived
structure.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</summary>
<param name="pDb">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pAux">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<param name="pError">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="pIndex">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDisconnect(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDestroy(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xClose(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxNum">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="idxStr">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xNext(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xEof(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="pContext">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pCursor">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argc">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="argv">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBegin(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSync(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCommit(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollback(System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="nArg">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="zName">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="callback">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<param name="zNew">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</summary>
<param name="pVtab">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<param name="iSavepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose">
<summary>
Disposes of this object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose"/> method. Zero if this method is being
called from the finalizer.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Finalize">
<summary>
Finalizes this object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleCommon">
<summary>
This class contains some virtual methods that may be useful for other
virtual table classes. It specifically does NOT implement any of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleNoop">
<summary>
This class implements a virtual table module that does nothing by
providing "empty" implementations for all of the
<see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods. The result
codes returned by these "empty" method implementations may be
controlled on a per-method basis by using and/or overriding the
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)"/>,
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)"/>, and
<see cref="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)"/> methods from within derived classes.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleNoop.resultCodes">
<summary>
This field is used to store the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/>
values to return, on a per-method basis, for all methods that are
part of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode">
<summary>
Determines the default <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to be
returned by methods of the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface that lack an overridden implementation in all classes
derived from the <see cref="T:System.Data.SQLite.SQLiteModuleNoop"/> class.
</summary>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by all <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface methods unless
a more specific result code has been set for that interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)">
<summary>
Converts a <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value into a boolean
return value for use with the
<see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value to convert.
</param>
<returns>
The <see cref="T:System.Boolean"/> value.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)">
<summary>
Determines the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation. If no
specific <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value is available (or set)
for the specified method, the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value
returned by the <see cref="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/> method will be
returned instead.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<returns>
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)">
<summary>
Sets the <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be
returned by the specified <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/>
interface method if it lack an overridden implementation.
</summary>
<param name="methodName">
The name of the method. Currently, this method must be part of
the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface.
</param>
<param name="resultCode">
The <see cref="T:System.Data.SQLite.SQLiteErrorCode"/> value that should be returned
by the <see cref="T:System.Data.SQLite.ISQLiteManagedModule"/> interface method.
</param>
<returns>
Non-zero upon success.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Begin(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Sync(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Commit(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="argumentCount">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="name">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="function">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<param name="savepoint">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleNoop.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.declareSql">
<summary>
The CREATE TABLE statement used to declare the schema for the
virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleCommon.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetSqlForDeclareTable">
<summary>
Determines the SQL statement used to declare the virtual table.
This method should be overridden in derived classes if they require
a custom virtual table schema.
</summary>
<returns>
The SQL statement used to declare the virtual table -OR- null if it
cannot be determined.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CursorTypeMismatchError(System.Data.SQLite.SQLiteVirtualTableCursor,System.Type)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor is of the wrong type.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<param name="type">
The <see cref="T:System.Type"/> that the virtual table cursor should be.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetStringFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the string to return as the column value for the object
instance value.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a string representation for.
</param>
<returns>
The string representation of the specified object instance or null
upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.MakeRowId(System.Int32,System.Int32)">
<summary>
Constructs an <see cref="T:System.Int64"/> unique row identifier from two
<see cref="T:System.Int32"/> values. The first <see cref="T:System.Int32"/> value
must contain the row sequence number for the current row and the
second value must contain the hash code of the key column value
for the current row.
</summary>
<param name="rowIndex">
The integer row sequence number for the current row.
</param>
<param name="hashCode">
The hash code of the key column value for the current row.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.GetRowIdFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
<summary>
Determines the unique row identifier for the current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
associated with the previously opened virtual table cursor to be
used.
</param>
<param name="value">
The object instance to return a unique row identifier for.
</param>
<returns>
The unique row identifier or zero upon failure.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleCommon.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.enumerator">
<summary>
The <see cref="T:System.Collections.IEnumerator"/> instance provided when this cursor
was created.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.endOfEnumerator">
<summary>
This value will be non-zero if false has been returned from the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.IEnumerator)">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.IEnumerator"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.MoveNext">
<summary>
Advances to the next row of the virtual table cursor using the
<see cref="M:System.Collections.IEnumerator.MoveNext"/> method of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
<returns>
Non-zero if the current row is valid; zero otherwise. If zero is
returned, no further rows are available.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Reset">
<summary>
Resets the virtual table cursor position, also invalidating the
current row, using the <see cref="M:System.Collections.IEnumerator.Reset"/> method of
the <see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckClosed">
<summary>
Throws an <see cref="T:System.InvalidOperationException"/> if the virtual
table cursor has been closed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.IEnumerator.Current"/> property of the
<see cref="T:System.Collections.IEnumerator"/> object instance.
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.EndOfEnumerator">
<summary>
Returns non-zero if the end of the virtual table cursor has been
seen (i.e. no more rows are available, including the current one).
</summary>
</member>
<member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.IsOpen">
<summary>
Returns non-zero if the virtual table cursor is open.
</summary>
</member>
<member name="T:System.Data.SQLite.SQLiteModuleEnumerable">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.IEnumerable"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.IEnumerable"/> object instance. The following short
example shows it being used to treat an array of strings as a table
data source:
<code>
public static class Sample
{
public static void Main()
{
using (SQLiteConnection connection = new SQLiteConnection(
"Data Source=:memory:;"))
{
connection.Open();
connection.CreateModule(new SQLiteModuleEnumerable(
"sampleModule", new string[] { "one", "two", "three" }));
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText =
"CREATE VIRTUAL TABLE t1 USING sampleModule;";
command.ExecuteNonQuery();
}
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT * FROM t1;";
using (SQLiteDataReader dataReader = command.ExecuteReader())
{
while (dataReader.Read())
Console.WriteLine(dataReader[0].ToString());
}
}
connection.Close();
}
}
}
</code>
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.enumerable">
<summary>
The <see cref="T:System.Collections.IEnumerable"/> instance containing the backing data
for the virtual table.
</summary>
</member>
<member name="F:System.Data.SQLite.SQLiteModuleEnumerable.objectIdentity">
<summary>
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This has no
effect on the .NET Compact Framework.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable,System.Boolean)">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
<param name="objectIdentity">
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This
parameter has no effect on the .NET Compact Framework.
</param>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CursorEndOfEnumeratorError(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
Sets the table error message to one that indicates the virtual
table cursor has no current row.
</summary>
<param name="cursor">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
</param>
<returns>
The value of <see cref="F:System.Data.SQLite.SQLiteErrorCode.Error"/>.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</summary>
<param name="connection">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="pClientData">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="arguments">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<param name="error">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexNumber">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="indexString">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="values">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<param name="rowId">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<param name="newName">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1">
<summary>
This class represents a virtual table cursor to be used with the
<see cref="T:System.Data.SQLite.SQLiteModuleEnumerable"/> class. It is not sealed and may
be used as the base class for any user-defined virtual table cursor
class that wraps an <see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.enumerator">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance provided when this
cursor was created.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.Generic.IEnumerator{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="table">
The <see cref="T:System.Data.SQLite.SQLiteVirtualTable"/> object instance associated
with this object instance.
</param>
<param name="enumerator">
The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance to expose as a virtual
table cursor.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Close">
<summary>
Closes the virtual table cursor. This method must not throw any
exceptions.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
<member name="P:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.System#Collections#Generic#IEnumerator{T}#Current">
<summary>
Returns the value for the current row of the virtual table cursor
using the <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property of the
<see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
</summary>
</member>
<member name="T:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1">
<summary>
This class implements a virtual table module that exposes an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance as a read-only virtual
table. It is not sealed and may be used as the base class for any
user-defined virtual table class that wraps an
<see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance.
</summary>
</member>
<member name="F:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.enumerable">
<summary>
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance containing the backing
data for the virtual table.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.#ctor(System.String,System.Collections.Generic.IEnumerable{`0})">
<summary>
Constructs an instance of this class.
</summary>
<param name="name">
The name of the module. This parameter cannot be null.
</param>
<param name="enumerable">
The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance to expose as a virtual
table. This parameter cannot be null.
</param>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</summary>
<param name="table">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
<summary>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</summary>
<param name="cursor">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="context">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<param name="index">
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</param>
<returns>
See the <see cref="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
</returns>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.CheckDisposed">
<summary>
Throws an <see cref="T:System.ObjectDisposedException"/> if this object
instance has been disposed.
</summary>
</member>
<member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Dispose(System.Boolean)">
<summary>
Disposes of this object instance.
</summary>
<param name="disposing">
Non-zero if this method is being called from the
<see cref="M:System.IDisposable.Dispose"/> method. Zero if this method is
being called from the finalizer.
</param>
</member>
</members>
</doc>
/MKLiveView/v1.0/Source/SerialPortCtrl.xaml
0,0 → 1,27
<UserControl x:Class="MKLiveView.SerialPortCtrl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:MKLiveView"
mc:Ignorable="d" Width="207" Height="262">
<Grid Margin="0,0,0,-16" HorizontalAlignment="Left" Width="207">
<Border BorderBrush="#FFE4E4E4" BorderThickness="1"/>
<Button x:Name="buttonOpen" Content="Open" HorizontalAlignment="Left" Height="32" VerticalAlignment="Top" Width="110" Margin="82,22,-15.121,0" Click="buttonOpen_Click"/>
<Button x:Name="buttonClose" Content="Close" HorizontalAlignment="Left" Height="32" VerticalAlignment="Top" Width="110" Margin="82,56,-15.121,0" Click="buttonClose_Click"/>
<TextBox x:Name="textBoxStatus" HorizontalAlignment="Left" Height="25" Margin="82,90,-15.121,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="110" FontSize="14" Background="#FFEAE8E8"/>
<Label x:Name="label" Content="Status" HorizontalAlignment="Left" Height="19" Margin="7,93,0,0" VerticalAlignment="Top" Width="60" Padding="0" Foreground="White" FontSize="14"/>
<TextBox x:Name="textBoxBaudRate" HorizontalAlignment="Left" Height="19" Margin="82,143,-15.121,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="110" Text="57600"/>
<Label x:Name="label_Copy" Content="Baudrate" HorizontalAlignment="Left" Height="19" Margin="7,143,0,0" VerticalAlignment="Top" Width="60" Padding="0" Foreground="White" FontSize="14"/>
<Label x:Name="label_Copy1" Content="Port" HorizontalAlignment="Left" Height="19" Margin="7,121,0,0" VerticalAlignment="Top" Width="60" Padding="0" Foreground="White" FontSize="14"/>
<Label x:Name="label_Copy2" Content="Stopbits" HorizontalAlignment="Left" Height="19" Margin="7,187,0,0" VerticalAlignment="Top" Width="60" Padding="0" Foreground="White" FontSize="14"/>
<Label x:Name="label_Copy3" Content="Parity" HorizontalAlignment="Left" Height="19" Margin="7,210,0,0" VerticalAlignment="Top" Width="60" Padding="0" Foreground="White" FontSize="14"/>
<ComboBox x:Name="comboBoxPortName" HorizontalAlignment="Left" Height="21" Margin="82,120,-15.121,0" VerticalAlignment="Top" Width="110"/>
<ComboBox x:Name="comboBoxStopBits" HorizontalAlignment="Left" Height="21" Margin="82,186,-15.121,0" VerticalAlignment="Top" Width="110"/>
<ComboBox x:Name="comboBoxParity" HorizontalAlignment="Left" Height="21" Margin="82,209,-15.121,0" VerticalAlignment="Top" Width="110"/>
<Button x:Name="btnRefresh" Content="refresh portlist" HorizontalAlignment="Left" Height="32" VerticalAlignment="Top" Width="110" Margin="82,234,-15.121,-3.603" Click="btnRefresh_Click"/>
<Label x:Name="label_Copy4" Content="Serial port connection" HorizontalAlignment="Left" Height="19" Margin="7,1,0,0" VerticalAlignment="Top" Width="134" Padding="0" Foreground="White" FontSize="13"/>
<TextBox x:Name="textBoxDataBits" HorizontalAlignment="Left" Height="19" Margin="82,164,-15.121,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="110"/>
<Label x:Name="label_Copy5" Content="Databits" HorizontalAlignment="Left" Height="19" Margin="7,164,0,0" VerticalAlignment="Top" Width="60" Padding="0" Foreground="White" FontSize="14"/>
</Grid>
</UserControl>
/MKLiveView/v1.0/Source/SerialPortCtrl.xaml.cs
0,0 → 1,256
///============================================================================
/// This file is part of MIKROKOPTER SERIAL CONTROL TUTORIAL.
/// by JOHN C. MACDONALD at Ira A. Fulton College of Engineering and Technology
/// (http://hdl.lib.byu.edu/1877/2747)
/// (http://hdl.lib.byu.edu/1877/2748)
///============================================================================
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO.Ports;
 
namespace MKLiveView
{
public partial class SerialPortCtrl : UserControl
{
private SerialPort port;
 
public event PortOpenedHandler PortOpened;
public delegate void PortOpenedHandler();
public event PortClosedHandler PortClosed;
public delegate void PortClosedHandler();
public event DataReceivedHandler DataReceived;
public delegate void DataReceivedHandler(byte[] buffer);
 
public SerialPortCtrl()
{
InitializeComponent();
port = new SerialPort();
port.ReadTimeout = 10000;
port.WriteTimeout = 1000;
textBoxStatus.Text = "closed";
textBoxBaudRate.Text = "57600";
textBoxDataBits.Text = port.DataBits.ToString();
populateComboBoxes();
setComboBoxDefaultValues();
}
 
public SerialPort Port
{
get
{
return port;
}
}
 
public void Connect(bool bConn)
{
if (bConn)
Dispatcher.Invoke((Action)(() => buttonOpen_Click(null, null)));
else
Dispatcher.Invoke((Action)(() => buttonClose_Click(null, null)));
}
private void buttonOpen_Click(object sender, RoutedEventArgs e)
{
try
{
if (port.IsOpen == true)
{
port.DataReceived -= SerialPortDataReceived;
port.Close();
}
 
lastoffset = 0;
append = false;
 
port.PortName = comboBoxPortName.Text;
port.BaudRate = Convert.ToInt32(textBoxBaudRate.Text);
port.DataBits = Convert.ToInt32(textBoxDataBits.Text);
port.StopBits = (StopBits)Enum.Parse(typeof(StopBits), comboBoxStopBits.Text);
port.Parity = (Parity)Enum.Parse(typeof(Parity), comboBoxParity.Text);
port.DataReceived += SerialPortDataReceived;
 
port.Open();
textBoxStatus.Text = "open";
textBoxStatus.Background = Brushes.LightGreen;
if (PortOpened != null)
{
// PortOpened(port.BaseStream);
PortOpened();
}
}
catch (Exception ex)
{
textBoxStatus.Text = "error: " + ex;
textBoxStatus.Background = Brushes.Coral;
}
}
private void buttonClose_Click(object sender, RoutedEventArgs e)
{
port.DataReceived -= SerialPortDataReceived;
port.Close();
if (PortClosed != null)
PortClosed();
textBoxStatus.Text = "closed";
textBoxStatus.Background = Brushes.LightGray;
lastoffset = 0;
append = false;
}
 
public string[] getPortNameValues()
{
try
{
return SerialPort.GetPortNames().Reverse().ToArray();
}
catch
{
return new string[0];
}
}
 
public string[] getStopBitValues()
{
return Enum.GetNames(typeof(StopBits));
}
 
public string[] getParityValues()
{
return Enum.GetNames(typeof(Parity));
}
 
private void populateComboBoxes()
{
comboBoxPortName.ItemsSource = getPortNameValues();
comboBoxStopBits.ItemsSource = getStopBitValues();
comboBoxParity.ItemsSource = getParityValues();
}
 
private void setComboBoxDefaultValues()
{
try { comboBoxPortName.SelectedIndex = 0; }
catch { }
try { comboBoxStopBits.SelectedIndex = 1; }
catch { }
try { comboBoxParity.SelectedIndex = 0; }
catch { }
}
 
byte[] messageBuffer = new byte[4096];
int lastoffset = 0;
bool append = false;
byte sentinel = Convert.ToByte('\r');
 
object oLock = 0;
private void SerialPortDataReceived(object sender, SerialDataReceivedEventArgs e)
{
System.Threading.Monitor.Enter(oLock);
int offset = 0;
try
{
byte[] buffer = new byte[port.BytesToRead];
port.Read(buffer, 0, port.BytesToRead);
 
bool bFound = false;
for (int i = 0; (i < buffer.Length) && port.IsOpen; i++)
{
if (buffer[i] == sentinel)
{
if (!append)
{
byte[] message = new byte[i + 1 - offset];
if (buffer[offset] != '#')
System.Diagnostics.Debug.Print(buffer[offset].ToString());
Buffer.BlockCopy(buffer, offset, message, 0, i + 1 - offset);
if (DataReceived != null)
DataReceived(message);
}
else
{
 
Buffer.BlockCopy(buffer, 0, messageBuffer, lastoffset, i + 1);
byte[] message = new byte[lastoffset + i + 1];
Buffer.BlockCopy(messageBuffer, 0, message, 0, message.Length);
messageBuffer.Initialize();
append = false;
lastoffset = 0;
// System.Diagnostics.Debug.Print(message.Length.ToString());
// System.Diagnostics.Debug.Print(BitConverter.ToString(message));
if (DataReceived != null)
DataReceived(message);
}
offset = i + 1;
if (buffer.Length > i + 1)
{
//offset = i + 1;
bFound = false;
}
else
{
// offset = 0;
bFound = true;
}
 
 
}
 
}
if (!bFound && port.IsOpen)
{
if (!append)
{
if (buffer[offset] != '#')
System.Diagnostics.Debug.Print(buffer[offset].ToString("X2"));
Buffer.BlockCopy(buffer, offset, messageBuffer, 0, buffer.Length - offset);
lastoffset = (buffer.Length - offset);
}
else
{
if (messageBuffer[0] != '#')
System.Diagnostics.Debug.Print(buffer[0].ToString("X2"));
Buffer.BlockCopy(buffer, offset, messageBuffer, lastoffset, buffer.Length - offset);
 
lastoffset += (buffer.Length - offset);
}
append = true;
 
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print(ex.Message);
}
finally
{
System.Threading.Monitor.Exit(oLock);
}
 
 
}
 
private void btnRefresh_Click(object sender, RoutedEventArgs e)
{
if (!port.IsOpen)
{
// comboBoxPortName.Items.Clear();
comboBoxPortName.ItemsSource = getPortNameValues();
}
else
MessageBox.Show("Port has to be closed!");
}
 
}
 
}
/MKLiveView/v1.0/Source/Voice/CriticalBattery.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Voice/LowBattery.mp3
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/MKLiveView/v1.0/Source/Waypoints.cs
0,0 → 1,122
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
 
namespace MKLiveView
{
static class Waypoints
{
 
enum pointType
{
INVALID= 255,
WP = 0,
POI = 1
}
 
enum status
{
INVALID= 255,
NEW = 0,
DONE = 1
}
 
static string CAMAngle(int iVal)
{
if (iVal == 255)
return "Auto";
if (iVal < 0)
return "POI " + iVal.ToString();
if (iVal == 0)
return "- - -";
 
return iVal.ToString();
}
 
static string WPSpeed(int iVal)
{
if (iVal == 0)
return "MAX";
if (iVal > 0 && iVal < 248)
return ((double)iVal * 0.1).ToString("0.0 m/s");
if (iVal < 247)
return "Poti" + (256 - iVal).ToString();
 
return iVal.ToString();
}
 
public static DataRow toDataRow(byte[]data, DataRow dr)
{
double longitude = 0, latitude = 0, altitude = 0;
int pstatus = 0, heading = 0, tolRadius = 0, holdTime = 0, eventFlag = 0, index = 0, type = 0, WPeventChanVal = 0, altitudeRate = 0, speed = 0, camAngle = 0, autoTrigger=0;
string name = "";
 
if (data.Length >= 28)
{
int i_32, iVal;
i_32 = data[5];
iVal = i_32 << 24;
i_32 = data[4];
iVal += i_32 << 16;
i_32 = data[3];
iVal += i_32 << 8;
iVal += data[2];
 
longitude = (double)iVal / Math.Pow(10, 7);
 
i_32 = data[9];
iVal = i_32 << 24;
i_32 = data[8];
iVal += i_32 << 16;
i_32 = data[7];
iVal += i_32 << 8;
iVal += data[6];
latitude = (double)iVal / Math.Pow(10, 7);
 
 
i_32 = data[13];
iVal = i_32 << 24;
i_32 = data[12];
iVal += i_32 << 16;
i_32 = data[11];
iVal += i_32 << 8;
iVal += data[10];
altitude = (double)iVal / Math.Pow(10, 7);
 
pstatus = data[14];
 
i_32 = data[16];
iVal = i_32 << 8;
iVal += data[15];
 
heading = iVal;
tolRadius = data[17];
holdTime = data[18];
eventFlag = data[19];
index = data[1];
// index = data[20];
type = data[21];
WPeventChanVal = data[22];
altitudeRate = data[23];
speed = data[24];
camAngle = data[25];
 
name = new string(ASCIIEncoding.ASCII.GetChars(data, 26, 4)).Trim('\0');
 
autoTrigger = data[30];
 
dr.ItemArray = new object[] { data[1], ((pointType)type).ToString(), name, longitude, latitude, altitude, heading, WPSpeed(speed), altitudeRate, tolRadius, holdTime, autoTrigger, CAMAngle(camAngle), eventFlag, WPeventChanVal, ((status)pstatus).ToString() };
// dr.ItemArray = new object[] {data[1],((pointType)type).ToString(),name,longitude,latitude,altitude,heading,speed,altitudeRate,tolRadius,holdTime,autoTrigger, CAMAngle(camAngle),((status)pstatus).ToString() };
return dr;
 
}
return null;
 
 
}
 
 
}
}